こんにちは!サーバーワークスの松井です!
今回はAmazon AppFlowのエラーをメール通知する方法を紹介したいと思います。
Amazon AppFlowはデフォルトでAmazon CloudWatch メトリクスに連携しないのでAmazon CloudWatch Events(Amazon EventBridge)に連携させます。
やること
・Amazon AppFlowのエラーをAmazon CloudWatch Eventsで設定し、SNSを呼び出す。
前提条件
・Amazon AppFlowは作成されているものとする。
SNSを作成
[タイプ:スタンダード] -> [名前:appflow-sns] ->[表示名:appflow-sns] -> [作成]

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

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]

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

SNSでメールが届きます。
![]()
成功時にはメールが届きません。
まとめ
Amazon AppFlowでフロー実行した際にS3バケットにファイルがなかったなどは考えられるのでエラー通知の仕組みは運用していく上で必要となってくるのではないでしょうか。
是非その際にはご参考ください。