PCD#253(deploying)
EC サイトを Cloud Run にデプロイ済みで、新リリースを本番トラフィックの 5%・20%・100% の段階で昇格させたいです。各昇格フェーズの前に SRE による承認を挟み、エラー率上昇時はワンクリックで前リビジョンへ戻したい要件があります。最適な仕組みはどれですか。
正解:B
正解の根拠
Cloud Deploy は Delivery Pipeline 内で canary strategy を宣言でき、percentages の配列でフェーズを定義し、各フェーズに approval gate と自動ロールバックを組み込めます。Cloud Run target との統合により traffic split は Cloud Deploy 側が制御し、宣言的に履歴と昇格状態を管理できます。
| 機能 | Cloud Deploy | gcloud script |
|---|---|---|
| 段階定義 | YAML 宣言 | 手続き的 |
| 承認 | 標準機能 | 自作必要 |
| ロールバック | 1 クリック | 手動再 deploy |
strategy:
canary:
runtimeConfig:
cloudRun:
automaticTrafficControl: true
canaryDeployment:
percentages: [5, 20]
不正解の理由
- A: スクリプト方式は承認ゲートやロールバックを自作する必要があり、監査要件を満たすには工数が膨らみます。
- C: Cloud Functions に traffic split を委ねると状態管理が分散し、リリース履歴の追跡が困難になります。
- D: Terraform 再 apply は drift 検出のたびに traffic を上書きしてしまい、段階リリースの段階状態を保持できません。

コメント