テンプレート形式 - AWS CloudFormation

テンプレート形式

CloudFormation テンプレートは JSON または YAML 形式で作成できます。両方の形式で同じ CloudFormation 機能と関数を使用できます。

JSON

次の例は、使用可能なすべてのセクションを含む JSON 形式のテンプレートの構造を示しています。

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

YAML

次の例は、使用可能なすべてのセクションを含む YAML 形式のテンプレートの構造を示しています。

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

形式を選択する際は、一番作業しやすい形式を選択してください。YAML では、コメント機能など JSON にはない一部の機能が初めから提供されていることも考慮します。

以下は、インラインコメントを使用した YAML テンプレートの例です。

AWSTemplateFormatVersion: "2010-09-09" Description: A sample template Resources: MyEC2Instance: #An inline comment Type: "AWS::EC2::Instance" Properties: ImageId: "ami-0ff8a91507f77f867" #Another comment -- This is a Linux AMI InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

仕様

CloudFormation は、次の JSON および YAML の仕様をサポートしています。

JSON

CloudFormation は ECMA-404 JSON スタンダードに従います。JSON フォーマットの詳細については、http://www.json.org をご覧ください。

YAML

CloudFormation は YAML バージョン 1.1 仕様をサポートしていますが、いくつかの例外があります。CloudFormation は次の機能をサポートしていません。

  • binaryomappairsset、およびtimestamp タグ

  • エイリアス

  • ハッシュ結合

YAML の詳細については、https://yaml.org/ を参照してください。

詳細はこちら

テンプレート内で指定する各リソースについて、JSON または YAML のいずれかの構文規則に従って、プロパティとその値を定義します。各形式のテンプレート構文の詳細については、テンプレートセクション を参照してください。