SESを使うときの監視について確認したのでメモ。
概要
SESでは以下については監視などしておくと良さそうです。
- 24時間以内の送信メール数と上限値
- Bounce数
- Complaint数
1は単純にそれを超えると送信ができなくなるため(上限値は徐々にあがるのを待つか別途申請が必要) 2,3もその割合が多すぎるとAWS側でメールサービスを停止することがあるからです。
具体的にどう監視するかという所で大きく分けて2つあるようです。
- AWS CLI(SDK)を使って定期的に取得する
- SESの配信通知を使う
1.AWS CLI(SDK)を使って定期的に取得する
AWS CLI(SDK)で監視すべき内容が取得できます(恐らくSDKでも取れると思います)
具体的なオプションとしては「get-send-quota」および「get-send-statistics」が該当します。
get-send-quotaでは24時間以内のメール送信数の上限と現在の送信数が取得でき、get-send-statisticsでは2週間以内の15分ごとの送信状況(何通送って何通がBounceしたかComplaintになったか)などが取得できます。
なので例えば24時間以内のメール送信数と上限の割合を取得する場合、具体的に以下のコマンドでパーセンテージが取得できます。(動作確認済み)
上記を利用してAWSのCloudWatchと連携すると「上限数のhoge%を超えたらアラートメールを送る」などという事が可能です。
CloudWatchとの連携は以下サイトが参考になると思います。(ここで紹介されているPythonツールは個人でメンテナンスしているようでAmazonとしてno longer supportらしいのでSDKかCLIを使ったほうが良さそうです)
Amazon Simple Email Service (SES)の送信件数をCloudWatchのカスタムメトリクスで監視する
2.SESの配信通知を使う
SESで設定をしておけば、
- Bounce
- Complaint
- Delive(正常に宛先に届いたか)
などの時にAWS-SNSを通じて通知が受け取れるようです。
SNSではメール通知やHTTPによって通知などできるので監視やBounceやComplaint時の送信先宛先リストからの削除などが出来ると思います。
0 件のコメント:
コメントを投稿