無限ノック › SOA 練習問題一覧 › 問題
SOAデプロイ、プロビジョニング、および自動化

ある企業は Amazon ECS(Fargate)上のコンテナアプリを AWS CodeDeploy の Blue/Green デプロイで更新しています。運用チームは「新タスクセットへまず10%のトラフィックを送り、5分間 CloudWatch アラームで異常がなければ残り90%を一度に切り替える」運用を求めています。さらにアラーム発報時は自動でロールバックさせ、デプロイ作業の手間を増やさず標準のデプロイ設定で実現したいと考えています。CodeDeploy で指定すべきデプロイ設定はどれですか。

A
デプロイ設定 CodeDeployDefault.ECSLinear10PercentEvery1Minutes を指定し、1分ごとに10%ずつ段階的にトラフィックを移行する
Linear 型は指定割合ずつを一定間隔で繰り返し移行する方式で、ECSLinear10PercentEvery1Minutes では10分かけて10%ずつ移行します。「最初10%・5分後に残り一括」という Canary の挙動とは異なり、要件のトラフィック移行パターンを満たしません。
B
デプロイ設定 CodeDeployDefault.ECSCanary10Percent5Minutes を指定し、CloudWatch アラームをロールバックトリガーに設定する
✓ 正解
Canary 型は最初に指定割合を移行し待機後に残りを一括移行する方式で、ECSCanary10Percent5Minutes は10%移行→5分待機→残り90%一括と要件に一致します。CloudWatch アラームをロールバックトリガーに設定すれば異常時の自動ロールバックも標準機能で実現できます。
C
デプロイ設定 CodeDeployDefault.ECSAllAtOnce を指定し、新タスクセットへ一括でトラフィックを移行する
ECSAllAtOnce は新タスクセットへ即座に100%のトラフィックを移行する方式です。一部トラフィックでの観察期間を設けられないため、10%を5分間検証してから切り替えるという段階的移行の要件を満たせません。
D
デプロイ設定 CodeDeployDefault.ECSCanary10Percent15Minutes を指定し、CloudWatch アラームをロールバックトリガーに設定する
Canary 型でアラームによる自動ロールバックも設定でき方式自体は要件に合致しますが、待機時間が15分に固定されています。要件は5分後の切り替えであり、待機時間が一致しないため適切な設定ではありません。

解説

Canary 型のデプロイ設定は「最初に一定割合のトラフィックを移し、指定した待機時間の経過後に残り全量を一度に移行する」2段階方式です。ECSCanary10Percent5Minutes は最初に10%を移行し、5分後に残り90%を一括で切り替えるため要件と完全に一致します。 CodeDeploy のデプロイグループに CloudWatch アラームをロールバックトリガーとして設定すれば、待機中にアラームが ALARM 状態になった時点で自動的に旧タスクセットへロールバックされ、追加実装なしで標準設定のまま実現できます。 選択肢Aの ECSLinear10PercentEvery1Minutes は10%ずつ1分間隔で段階移行する Linear 型で、「5分後に残りを一括」という挙動にならない。 選択肢Cの ECSAllAtOnce は即座に100%を移行するため、10%での観察期間を設けられず段階移行の要件を満たさない。 選択肢Dの ECSCanary10Percent15Minutes は方式は正しいが待機時間が15分であり、要件の5分と一致しない。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SOA の問題一覧に戻る