Q36 — AWS DOP-C02 第2章
第 36/100 問 | ← 第2章
ある企業は、放送協会から提供されたクラウドアーキテクチャを基にWebアプリケーションのインフラストラクチャを開発しています。データベースエンジニアチームは、CloudFormationテンプレートでデータベースリソースを管理し、ソフトウェア開発チームは別個のCloudFormationテンプレートでWebアプリケーションリソースを管理しています。アプリケーションの拡張に伴い、ソフトウェア開発チームはデータベースエンジニアチームが管理するリソースを利用する必要があります。両チームはそれぞれ独自のレビューおよびライフサイクル管理プロセスを持ち、それらを維持したいと考えています。また、両チームはリソースレベルの監査対象のレビューを必要としています。ソフトウェア開発チームは、CI/CDパイプラインを用いてこのテンプレートへの変更をデプロイしたいと考えています。
- A. データベースのCloudFormationテンプレートからスタック出力をエクスポートし、これらの参照をWebアプリケーションのCloudFormationテンプレートにインポートします。 ✓
- B. 2つのスタック間でクロススタックリソース参照およびパラメータを有効にするネストされたCloudFormationスタックを作成します。
- C. 2つのスタック間でクロススタックリソース参照およびパラメータを有効にするCloudFormationスタックセットを作成します。
- D. WebアプリケーションのCloudFormationテンプレートで入力パラメータを作成し、データベーススタックからリソース名およびIDを渡します。
正解: A. データベースのCloudFormationテンプレートからスタック出力をエクスポートし、これらの参照をWebアプリケーションのCloudFormationテンプレートにインポートします。
解説
本問は、CloudFormationにおけるクロススタックリソース参照の設計パターンに関するものです。AWS CloudFormationの公式ドキュメントによると、スタック出力のエクスポートとインポートは、異なるテンプレート間でリソース情報を共有する標準的手法であり、テンプレート間の結合を最小限に抑え、各チームが独立してテンプレートを保守・レビュー・デプロイできるようにします。選択肢Aは、データベーステンプレートの出力をエクスポートし、Webアプリケーションテンプレートでそれをインポートすることで、この要件を完全に満たします。選択肢Bのネストスタックは、親子関係を強制し、ライフサイクル管理を統合してしまうため、独立性を損ないます。選択肢Dのパラメータ渡しも同様に密結合を招きます。選択肢Cのスタックセットは、複数アカウント・リージョンへの展開に特化しており、単一アカウント内のクロススタック参照には不適切です。