CloudFormation テンプレートの Transform セクション - AWS CloudFormation

CloudFormation テンプレートの Transform セクション

Transform セクション (オプション) では、CloudFormation が何らかの方法でテンプレートを処理するために使用するマクロを 1 つ以上指定します。

マクロを使うと、テキストの検索や置換といった簡単なタスクを実行できるほか、テンプレート全体に対して広範に変換を行うことができます。CloudFormation は、指定された順にマクロを実行します。変更セットを作成すると、CloudFormation は処理したテンプレートコンテンツを変更セットに含めます。その後、変更内容を確認して変更セットを実行できます。マクロの仕組みの詳細については、「テンプレートマクロを使用して CloudFormation テンプレートでカスタム処理を実行する」を参照してください。

CloudFormation は、トランスフォームもサポートしています。トランスフォームとは、CloudFormation がホストするマクロのことです。トランスフォームの実行順序とスコープは、自分で作成したマクロと同じように処理されます。詳細については、「変換のリファレンス」を参照してください。

複数のマクロを宣言するには、リスト形式を使用して 1 つ以上のマクロを指定します。

例えば、以下のテンプレートサンプルでは、CloudFormation はまず MyMacro を評価し、次に AWS::Serverless を評価します。どちらも Transform セクションに含まれているため、テンプレート全体のコンテンツを処理できます。

# Start of processable content for MyMacro and AWS::Serverless Transform: - MyMacro - 'AWS::Serverless' Resources: WaitCondition: Type: 'AWS::CloudFormation::WaitCondition' MyBucket: Type: 'AWS::S3::Bucket' Properties: BucketName: amzn-s3-demo-bucket Tags: [{"key":"value"}] CorsConfiguration: [] MyEc2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-1234567890abcdef0 # End of processable content for MyMacro and AWS::Serverless