状況
新しく作った VM に gcloud compute ssh すると「port 22: Connection timed out」。同じイメージ・同じ手順で作った別の VM(タグ ssh 付き)には、同じアカウントで SSH できる。SSH を許可するファイアウォールルールは、ターゲットタグが ssh のものだけ。
調べる順番として最も適切なものは?
- Aルールのターゲットタグと、VM に付いたネットワークタグ
- Bシリアルコンソールで、VM 内の OS のファイアウォールや sshd
- C0.0.0.0/0 から全 VM への TCP 22 を許可するルールを足す
正答
- B → A → C
- A → B → C
- C → A → B
- A → C → B
解説
「Connection timed out」は TCP の接続がそもそも成立していない症状で、認証まで進んでいない(OS Login の権限不足なら Permission denied になる)。許可ルールはタグ ssh の VM にしか効かないので、新しい VM にタグを付け忘れていないか(A)を最初に見る。確認は一瞬で済み、同じ手順の VM には入れているという手がかりとも合う。タグが正しいのに届かないなら、この VM 固有の問題として OS 内のファイアウォールや sshd をシリアルコンソールで見る(B)。全開放のルール(C)は全 VM の 22 番を世界に開ける変更で、原因が分からないまま入れるものではない。選ぶとしても最後で、実際には不要になる。
この問題を含む Google Cloud のテストを制限時間つきで解く
Google Cloudクイズへ