

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: 検証テストを使用して Amazon ECS サービスをデプロイする
<a name="tutorial-ecs-deployment-with-hooks"></a>

 このチュートリアルでは、Lambda 関数を使用して、更新された Amazon ECS アプリケーションのデプロイの一部を検証する方法について学びます。このチュートリアルでは、CodeDeploy アプリケーション、CodeDeploy デプロイグループ、および [チュートリアル: Amazon ECS へアプリケーションをデプロイする](tutorial-ecs-deployment.md) で使用した Amazon ECS アプリケーションを使用します。そのチュートリアルを完了してからこのチュートリアルを開始してください。

 検証テストを追加するには、最初に Lambda 関数でテストを実装します。次に、デプロイ AppSpec ファイルで、テストしたい ライフサイクルフックのために Lambda 関数を指定します。検証テストが失敗した場合、デプロイは停止し、ロールバックされて、失敗とマークされます。テストが成功すると、デプロイは次のデプロイライフサイクルイベントまたはフックに進みます。

 検証テストを使用した Amazon ECS デプロイ中、CodeDeploy は 2 つのターゲットグループ (1 つの本稼働トラフィックリスナーと 1 つのテストトラフィックリスナー) で構成されたロードバランサーを使用します。次の図表は、デプロイの前に、ロードバランサー、本稼働およびテストリスナー、ターゲットグループ、および Amazon ECS アプリケーションがどのように関連しているかを示しています。このチュートリアルでは、Application Load Balancer を使用します。Network Load Balancer を使用することもできます。

![Application Load Balancer または Network Load Balancer、リスナー、ターゲットグループ、タスクセット、Amazon ECS サービス間の接続。](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-1.png)


 Amazon ECS デプロイ中、テスト用の 5 つのライフサイクルフックがあります。このチュートリアルでは、3 番目のライフサイクルデプロイフック、`AfterAllowTestTraffic` 中に 1 つのテストを実装します。詳細については、「[Amazon ECS のデプロイ向けのライフサイクルイベントフックのリスト](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-list-ecs)」を参照してください。デプロイが成功すると、本稼働トラフィックリスナーは新しい置き換えタスクセットにトラフィックを提供し、元のタスクセットは終了します。次の図は、デプロイが成功した後にリソースがどのように関連しているかを示しています。詳細については、「[Amazon ECS デプロイ中の処理で起こっていること](deployment-steps-ecs.md#deployment-steps-what-happens)」を参照してください。

![デプロイ後の Application Load Balancer または Network Load Balancer、リスナー、ターゲットグループ、置換タスクセット間の接続。](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-6.png)


**注記**  
このチュートリアルを完了すると、 AWS アカウントに料金が発生する可能性があります。これには、CodeDeploy、 AWS Lambda、CloudWatch に対して発生する可能性のある料金が含まれます。さらなる詳細については、[AWS CodeDeploy の料金](https://aws.amazon.com/codedeploy/pricing/)、[AWS Lambda の料金](https://aws.amazon.com/lambda/pricing/)、および [Amazon CloudWatch の料金](https://aws.amazon.com/cloudwatch/pricing/) を参照してください。

**Topics**
+ [前提条件](tutorial-ecs-with-hooks-prereqs.md)
+ [ステップ 1: テストリスナーを作成する](tutorial-ecs-with-hooks-create-second-listener.md)
+ [ステップ 2: Amazon ECS アプリケーションを更新する](tutorial-ecs-with-hooks-update-the-ecs-application.md)
+ [ステップ 3: ライフサイクルフック Lambda 関数を作成する](tutorial-ecs-with-hooks-create-hooks.md)
+ [ステップ 4: AppSpec ファイルを更新する](tutorial-ecs-with-hooks-create-appspec-file.md)
+ [ステップ 5: CodeDeploy コンソールを使用して Amazon ECS サービスをデプロイする](tutorial-ecs-with-hooks-deployment.md)
+ [ステップ 6: CloudWatch Logs で Lambda フック関数の出力を表示する](tutorial-ecs-with-hooks-view-cw-logs.md)
+ [ステップ 7: クリーンアップする](tutoria-ecs-with-hooks-clean-up.md)