Q82 — AWS DOP-C02 第1章
第 82/100 問 | ← 第1章
ある企業がAWS CloudFormationを使用してアプリケーション環境のデプロイを実行しています。最近、CloudFormationスタックの更新時にデプロイが失敗しました。DevOpsエンジニアは、スタック内の一部のリソースが手動で変更されたことを発見しました。 DevOpsエンジニアは、リソースの手動変更を検出し、DevOpsマネージャーにアラートを送信するソリューションを必要としています。 これらの要件を最小限の運用工数で満たすソリューションはどれですか?
- A. Amazon Simple Notification Service (Amazon SNS) トピックを作成します。メールアドレスでDevOpsチームのSNSトピックをサブスクライブします。識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。SNSトピックをルールのターゲットとして設定します。 ✓
- B. すべてのCloudFormationリソースに特定のタグを付与します。AWS Config Rules Development Kit Library (RDKlib) を使用して、特定のタグを持つすべてのリソースの変更をチェックするAWS Configカスタムルールを作成します。CloudFormationが変更を行っていない場合、すべてのタグ付きリソース変更を「NON_COMPLIANT」としてマークするようカスタムルールを設定します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。DevOpsマネージャーにメールを送信するAWS Lambda関数を作成します。Lambda関数をルールのターゲットとして設定します。
- C. Amazon Simple Notification Service (Amazon SNS) トピックを作成します。メールアドレスでDevOpsチームのSNSトピックをサブスクライブします。識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。SNSトピックをルールのターゲットとして設定します。
- D. 識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。DevOpsマネージャーにメールを送信するAWS Lambda関数を作成します。Lambda関数をルールのターゲットとして設定します。
正解: A. Amazon Simple Notification Service (Amazon SNS) トピックを作成します。メールアドレスでDevOpsチームのSNSトピックをサブスクライブします。識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。SNSトピックをルールのターゲットとして設定します。
解説
AWS Configマネージドルール「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」は、CloudFormationスタックの実際のリソースとテンプレートによる期待状態との間の差異(スタックドリフト)を自動的に検出するために使用されます。ドリフトが検出されると、リソース状態は「NON_COMPLIANT」になります。Amazon EventBridgeはAWS Configのコンプライアンスイベントをキャプチャでき、アラートをAmazon SNSトピックに送信するルールをトリガーできます。このソリューションは完全にマネージドサービスに依存しており、追加の開発ロジックを必要としないため、運用コストが最も低くなります。選択肢BはカスタムルールとLambda関数を含むため開発工数が増加し、選択肢Cは「COMPLIANT」状態を監視しており要件に合致せず、選択肢DはSNSを使用しないためLambda関数の保守が必要です。