AWS4 択難易度 応用

状況

Lambda を VPC のプライベートサブネットに接続し、同じ VPC の RDS(PostgreSQL)に接続させた。ログには connect ETIMEDOUT 10.0.2.15:5432。RDS のエンドポイント名は 10.0.2.15 に解決できている。RDS の SG は作成時に踏み台サーバーからだけ許可した。

原因を調べる順番として、最も適切なものは?

  1. ADB のユーザー名とパスワード
  2. BRDS の SG の 5432 番に Lambda の SG からの許可があるか
  3. CRDS を「パブリックアクセス可能」に変える
  4. DLambda と RDS のサブネットのネットワーク ACL

正答

  1. A → B → D → C
  2. B → D → A → C
  3. C → B → A → D
  4. D → A → C → B

解説

エンドポイント名がプライベート IP に解決できているので、DNS と Lambda の VPC 接続は機能している。ETIMEDOUT は TCP の応答が無い状態で、認証まで進んでいない。パスワードが違うなら PostgreSQL から認証失敗のメッセージが返るので、A は後回しになる。RDS の SG は踏み台からしか許可していないため、Lambda の SG からの 5432 番が無いのが最も疑わしい(B)。SG に問題が無ければ、サブネットのネットワーク ACL(D)を見る。パブリックアクセス可能にする(C)は、Lambda が VPC 内から接続している以上解決にならず、本番の DB をインターネット側にさらす変更なので行わない。

参考: docs.aws.amazon.com

lambdardsvpcsecurity-grouptroubleshooting

この問題を含む AWS のテストを制限時間つきで解く

AWSクイズへ