Azure4 択難易度 応用

状況

Linux VM を昨日削除し、同じ名前・同じ設定で作り直した。手元の PC で ~/.ssh/config に書いてある IP へ ssh すると、しばらく待ってから Connection timed out になる。ポータルのブート診断では、OS が起動してログイン待ちの画面まで出ている。

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

  1. AVM を再デプロイする
  2. BNSG の受信セキュリティ規則(ポート 22 と送信元 IP)
  3. C接続先が、作り直した VM の現在のパブリック IP か
  4. DVM 内の sshd の設定と authorized_keys
  5. Eゲスト OS のファイアウォール(ufw など)

正答

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

解説

VM を作り直すと新しいパブリック IP が割り当てられ、アドレスが変わることが多い。手元の設定は古い IP のままなので、ポータルで現在の IP を見るだけの C を最初に確かめる。タイムアウトは応答が返らない、つまりパケットが途中で捨てられている症状で、次に疑うのは Azure 側の NSG(B)、その次にゲスト OS のファイアウォール(E)。NSG はポータルや IP フロー検証で外から確かめられるが、ゲスト OS はシリアルコンソールなどで中に入る必要があるので後にする。sshd が止まっていれば通常は Connection refused、鍵の不一致なら Permission denied になるので、IP の次に sshd を疑う(C → D …)のは遠回りで、D はさらに後。OS は起動済みと分かっている。再デプロイは別のホストへ移し、一時ディスクの内容も失うので最後の手段。

参考: learn.microsoft.com

virtual-machinessshnsgtroubleshootinvestigation-order

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

Azureクイズへ