状況
Application Gateway 経由で Web アプリを開くと 502 Bad Gateway が返る。昨日、バックエンド VM のアプリの待ち受けを 80 から 8080 に変えた。同じ VNet の別 VM から curl http://10.0.1.4:8080/health を実行すると 200 が返る。
原因を調べる順番として、最も適切なものは?
- ADNS の A レコードが Application Gateway を指しているか
- BApplication Gateway を削除して作り直す
- Cバックエンド設定と正常性プローブのポート(80 のままか)
- Dバックエンドのサブネットの NSG が 8080 の受信を許可しているか
正答
- C → D → A → B
- A → C → D → B
- C → A → D → B
- B → C → D → A
解説
502 は Application Gateway 自身が返しているので、DNS とゲートウェイまでの経路は正常と分かり、A は後回し。アプリは別 VM からの curl で 8080 に応答しており、生きている。直前に変えたのは待ち受けポートなので、ゲートウェイのバックエンド設定と正常性プローブが 80 のまま残っていないか(C)を最初に確かめる。プローブが失敗するとバックエンドは異常と判定され、502 になる。「バックエンドの正常性」画面でも理由を確認できる。次に、別 VM からは通っても Application Gateway のサブネットからの 8080 が NSG で許可されているとは限らないので D。DNS(A)を D より先に見る理由は無い。作り直し(B)は設定の誤りを直さず、停止時間も生むので最後。
この問題を含む Azure のテストを制限時間つきで解く
Azureクイズへ