CloudFormation CodeDeploy リファレンスのテンプレート - AWS CodeDeploy

CloudFormation CodeDeploy リファレンスのテンプレート

このセクションでは、CodeDeploy デプロイと連携するように設計された CloudFormation リソース、変換、フックについて説明します。CodeDeploy の CloudFormation フックによって管理されるスタックの更新作成のチュートリアルについては、「CloudFormation を通じた Amazon ECS Blue/Green デプロイの作成」を参照してください。

注記

CloudFormation フックは CloudFormation の AWS コンポーネントの一部であり、CodeDeploy ライフサイクルイベントフックとは異なります。

CloudFormation テンプレートを使用して、以下のタスクを実行できます。CodeDeploy で使用できる他のメソッドに加えて、テンプレートを使用して次のタスクを実行できます。

  • アプリケーションを作成します。

  • デプロイグループを作成し、ターゲットリビジョンを指定します。

  • デプロイ設定を作成します。

  • Amazon EC2 インスタンスを作成します。

CloudFormation は、テンプレートを使用して AWS リソースのモデル化およびセットアップに役立つサービスです。CloudFormation テンプレートは、JSON 標準に準拠した形式のテキストファイルです。必要なすべての AWS リソースを記述するテンプレートを作成すると、これらのリソースが CloudFormation で自動的にプロビジョニングおよび設定されます。

詳細については、AWS CloudFormation ユーザーガイドの「AWS CloudFormation とは」および「Working with AWS CloudFormation Templates」を参照してください。

組織内で、管理者として CodeDeploy と互換性がある CloudFormation テンプレートを使用する予定がある場合は、CloudFormation が依存する AWS および CloudFormation サービスとアクションにアクセス権を付与する必要があります。アプリケーション、デプロイグループ、デプロイ設定を作成するためにアクセス権限を付与するには、CloudFormation を使用する許可セットのユーザーに以下のポリシーを追加します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": "*" } ] }

ポリシーの詳細については、以下のトピックを参照してください。

次の表は、CloudFormation テンプレートがユーザーに代わって実行できるアクションを表示し、AWS リソースタイプに関する詳細情報へのリンクおよび CloudFormation テンプレートに追加できるプロパティの種類を含んでいます。

アクション CloudFormation リファレンス 参照タイプ
CodeDeploy のアプリケーションを作成します。 AWS::CodeDeploy::Application CloudFormation リソース:
アプリケーションリビジョンのデプロイに使用されるデプロイグループの詳細を作成し、指定します。¹ AWS::CodeDeploy::DeploymentGroup CloudFormation リソース:
CodeDeploy がデプロイ中に使用する一連のデプロイのルール、デプロイの成功条件、デプロイの失敗条件を作成します。 AWS::CodeDeploy::DeploymentConfig CloudFormation リソース:
Amazon EC2 インスタンスを作成します。² AWS::EC2::Instance CloudFormation リソース:
CloudFormation AWS::CodeDeployBlueGreen 変換と AWS::CodeDeploy::BlueGreen フックを使用して、スタックの更新を管理してリソースを作成し、CodeDeploy のブルー/グリーンデプロイのトラフィックを移行します。3 AWS::CodeDeployBlueGreen AWS::CodeDeployBlueGreen 変換は、CloudFormation によりホストされるマクロです。
AWS::CodeDeploy::BlueGreen AWS::CodeDeploy::BlueGreen フックは、Hook の CloudFormation リソースとして構成されています。指定された CodeDeploy ライフサイクルイベントフックを指すことによって、フックには、CodeDeploy AppSpec ファイルの代わりにパラメータが含まれます。

¹ デプロイグループの一部としてデプロイするアプリケーションリビジョンのバージョンを指定する場合、プロビジョニングプロセスが完了するとすぐに、ターゲットリビジョンがデプロイされます。テンプレート設定の詳細については、AWS CloudFormation ユーザーガイドCodeDeploy DeploymentGroup デプロイメントリビジョン S3LocationCodeDeploy デプロイ DeploymentGroup デプロイメントリビジョン GitHubLocation を参照してください。

² CodeDeploy がサポートされているリージョンで、Amazon EC2 インスタンスの作成に使用できるテンプレートを提供します。これらのテンプレートの使用の詳細については、「CodeDeploy (CloudFormation テンプレート) のための Amazon EC2 インスタンスを作成します」を参照してください。

3このデプロイ設定では、 Amazon ECS ブルー/グリーンデプロイのみがサポートされています。CloudFormation による Amazon ECS ブルー/グリーンデプロイのデプロイ構成の詳細については、「CloudFormation blue/green デプロイのためのデプロイ設定 (Amazon ECS)」を参照してください。CloudFormation による Amazon ECS ブルー/グリーンデプロイの詳細と CodeDeploy でのデプロイの表示方法については、「CloudFormation を通じた Amazon ECS Blue/Green デプロイの作成」を参照してください。