🔔

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

難易度:中級
所要時間:50 分

ラボ概要

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

シンプルな 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 で作成します。事前構築済みのインフラや外部リポジトリは不要です。
🔔

ハンズオンラボとは?

本物の Azure リソースを使い、リスクなく試行錯誤しながら実践的なスキルを身につけられます。

他のラボを見る