無限ノック › DOP 練習問題一覧 › 問題
DOP構成管理と Infrastructure as Code (IaC)

あるDevOpsエンジニアはCloudFormationデプロイパイプラインに以下の2つの機能を追加しようとしています。 ①CloudFormationがリソースを作成・更新・削除する際に外部のCMDB(構成管理データベース: Configuration Management Database)にリソース情報を同期する。 ②CloudFormationテンプレート内の${ENV}や${TIMESTAMP}のようなカスタムプレースホルダーを、デプロイ前のテンプレート処理フェーズで動的に展開する。 ①と ②それぞれに最も適したCloudFormationの拡張機能の組み合わせはどれですか?

A
①②の両方にCloudFormationカスタムリソース(AWS::CloudFormation::CustomResource)を使用する。①はCreate/Update/DeleteイベントのLambda処理でCMDB登録を行い、②は文字列変換をLambdaが実行しFn::GetAttで変換後の値を参照する
マクロが担うべきテンプレート変換をカスタムリソースで代替しようとしており設計が不適切です。
B
①にはCloudFormationカスタムリソース(Type: Custom::CMDBSync)をLambdaバックエンドで実装しDependsOnで対象リソース完了後に実行させる。②にはCloudFormationマクロ(AWS::CloudFormation::Macro)をLambdaで実装してTransformセクションで呼び出しデプロイ前のテンプレート変換を実現する
✓ 正解
カスタムリソースはスタックのCREATE/UPDATE/DELETE時にLambdaを同期呼び出しするため、リソース作成後の外部システム連携(①CMDB登録)に最適です。CloudFormationマクロはデプロイ前のテンプレート変換フェーズでLambdaを実行するため、カスタムプレースホルダーの展開(②)に適しています。
C
①にはEventBridgeルールでCloudFormation APIイベント(CloudTrail経由)を検知しLambdaでCMDBに非同期登録する。②にはDynamic References({{resolve:ssm:...}}構文)を使用してSystems Manager Parameter Storeから値を動的解決する
非同期EventBridgeはリソース作成との同期保証がなくCMDB整合性を損ないます。
D
①②の両方にCloudFormation Hooks(AWS::CloudFormation::Hook)を使用する。PRE_CREATE/PRE_UPDATEフックでCMDB登録とテンプレートプレースホルダー変換を処理し、完了後にSUCCESSを返してデプロイを続行させる
CloudFormation Hooksは、PRE操作の検証・ブロック用途であり、テンプレート変換機能は持ちません。

解説

カスタムリソースはスタックのCREATE/UPDATE/DELETE時にLambdaを同期呼び出しするため、リソース作成後の外部システム連携(①CMDB登録)に最適です。CloudFormationマクロはデプロイ前のテンプレート変換フェーズでLambdaを実行するため、カスタムプレースホルダーの展開(②)に適しています。 選択肢Aはマクロが担うべきテンプレート変換をカスタムリソースで代替しようとしており設計が不適切です。 選択肢Cの非同期EventBridgeはリソース作成との同期保証がなくCMDB整合性を損ないます。 選択肢DのCloudFormation Hooksは、PRE操作の検証・ブロック用途であり、テンプレート変換機能は持ちません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る