メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS CloudFormation アーティファクト

AWS CodePipeline では、パイプラインを実行しながらアーティファクトのタスクを実行します。AWS CloudFormation では、スタックテンプレートファイル、テンプレート設定ファイル、または両方をアーティファクトに含めることができます。AWS CodePipeline はこれらのアーティファクトを使用して、AWS CloudFormation スタックや変更セットで作業を行います。

ソースリポジトリとして Amazon Simple Storage Service (Amazon S3) を使用する場合、テンプレートおよびテンプレート設定ファイルを 1 つのファイルに zip 化してから S3 バケットにアップロードする必要があります。GitHub や AWS CodeCommit などその他のリポジトリの場合は、アーティファクトを圧縮しないでアップロードします。詳細については、AWS CodePipeline ユーザーガイドAWS CodePipeline でパイプラインを作成するを参照してください。

リポジトリには、必要なだけファイルを追加できます。たとえば、同じテンプレートに、テスト設定と本稼働設定の 2 つの異なる設定を含めることもできます。

このトピックでは、各アーティファクトタイプを説明します。

スタックテンプレートファイル

スタックテンプレートファイルは、AWS CloudFormation がプロビジョンおよび設定するリソースを定義します。これらのファイルは、AWS CloudFormation を使用してスタックを作成または更新する際に使用するテンプレートファイルと同じです。YAML または JSON 形式のテンプレートを使用できます。テンプレートの詳細については、「テンプレートの分析」を参照してください。

テンプレート設定ファイル

テンプレート設定ファイルは、テンプレートのパラメータ値、スタックポリシー、タグを指定できる JSON 形式のテキストファイルです。これらの設定ファイルを使用して、スタックにパラメーター値またはスタックポリシーを指定します。指定するパラメーター値はすべて、関連するテンプレートで宣言する必要があります。

このファイルに機密情報 (パスワードなど) を含める場合は、アクセスを制限します。たとえば、アーティファクトを S3 バケットにアップロードする場合、S3 バケットポリシーまたはユーザーポリシーを使用してアクセスを制限します。

設定ファイルを作成するには、次の形式を使用します。

Copy
{ "Parameters" : { "NameOfTemplateParameter" : "ValueOfParameter", ... }, "Tags" : { "TagKey" : "TagValue", ... }, "StackPolicy" : { "Statement" : [ StackPolicyStatement ] } }

以下の例では、KeyName パラメータで TestEC2Key を指定し、Department タグを追加して、その値を Marketing に設定します。続いて、リソースを削除する更新を除くすべての更新アクションを許可するスタックポリシーを追加します。

Copy
{ "Parameters" : { "KeyName" : "TestEC2Key" }, "Tags" : { "Department" : "Marketing" }, "StackPolicy" : { "Statement" : [ { "Effect" : "Allow", "NotAction" : "Update:Delete", "Principal": "*", "Resource" : "*" } ] } }