CloudFormation テンプレートセクション
あらゆる CloudFormation テンプレートは 1 つ以上のセクションで構成され、それぞれが特定の目的を果たします。
[リソース] セクションはあらゆる CloudFormation テンプレートで必要であり、テンプレートの中核となります。このセクションは、Amazon EC2 インスタンスや Amazon S3 バケットなど、スタックリソースとそのプロパティを指定します。各リソースは、一意の論理 ID、タイプ、および特定の設定の詳細で定義されます。
[パラメータ] セクションはオプションですが、テンプレートをより柔軟にする上で重要な役割を果たします。これにより、ユーザーはスタックを作成または更新する際、実行時に値を渡すことができます。これらのパラメータは Resources
および Outputs
セクションで参照できるため、テンプレート自体の変更なしでのカスタマイズが可能です。例えば、パラメータを使用して、デプロイによって異なるインスタンスタイプまたは環境設定を指定できます。
[出力] セクションもオプションで、スタックのプロパティを表示する際に返される値を定義します。出力は、リソース識別子や URL などの有用な情報を提供します。これらの情報は、運用上の目的や他のスタックとの統合のために活用できます。このセクションでは、テンプレートによって作成されたリソースに関する重要な詳細を取得して使用する方法について説明します。
他のオプションのセクションには、条件値を管理するためのルックアップテーブルのように機能する [マッピング] が含まれます。マッピングでは、key-value ペアを定義し、Resources
および Outputs
セクションの Fn::FindInMap
組み込み関数で使用します。これは、AWS リージョン や環境などの条件に基づいて設定を調整する必要があるシナリオで役立ちます。
[メタデータ] と [ルール] のセクションは、あまり一般的に使用されてはいませんが、追加機能を提供します。Metadata
はテンプレートに関する追加情報を含むことができ、Rules
はスタックの作成または更新中にパラメータ、またはパラメータの組み合わせを検証し、特定の基準を満たしていることを確認します。[条件] セクションは、環境タイプなどの条件に基づいて特定のリソースが作成されるか、またはプロパティに値が割り当てられるかを制御することで、柔軟性をさらに高めます。
最後に、[変換] セクションを使用して、テンプレートの処理中にマクロを適用します。サーバーレスアプリケーション (Lambda アプリケーションとも呼ばれます) の場合は、使用する AWS Serverless Application Model (AWS SAM)AWS::Include
トランスフォームを使用すると、メインの CloudFormation テンプレートとは別に保存されているテンプレートスニペットを含めるもできます。
次のトピックでは、各セクションの使用に関する詳細と例を示します。
トピック
- CloudFormation テンプレートの Resources セクション構文リファレンス
- CloudFormation テンプレートの Parameters セクション構文リファレンス
- CloudFormation テンプレートの Outputs セクション構文リファレンス
- CloudFormation テンプレートの Mappings セクション構文リファレンス
- CloudFormation テンプレートの Metadata セクション構文リファレンス
- CloudFormation テンプレートの Rules セクション構文リファレンス
- CloudFormation テンプレートの Conditions セクション構文リファレンス
- CloudFormation テンプレートの Transform セクション
- CloudFormation テンプレートのフォーマットバージョンセクション構文リファレンス
- CloudFormation テンプレートの Description セクション構文リファレンス