【正解】B
【0からの解説】
①前提知識:
・Cloud Run では、デプロイのたびに変更不可能な「リビジョン」が作成され、トラフィック分割で各リビジョンへ送るトラフィックの割合を自由に設定できます。カナリア デプロイでは、新しいリビジョンに一部(例: 10%)のトラフィックだけを流して様子を見ます。以前のリビジョンも残っているため、トラフィックを戻すだけで即座にロールバックできます。
・SRE のインシデント対応では「まずユーザーへの影響を軽減(mitigate)し、原因の調査はその後」が原則です。直前の変更が疑わしい場合、最速の軽減策は既知の正常な状態へのロールバックです。
②要件の整理:新バージョンのカナリア デプロイ直後に SLO 違反が発生しており、「できるだけ早く」正常化することが求められています。「最初に」何をするかが問われています。
③正解の理由:トラフィックの 100% を以前の(正常だった)リビジョンに戻せば、新たなビルドやデプロイを行うことなく、数秒でユーザー影響を止められます。原因調査はロールバックで安定させた後に行います。
【誤りの選択肢】
A:SLO 違反の原因として最も疑わしいのは新しくデプロイした最新リビジョンです。そこへ 100% のトラフィックを送ると、影響を受けるユーザーが増えて状況が悪化します。
C:最後に正常だったバージョンで新しいリビジョンを作成しても同じ結果は得られますが、イメージの再デプロイとリビジョン作成に時間がかかり、手順も増えます。以前のリビジョンがすでに存在するのにわざわざ作り直す必要はなく、「できるだけ早く」という要件で B に劣ります。
D:原因の特定は重要ですが、ユーザー影響が続いている間に調査を先行させるのは SRE の原則に反します。まず軽減(ロールバック)、その後に Cloud Trace などで原因を調査し、ポストモーテムにつなげます。
【参考】
ロールバック、段階的なロールアウト、トラフィックの移行 | Cloud Run