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

テンプレートの分析

テンプレートとは、お使いの AWS インフラストラクチャについて説明する JSON または YAML 形式のテキストファイルです。次の例では、AWS CloudFormation テンプレートの構造とセクションを示します。

JSON

次の例では、JSON 形式のテンプレートの例を示します。

Copy
{ "AWSTemplateFormatVersion" : "version date", "Description" : "JSON string", "Metadata" : { template metadata }, "Parameters" : { set of parameters }, "Mappings" : { set of mappings }, "Conditions" : { set of conditions }, "Transform" : { set of transforms }, "Resources" : { set of resources }, "Outputs" : { set of outputs } }

YAML

次の例では、YAML 形式のテンプレートの例を示します。

Copy
--- AWSTemplateFormatVersion: "version date" Description: String Metadata: template metadata Parameters: set of parameters Mappings: set of mappings Conditions: set of conditions Transform: set of transforms Resources: set of resources Outputs: set of outputs

テンプレートセクション

テンプレートには、いくつかの主要なセクションが含まれています。Resources セクションは、唯一の必須セクションです。テンプレートの一部のセクションの順序は任意です。ただし、あるセクションの値が前のセクションの値を参照している場合があるので、テンプレートを構築する際には、次のリストの論理的な順序を使用すると便利な場合があります。次のリストでは、各セクションの概要を説明します。

Format Version (任意)

テンプレートが準拠している AWS CloudFormation テンプレートバージョンを指定します。テンプレート形式バージョンは API または WSDL バージョンと同じではありません。テンプレート形式バージョンは API および WSDL バージョンとは関係なく変更できます。

Description (オプション)

テンプレートを説明するテキスト文字列。このセクションは、必ずテンプレートの Format Version セクションの後に記述する必要があります。

Metadata (オプション)

テンプレートに関する追加情報を提供するオブジェクト。

Parameters (任意)

実行時に (スタックを作成または更新するとき)、テンプレートに渡すことができる値を指定します。テンプレートの Resources および Outputs セクションのパラメーターを参照できます。

Mappings (任意)

条件パラメーター値の指定に使用できる、キーと関連する値のマッピング (検索テーブルに類似したもの)。Resources および Outputs セクションで Fn::FindInMap 組み込み関数を使用することで、キーと対応する値を一致させることができます。

条件 (オプション)

特定のリソースが作成されるかどうかや、スタックの作成または更新中に特定のリソースプロパティが値を割り当てられるかどうかを制御する条件を定義します。たとえば、スタックが本稼働用であるかテスト環境用であるかに依存する、条件付きのリソースを作成できます。

変換 (オプション)

サーバーレスアプリケーション (Lambda ベースアプリケーションともいいます) の場合は、使用する AWS Serverless Application Model (AWS SAM) のバージョンを指定します。変換を指定する場合は、AWS SAM 構文を使用して、テンプレート内のリソースを宣言できます。このモデルでは、使用できる構文と、その処理方法を定義します。

AWS::Include 変換を使用して、メインの AWS CloudFormation テンプレートとは別に保存されているテンプレートスニペットを利用することもできます。スニペットファイルを Amazon S3 バケットに保存し、複数のテンプレートで関数を再利用します。

Resources (必須)

Amazon Elastic Compute Cloud インスタンスや Amazon Simple Storage Service バケットなど、スタックリソースとそのプロパティを指定します。テンプレートの Resources および Outputs セクションのリソースを参照できます。

Outputs (任意)

スタックのプロパティを確認すると返される値について説明します。たとえば、S3 バケット名の出力を宣言してから、aws cloudformation describe-stacks AWS CLI コマンドを呼び出して名前を表示することができます。

このページの内容: