DVAデプロイ

AWS CodeDeployを使ってECSサービスのBlue/Greenデプロイを実装しています。本番トラフィックを切り替える前に、置き換えタスクセットに対して自動インテグレーションテストをLambda関数で実行したいと考えています。AppSpecファイルのどのライフサイクルフックにLambda関数を設定すべきですか?

A
BeforeInstall
BeforeInstall は置き換えタスクセット作成前のフックです。
B
AfterInstall
AfterInstall は置き換えタスクセット作成後でテストトラフィック許可前のフックです。
C
AfterAllowTestTraffic
✓ 正解
AfterAllowTestTraffic フックは、テスト用リスナー(通常ポート8080)が置き換えタスクセットを向いた後、本番トラフィックの切り替え前に実行されます。このタイミングで Lambda 関数を呼び出してインテグレーションテストを実施できます。
D
BeforeAllowTraffic
BeforeAllowTraffic は本番切り替え直前のフックです。

解説

ECS Blue/Greenデプロイのライフサイクルフックは実行タイミングが重要です。 選択肢AのBeforeInstallは置き換えタスクセット作成前のフックです。この時点ではまだ置き換え環境が存在しないため、インテグレーションテストは実施できません。 選択肢BのAfterInstallは置き換えタスクセット作成後でテストトラフィック許可前のフックです。テスト用リスナーがまだ置き換えタスクセットを向いていないため、テストトラフィック経由での検証はできません。 選択肢CのAfterAllowTestTrafficはテスト用リスナー(通常ポート8080)が置き換えタスクセットを向いた後、本番トラフィックの切り替え前に実行されます。このタイミングでLambda関数を呼び出してインテグレーションテストを実施できるため、最適なフックです。 選択肢DのBeforeAllowTrafficは本番切り替え直前のフックです。テストフェーズは既に終了しており、このフックはクリーンアップなど本番切り替え直前の操作に使用します。インテグレーションテストの実施場所としては遅すぎます。

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

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

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