DOP構成管理と Infrastructure as Code (IaC)
大手小売企業のプラットフォームチームは、200以上のCloudFormationテンプレートにわたって、すべてのリソース名に標準パターン({事業部}-{環境名}-{リソースタイプ}-{連番})を自動適用したいと考えています。個々のテンプレートへの修正を最小限に抑えつつ、デプロイ時にテンプレート全体を動的に変換する仕組みを実装したいと考えています。この要件を満たす最も適切なアプローチはどれですか?
ACloudFormation StackSetsを使用して、すべてのアカウント・リージョンに同一テンプレートをデプロイし、パラメータでリソース名を制御する
StackSets はマルチアカウント・マルチリージョンへの同一テンプレート展開を管理する機能であり、テンプレートの内容(リソース名など)を動的に変換する仕組みを持たない。200 テンプレートへの一括命名変換には不向き。
BAWS CloudFormation Macrosを作成し、Lambda関数でテンプレートのJSON/YAMLを解析・変換してリソース名を書き換える処理を実装する
✓ 正解
Macros はデプロイ前に Lambda でテンプレート全体を変換できる。Transform セクションへの 1 行追加だけで 200 以上の既存テンプレートへの修正を最小限に抑えながらリソース名を自動書き換えできる最適な方法。
CAWS CDK Aspectsを使用して、すべてのCDKコンストラクトに対してリソース名の上書き処理を適用する
CDK Aspects は CDK コンストラクトに対してのみ適用可能で、既存の CloudFormation テンプレート(JSON/YAML)には使用できない。全テンプレートを CDK に移行しない限り本要件への対応は不可。
DCloudFormation カスタムリソースをテンプレートに追加し、Lambda関数でデプロイ後にリソース名の変更処理を実行する
カスタムリソースはデプロイ時に Lambda を呼び出して外部リソースを管理する仕組みであり、テンプレート自体の変換機能はない。デプロイ後のリソース名変更はリソースの再作成を伴う可能性があり要件を満たさない。
解説
CloudFormation Macros は、テンプレートのデプロイ前に Lambda 関数でテンプレート全体を変換する機能です。`Transform` セクションにマクロ名を 1 行追加するだけで既存テンプレートへの修正を最小限に抑えながら、リソース名を命名規則に従って動的に書き換えられます。
選択肢A の CloudFormation StackSets はマルチアカウント・マルチリージョン展開を管理する仕組みであり、テンプレートの内容を動的に変換する機能を持ちません。パラメータによる制御では 200 以上のテンプレートへの統一的な命名規則の自動適用が困難です。
選択肢C の AWS CDK Aspects は CDK コンストラクトのプロパティを横断的に変更する機能ですが、既存の CloudFormation テンプレート(JSON/YAML ファイル)には適用できません。CDK への全面移行が前提となり、現行テンプレートそのままの利用は不可能です。
選択肢D の CloudFormation カスタムリソースはデプロイ時に Lambda を呼び出して外部リソースを管理するためのものです。テンプレート自体を変換する機能はなく、デプロイ後のリソース名変更はリソースの再作成を招く場合があり要件を満たしません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →