Azure4 択難易度 応用

状況

Linux の App Service で動く Node.js アプリを、コード変更とアプリ設定の変更を数十件含むリリースでデプロイした。直後から全リクエストが 503 になる。前回のリリースまでは正常で、CPU とメモリのメトリックは低いままである。

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

  1. Aログストリームでコンテナーの起動ログを読む
  2. BApp Service を削除して作り直す
  3. CApp Service プランをスケールアップする
  4. D今回のリリースで変えたスタートアップコマンドとアプリ設定

正答

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

解説

CPU とメモリが低いまま全リクエストが 503 なので、負荷ではなくアプリ(コンテナー)が起動できていないと考える。まずログストリームで起動ログを読み(A)、モジュールが見つからない、待ち受けポートが違うなどの理由を確かめる。変更が数十件あり、どれが原因か差分からは見当が付かないので、差分を上から読むよりログで当たりを付けてから、該当するスタートアップコマンドやアプリ設定(D)を確かめるほうが速い。スケールアップ(C)は負荷が原因のときの手段で、メトリックからは根拠がなく料金も上がる。作り直し(B)は設定やカスタムドメインを失ううえ、コードや設定の誤りは直らないので最後。復旧を急ぐなら、調査と並行して前のリリースへの切り戻しを検討する。

参考: learn.microsoft.com

app-servicehttp-503troubleshootinvestigation-order

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

Azureクイズへ