DVA-C02:AWS Certified Developer - Associate デプロイ 問5
デプロイ/CI/CD サービスによるコードのデプロイLambda の新バージョンを、いきなり全トラフィックに出さず一部ずつ移行し、問題があれば自動でロールバックしたいと考えています。最も適切なのはどれですか。
当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「デプロイ」に対応。実際の試験問題ではありません)
- A新バージョンへ即座に 100% のトラフィックを切り替える
- B旧バージョンを削除してから新バージョンを配置する
- CAWS CodeDeploy のカナリア/線形デプロイでエイリアスのトラフィックを段階的に移行し、CloudWatch アラームで問題を検知したら自動ロールバックする
- Dテストをせずに本番へ直接上書きする
正解:C
解説
AWS CodeDeploy は、Lambda のエイリアスに対してカナリアや線形(linear)といったデプロイ戦略で、新バージョンへトラフィックを段階的に移行できます。移行中に CloudWatch アラームが問題を検知すると、自動的に旧バージョンへロールバックできるため、リスクを抑えて新バージョンを展開できます。
選択肢ごとの解説
- A誤り。即座に 100% 切り替えると、問題があったときの影響が大きくなります。
- B誤り。旧バージョンを削除してから置き換えると、問題時に戻せません。
- C正しい。CodeDeploy のカナリア/線形デプロイでトラフィックを段階的に移行し、アラームで問題検知時に自動ロールバックできます。
- D誤り。テストせず本番へ直接上書きするのは、段階的移行と自動ロールバックの要件に反します。