Q39 — AWS DOP-C02 第3章
第 39/100 問 | ← 第3章
あるDevOpsエンジニアは、AWS CodePipelineを使用して、ビルド、検証、ステージング、テスト、およびデプロイの多段階パイプラインを構築しています。テスト段階とデプロイ段階の間に、手動承認段階が必要です。開発チームは、Webhook対応のチャットツールを使用しており、ほぼリアルタイムの通知を要求しています。 DevOpsエンジニアは、チャットツールへのパイプラインイベントおよび承認リクエストのステータス更新をどのように構成すべきでしょうか?
- A. CodePipeline実行ステータスの変化をフィルタリングするAmazon CloudWatch Logsサブスクリプションを作成します。サブスクリプションイベントをAmazon Simple Notification Service (Amazon SNS)トピックにパブリッシュします。SNSトピックのチャットWebhook URLをサブスクライブし、サブスクリプションの検証を完了します。
- B. AWS CloudTrailイベントによって呼び出されるAWS Lambda関数を作成します。CodePipelineパイプライン実行ステータス変更イベントを検出した場合、イベント詳細をチャットWebhook URLに送信します。
- C. CodePipeline実行ステータスの変化をフィルタリングするAmazon EventBridgeルールを作成します。イベントをAmazon Simple Notification Service (Amazon SNS)トピックにパブリッシュします。イベント詳細をチャットWebhook URLに送信するAWS Lambda関数を作成し、SNSトピックをサブスクライブします。 ✓
- D. パイプラインコードを変更し、各段階の終了時にイベント詳細をチャットWebhook URLに送信します。URLをパラメータ化して、各パイプラインがパイプライン環境に応じて異なるURLに送信できるようにします。
正解: C. CodePipeline実行ステータスの変化をフィルタリングするAmazon EventBridgeルールを作成します。イベントをAmazon Simple Notification Service (Amazon SNS)トピックにパブリッシュします。イベント詳細をチャットWebhook URLに送信するAWS Lambda関数を作成し、SNSトピックをサブスクライブします。
解説
Amazon EventBridgeルールは、CodePipeline実行ステータス変更などのAWSサービスイベントを監視するために使用されます。変更が検出されると、イベントはAmazon SNSトピックにルーティングされます。Lambda関数がこのトピックをサブスクライブし、イベントデータを処理してチャットツールのWebhook URLを呼び出します。選択肢CはEventBridge、SNS、Lambdaを正しく組み合わせ、リアルタイム通知フローを実現します。選択肢Aはログサブスクリプションに依存しており遅延が発生する可能性があり、選択肢BはCloudTrailイベント追跡に基づくためEventBridgeほど直接的ではありません。選択肢Dはパイプラインコードの変更を伴い、保守コストが増加します。