2015年2月7日土曜日

SES(Simple Email Service)の監視について確認した時のメモ

このエントリーをはてなブックマークに追加 はてなブックマーク - SES(Simple Email Service)の監視について確認した時のメモ

SESを使うときの監視について確認したのでメモ。

概要

SESでは以下については監視などしておくと良さそうです。

  1. 24時間以内の送信メール数と上限値
  2. Bounce数
  3. Complaint数

1は単純にそれを超えると送信ができなくなるため(上限値は徐々にあがるのを待つか別途申請が必要) 2,3もその割合が多すぎるとAWS側でメールサービスを停止することがあるからです。

具体的にどう監視するかという所で大きく分けて2つあるようです。

  1. AWS CLI(SDK)を使って定期的に取得する
  2. SESの配信通知を使う

1.AWS CLI(SDK)を使って定期的に取得する

AWS CLI(SDK)で監視すべき内容が取得できます(恐らくSDKでも取れると思います)

AWS CLI ses

具体的なオプションとしては「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を通じて通知が受け取れるようです。

【AWS発表】SESの配信通知

SNSではメール通知やHTTPによって通知などできるので監視やBounceやComplaint時の送信先宛先リストからの削除などが出来ると思います。

0 件のコメント:

コメントを投稿