

# テンプレートマクロを使用して CloudFormation テンプレートでカスタム処理を実行する
<a name="template-macros"></a>

マクロを使用すると、検索して置換操作のような単純なアクションからテンプレート全体の広範な変換まで、テンプレートに対してカスタム処理を実行できるようになります。

幅広い可能性を把握するために、CloudFormation がホストするマクロである `AWS::Include` および `AWS::Serverless` トランスフォームを検討してください。
+ [AWS::Include 変換](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/transform-aws-include.html)を使用すると、定型のテンプレートスニペットをテンプレートに挿入できます。
+ [AWS::Serverless 変換](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/transform-aws-serverless.html) は、AWS サーバーレスアプリケーションモデル (AWS SAM) 構文で記述されたテンプレート全体を受け取って、互換性のある CloudFormation テンプレートに変換および拡張します。サーバーレスアプリケーションおよび AWS SAM の詳細については、「[AWS Serverless Application Model デベロッパーガイド](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)」を参照してください。

**Topics**
+ [料金](#template-macros-billing)
+ [マクロの例](#template-macros-examples-list)
+ [関連リソース](#template-macros-related-resources)
+ [CloudFormation マクロの概要](template-macros-overview.md)
+ [CloudFormation マクロ定義を作成する](template-macros-author.md)
+ [シンプルな文字列置換マクロの例](macros-example.md)
+ [処理されたテンプレートをトラブルシューティングする](template-macros-troubleshoot-processed-template.md)

## 料金
<a name="template-macros-billing"></a>

マクロが実行されると、その関数の実行に関連する料金が Lambda 関数の所有者に請求されます。

`AWS::Include` および `AWS::Serverless` トランスフォームは、CloudFormation がホストするマクロです。これらの使用料は発生しません。

## マクロの例
<a name="template-macros-examples-list"></a>

このセクションの例に加えて、ソースコードやテンプレートを含むサンプルマクロが [GitHub リポジトリ](https://github.com/aws-cloudformation/aws-cloudformation-templates/tree/main/CloudFormation/MacrosExamples)にあります。これらの例は、説明を目的として「現状のまま」提供されています。

## 関連リソース
<a name="template-macros-related-resources"></a>
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-macro.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-macro.html)
+ [CloudFormation テンプレートの Transform セクション](transform-section-structure.md)
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-transform.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-transform.html)
+ [AWS::Serverless 変換](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/transform-aws-serverless.html)
+ [AWS::Include 変換](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/transform-aws-include.html)