CodePipeline の状態変化を EventBridge で捕捉して SNS メール通知する

S3 ソース→CodeBuild のパイプラインを作り、EventBridge ルールで成功/失敗を捕捉して SNS でメール通知する監視を構築します。

中級50Azure 実環境

ラボ概要

シンプルな CI パイプライン(S3 ソース → CodeBuild)を作成し、その実行結果の状態変化(成功 SUCCEEDED / 失敗 FAILED)を Amazon EventBridge(旧 Amazon CloudWatch Events)のルールで捕捉して、Amazon SNS のメール通知に変換する監視を構築します。CodePipeline はステージや実行の状態変化を自動的に EventBridge へ送出するため、ポーリングなしでイベント駆動の通知基盤を組めます。最後にビルドをわざと失敗させ、「失敗を見逃さない」監視が動くことを体感します。

> このラボのタイトルにある「CloudWatch」は、CodePipeline の状態変化イベントを処理する CloudWatch Events(現在の名称は Amazon EventBridge) を指します。CloudWatch のメトリクスやアラームは使いません。本ラボの監視の中核は EventBridge ルールです。

学習目標

  • CodePipeline で S3 ソース → CodeBuild のシンプルなパイプラインを構築できる
  • CodePipeline が EventBridge(既定イベントバス)へ送出する状態変化イベントの構造を理解する
  • EventBridge のイベントパターンで、特定パイプラインの SUCCEEDED / FAILED だけを絞り込める
  • 入力トランスフォーマーでイベント JSON を読みやすい通知本文に整形できる
  • SNS トピック + メール購読でアラートを受信し、トピックポリシーの発行権限の要点を理解する
  • 失敗時に通知が届くことを検証し、運用監視の基本パターンを把握する

前提

  • 学習者は cloud_user ロールで東京リージョンのコンソールにサインイン済みです(フェデレーテッドサインイン)。
  • すべての操作は東京リージョン(ap-northeast-1)で行います。CodePipeline / CodeBuild が使う IAM サービスロールは、このラボの手順内で「新しいサービスロール」として自動作成します(IAM ロールはグローバルサービスである IAM 上に作られますが、操作自体は東京リージョンのコンソールから行います)。
  • 受信できるメールアドレスを 1 つ用意してください(SNS の購読確認メールと、成功/失敗の通知メールを受け取るため)。
  • このラボのリソースはすべて学習者自身がコンソールと CloudShell で作成します。事前構築済みのインフラや外部リポジトリは不要です。

ラボの構成

  1. 1通知用の SNS トピックとメール購読を作成する
  2. 2ソース用の S3 バケットを作成する
  3. 3ソースアーティファクト(zip)を準備してアップロードする
  4. 4CodeBuild プロジェクトを作成する
  5. 5パイプライン(S3 ソース → CodeBuild)を作成する
  6. 6EventBridge ルールでパイプラインの状態変化を捕捉する
  7. 7成功通知をテストする
  8. 8失敗通知をテストする(わざと失敗させる)
  9. 9動作確認
  10. 10完了チェックリスト
  11. 11後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース

参考リンク

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

DVA-C02AWS Developer – Associate練習テスト 4 回・全 200DOP-C02AWS DevOps Engineer – Professional練習テスト 4 回・全 200