状況
既存の VPC に新しくサブネットを作り、EC2 を起動した。コンソールに出たパブリック IP に ssh すると、しばらく待って Connection timed out。状態チェックは 2/2 合格。SG は、SSH できている既存の EC2 と同じものを付けた。
原因を調べる順番として、最も適切なものは?
- AOS の sshd の設定と authorized_keys
- Bインスタンスを削除して作り直す
- Cセキュリティグループの 22 番の許可元
- Dルートテーブルに 0.0.0.0/0 → インターネットゲートウェイがあるか
正答
- D → C → A → B
- C → A → D → B
- B → D → C → A
- A → C → D → B
解説
timed out は、パケットが途中で捨てられて応答が無い状態。sshd が動いていない・鍵が違うなら、Connection refused や Permission denied がすぐ返るので、OS(A)は後回しになる。状態チェックも合格している。新しく作ったのはサブネットで、明示的に関連付けないとメインルートテーブルが使われる。メインにインターネットゲートウェイへのルートが無ければ、パブリック IP があっても外から届かない(D を最初に)。SG は SSH できている EC2 と同じなので疑いは低いが、確認は数秒で済む(C)。作り直し(B)は原因が分からないまま同じ設定で再発しやすく、最後の手段。直前に変えたもの(新しいサブネット)と、エラーの形が示す層(ネットワーク)が重なる所から見る。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ