Q94 — AWS DOP-C02 第3章

第 94/100 問 | ← 第3章

ある企業が、AWS CodePipelineを用いてリリースパイプラインを自動化しています。パイプライン内でAWS CodeDeployが使用され、Amazon ECSへのアプリケーションデプロイにブルー/グリーンデプロイメントモデルが採用されています。企業は、トラフィックをグリーン環境に移行する前に、グリーンバージョンのアプリケーションに対してスクリプトによるテストを実施したいと考えています。これらのスクリプトは5分以内に完了する必要があります。テスト期間中にエラーが検出された場合、アプリケーションのロールバックを実行する必要があります。

正解: C. CodeDeploy AppSpecファイルにhooksセクションを追加します。AfterAllowTestTrafficライフサイクルイベントを使用して、テストスクリプトを実行するAWS Lambda関数を呼び出します。エラーが検出された場合、Lambda関数をエラーで終了させ、CodeDeployの自動ロールバックをトリガーします。

解説

最適な選択肢はCです。CodeDeploy AppSpecファイルにフックを追加し、AfterAllowTestTrafficライフサイクルイベントを利用してAWS Lambda関数を呼び出すことで、トラフィック移行前の検証を確実に行えます。テストが失敗した場合、Lambda関数がエラーを返すことでCodeDeployの自動ロールバック機能が起動し、安全かつ信頼性の高いデプロイが保証されます。この手法は、テストフローとロールバックメカニズムを効果的に統合します。