翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: パイプラインの状態変更に関する E メール通知を受信するように CloudWatch イベントルールを設定する
でパイプラインを設定したら AWS CodePipeline、パイプラインの実行状態、またはパイプラインのステージやアクションに変更があるたびに通知を送信する CloudWatch イベントルールを設定できます。 CloudWatch イベントを使用してパイプラインの状態変更の通知を設定する方法の詳細については、「」を参照してください CodePipeline イベントのモニタリング。
このチュートリアルでは、パイプラインの状態が失敗に変わったら E メールを送信する通知を設定します。このチュートリアルでは、 CloudWatch イベントルールの作成時に入力トランスフォーマーメソッドを使用します。メッセージスキーマの詳細を変換し、人間が読み取れるテキストでメッセージを配信します。
注記
Amazon SNS 通知や CloudWatch イベントルールなど、このチュートリアルのリソースを作成するときは、リソースがパイプラインと同じ AWS リージョンに作成されていることを確認してください。
トピック
ステップ 1 : Amazon SNS を使用して E メール通知をセットアップします。
Amazon SNS は、トピックの使用を調整して、サブスクライブしているエンドポイントやクライアントへのメッセージを配信します。Amazon SNS を使用して通知トピックを作成してから、E メールアドレスを使用してトピックをサブスクライブします。Amazon SNS トピックは、 CloudWatch イベントルールのターゲットとして追加されます。詳細については、「Amazon Simple Notification Service デベロッパーガイド」を参照してください。
Amazon SNS でトピックを作成または識別します。 CodePipeline は CloudWatch 、イベントを使用してAmazon SNSを介してこのトピックに通知を送信します。トピックを作成するには:
-
Amazon SNS コンソール(https://console.aws.amazon.com/sns
)を開きます。 -
[トピックの作成] を選択します。
-
[Create new topic (新しいトピックの作成)] ダイアログボックスの [Topic name (トピック名)] で、トピックの名前 (例:
PipelineNotificationTopic
) を入力します。 -
[Create topic] (トピックの作成) を選択します。
詳細については、Amazon SNS デベロッパーガイド の トピックの作成 を参照してください。
1 つかそれ以上の受信者にトピックをサブスクライブさせ、E メール通知を受け取ります。受信者にトピックをサブスクライブさせるには:
-
Amazon SNS コンソールで、トピック リストから、新しいトピックの横にあるチェックボックスを選択します。[Actions, Subscribe to topic] を選択します。
-
[Create subscription] ダイアログボックスで、ARN が [Topic ARN] に表示されていることを確認します。
-
[Protocol (プロトコル)] として [Email (E メール)] を選択します。
-
[Endpoint] に、新しい受信者の完全な E メールアドレスを入力します。
-
[Create Subscription] を選択します。
-
Amazon SNS は受信者にサブスクリプション確認の E メールを送信します。E メール通知を受信するには、受信者は、この E メールで [サブスクリプションを確認] リンクを選択する必要があります。受信者がリンクをクリックした後、正常にサブスクライブされたら、Amazon SNS により受信者のウェブブラウザに確認メッセージが表示されます。
詳細については、Amazon SNS デベロッパーガイド の トピックのサブスクライブ を参照してください。
ステップ 2: ルールを作成し SNS トピックをターゲットとして追加する
イベントソース CodePipeline として を使用してイベント CloudWatch 通知ルールを作成します。
https://console.aws.amazon.com/cloudwatch/
で CloudWatch コンソールを開きます。 -
ナビゲーションペインの Events] を選択します。
-
Create rule を選択します。[イベントソース] で、[AWS CodePipeline] を選択します。[イベントタイプ] で、パイプライン実行の状態変更を選択します。
-
[特定の状態] を選択し、[
FAILED
] を選択します。 -
[編集] を選択し、[イベントパターンのプレビュー] ペインで JSON テキストエディタを開きます。
pipeline
パラメータを、次の例 (「myPipeline」という名前のパイプライン) に示すように、パイプラインの名前とともに追加します。ここでイベントパターンをコピーしてコンソールに貼り付けることができます。
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Pipeline Execution State Change" ], "detail": { "state": [ "FAILED" ], "pipeline": [ "myPipeline" ] } }
-
[Targets] で、[Add target] を選択します。
-
ターゲットのリストで、[SNS トピック] を選択します。[トピック] に、作成したトピックを入力します。
-
[入力の設定] を展開して、[インプットトランスフォーマー] を閉じます。
-
[入力パス] ボックスに、次のキーと値のペアを入力します。
{ "pipeline" : "$.detail.pipeline" }
[入力テンプレート] ボックスに、以下のように入力します。
"The Pipeline <pipeline> has failed."
-
[詳細の設定] を選択します。
-
[ルールの詳細を設定する] ページで、名前とオプションの説明を入力します。[状態] では、[有効] ボックスをオンのままにします。
-
[ルールの作成] を選択します。
-
CodePipeline がビルド通知を送信していることを確認します。たとえば、ビルド通知 E メールが受信トレイにあるかどうかを確認します。
-
ルールの動作を変更するには、 CloudWatch コンソールでルールを選択し、アクション 、編集 を選択します。ルールを編集し、[詳細設定] を選択し、[Update] を選択します。
ルールを使用してビルド通知を送信するのを停止するには、 CloudWatch コンソールでルールを選択し、アクション 、無効化 を選択します。
ルールを削除するには、 CloudWatch コンソールでルールを選択し、アクション 、削除 を選択します。
ステップ 3: リソースをクリーンアップする
これらのチュートリアルが完了したら、使用したパイプラインおよびリソースを削除する必要があるため、このリソースに対する継続利用料金がかかることはありません。
SNS 通知をクリーンアップして Amazon CloudWatch Events ルールを削除する方法については、Amazon Events API リファレンスの「クリーンアップ (Amazon SNS トピックからのサブスクリプション解除)」および「 リファレンスDeleteRule
」を参照してください。 CloudWatch