あるSaaS企業のDevOpsチームが、ChatOps(チャット駆動型運用)モデルを採用したインシデント対応を実現しようとしています。要件は以下の通りです。 - CloudWatchアラームの通知をMicrosoft Teamsの専用チャンネルに自動投稿する - オンコール(on-call:障害対応待機当番)エンジニアがTeamsから直接AWS CLIの診断コマンドを実行できる - 実行可能なコマンドはCloudWatchとEC2の読み取り専用操作のみに制限する - カスタムコードのメンテナンスを最小化する すべての要件を満たす最も適切な構成はどれですか?
選択肢BのAWS ChatbotはMicrosoft Teamsをネイティブにサポートしており、SNSトピックと連携することでCloudWatchアラームをTeamsチャンネルに自動投稿できます。チャンネルガードレール機能でCloudWatchとEC2の読み取り専用操作のみに絞り込み、チャネルIAMロールと組み合わせて最小権限を実現します。カスタムコードの実装・メンテナンスが不要で、すべての要件を満たします。 選択肢AのCloudWatchアラーム→SNS→Lambda関数でMicrosoft Teams Incoming Webhook APIにメッセージを送信する方法はカスタムコードのメンテナンスが必要となり要件を満たしません。 選択肢CのEventBridgeでCloudWatchアラームイベントをカスタムHTTPエンドポイントに転送する方法はカスタムコードのメンテナンスが必要となり要件を満たしません。 選択肢DはAWS ChatbotがMicrosoft Teamsに未対応という誤った前提に基づいています。実際にはAWS ChatbotはSlackとMicrosoft Teamsの両方をサポートしており、Slackへの切り替えは不要です。