Amazon AppFlowのエラーをメール通知する

記事タイトルとURLをコピーする

こんにちは!サーバーワークスの松井です!

今回はAmazon AppFlowのエラーをメール通知する方法を紹介したいと思います。

Amazon AppFlowはデフォルトでAmazon CloudWatch メトリクスに連携しないのでAmazon CloudWatch Events(Amazon EventBridge)に連携させます。

aws.amazon.com

やること

・Amazon AppFlowのエラーをAmazon CloudWatch Eventsで設定し、SNSを呼び出す。

前提条件

・Amazon AppFlowは作成されているものとする。

SNSを作成

[タイプ:スタンダード] -> [名前:appflow-sns] ->[表示名:appflow-sns] -> [作成]

f:id:swx-matsui:20211013160915p:plain

作成したら自分のメールアドレスをサブスクリプションに設定し、メールが届いたら承認します。

f:id:swx-matsui:20211013161057p:plain

Amazon CloudWatch Eventsを作成

1. イベントソース

[ルールの作成] -> [イベントパターン] -> [サービス名:Amazon AppFlow] -> [イベントタイプ:AppFlow End Flow Run Report]

イベントパターンのプレビューを以下の様に編集

{
  "source": [
    "aws.appflow"
  ],
  "detail-type": [
    "AppFlow End Flow Run Report"
  ],
  "detail": {
    "status": [
      "Execution Failed"
    ]
  }
}

実行が失敗した場合にだけイベントが発生するように設定します。

2. ターゲット

[ターゲットの追加] ->[SNS]->[トピック:先程作成したSNS]

f:id:swx-matsui:20211013161144p:plain

動作確認

Amazon AppFlowでフロー実行がエラーになるようにする

f:id:swx-matsui:20211013161314p:plain

SNSでメールが届きます。

f:id:swx-matsui:20211013161513p:plain

成功時にはメールが届きません。

まとめ

Amazon AppFlowでフロー実行した際にS3バケットにファイルがなかったなどは考えられるのでエラー通知の仕組みは運用していく上で必要となってくるのではないでしょうか。

是非その際にはご参考ください。