DVAデプロイ

ある会社は Amazon ECS(Elastic Container Service)で本番サービスを運用しており、AWS CodeDeploy を使った Blue/Green デプロイメントを導入しています。タスク定義を更新した後、本番トラフィックを新しいタスクセット(Green 環境)に完全に切り替える前に、テストリスナーポートを通じた動作確認を Lambda 関数で実施したいと考えています。 AppSpec ファイルで使用すべきライフサイクルイベントフックはどれですか?

A
BeforeInstall
BeforeInstall はインストール前の準備段階に呼び出される。
B
AfterAllowTestTraffic
✓ 正解
ECS の CodeDeploy Blue/Green デプロイでは、ALB のテストリスナー経由でテストトラフィックが Green 環境に流れた直後に `AfterAllowTestTraffic` フックが呼び出されます。このフックに Lambda 関数を指定してスモークテストを実行し、成功すれば本番トラフィックが切り替わります。
C
BeforeAllowTraffic
BeforeAllowTraffic はテストトラフィック確認完了後・本番トラフィック切り替え前の追加検証に使用する。
D
AfterAllowTraffic
AfterAllowTraffic は本番切り替え完了後の後処理に使用する。

解説

ECS の CodeDeploy Blue/Green デプロイでは、ALB のテストリスナー経由でテストトラフィックが Green 環境に流れた直後に AfterAllowTestTraffic フックが呼び出されます。このフックに Lambda 関数を指定してスモークテストを実行し、成功すれば本番トラフィックが切り替わります。 選択肢AのBeforeInstallはGreen環境のタスクセット作成前に実行されるフックであり、テストリスナー経由のトラフィックがまだ有効化されていない段階のため、動作確認には使用できません。 選択肢CのBeforeAllowTrafficはAfterAllowTestTrafficの完了後・本番トラフィック切り替え前に呼び出されます。テストリスナー経由の動作確認はAfterAllowTestTrafficで行うのが標準であり、BeforeAllowTrafficは本番切り替え前の最終準備など別の目的に使用します。 選択肢DのAfterAllowTrafficは本番トラフィックが切り替わった後に実行されるフックで後処理に使用するため、事前の動作確認には遅すぎます。

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

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

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