Q94 — AWS SOA-C02 第1章

第 94/100 問 | ← 第1章

SysOps管理者が2つのAWS CloudFormationテンプレートを作成しています。1つ目のテンプレートは、サブネット、ルートテーブル、インターネットゲートウェイなどの関連リソースとともにVPCを作成します。2つ目のテンプレートは、1つ目のテンプレートによって作成されたVPC内にアプリケーションリソースを展開します。2つ目のテンプレートは、1つ目のテンプレートで作成されたリソースを参照する必要があります。 この要件を、最も少ない管理作業量で達成するにはどうすればよいですか?

正解: A. 1つ目のテンプレートのOutputsにExportフィールドを追加し、2つ目のテンプレートでその値をインポートします。

解説

AWS CloudFormationテンプレート間でリソースを参照する場合、出力のエクスポートおよびインポート機能を使用することが、スタック間参照を実現する推奨方法です。AWSドキュメントによると、VPCやサブネットなどのリソースIDを共有する必要がある場合、ソーステンプレートの`Outputs`に`Export`フィールドを追加することで、他のテンプレートが`Fn::ImportValue`関数を用いてこれらの値を直接インポートできます。この方法は手動入力やカスタムコードを必要とせず、リソース依存関係の管理を簡素化します。選択肢Bはカスタムリソースを導入するため複雑性が増し、選択肢CのマッピングはリソースIDを動的に取得できないため不適切です。選択肢Dは手動でパラメータを渡す必要があり、最小管理負荷要件を満たしません。正解はAWS公式のスタック間参照メカニズムに基づいています。