AWS 実践 02

Session ManagerでRDSへ安全に入る

RDSを公開せず、IAMで認証された踏み台を経由して、ローカルから必要な時だけ接続する。

TL;DR
  1. DBはPrivateのままにする。
  2. 22番を開けずにSession Managerで入る。
  3. localhost:15432をRDS:5432へ中継する。

01 全体像 — 専用通路を作る

PC→Session Manager→踏み台EC2→Private RDS。TablePlusはローカルの入口へ接続し、SSMがRDSへ中継する。

PCからSession Managerと踏み台を経由してRDSへつながる図
DBは外に出さず、管理経路だけを必要時に開く。
要点: 踏み台はDBを公開するためのサーバーではなく、到達元を限定する中継点。

02 権限と通信 — 2つの門を通る

IAMとSecurity Groupの図
IAMは誰が始められるか、Security Groupはどこへ通信できるかを制御する。
決めること
IAMロール踏み台がSession Managerで管理されること
踏み台SG踏み台の通信範囲
RDS SG踏み台からの5432番だけを許可

03 ポートフォワード — ローカルの入口を変換する

ローカル15432とRDS5432をつなぐ図
教材ではローカルPostgreSQLとの衝突を避け15432を使う。
localhost:15432 → Session Manager → bastion → RDS:5432

セッションを起動したまま、TablePlusのHostをlocalhost、Portを15432にして接続する。

結論

  1. RDSをPublicにせず、踏み台からだけ到達させる。
  2. Session Managerは鍵管理と22番開放を避ける。
  3. 15432はRDS 5432への一時的な入口である。