Amazon SESから「バウンス率超過」の警告が来たときの対応方法



この記事ではAWSのメール配信サービスである「Amazon SES(Simple Email Service)」にて、 バウンス率の基準値超過により、以下のような警告が通知されレビュー対象となった際の経緯とその後の対応方法について解説します。

Hello,

There's an issue related to your Amazon SES account that requires your attention. This message contains more information about these issues, and some information that might help you resolve them.

We only change your sending status in order to protect your reputation as a sender, and to ensure that other SES customers' ability to send email isn't impacted. We may pause your account's ability to send email so that you have time to address these issues. When you fix these issues, we'll restore your account's ability to send email.

(以下省略)
補足
警告通知についてはAWSマネージドコンソールにて確認することができます。
AWSコンソール → AWSサポート → お客様のサポートケース → 詳細

バウンスとは?

バウンスとは、送信したメールが送信先に届かず跳ね返ってくることです。
バウンスが多いと送信元の信頼性が下がり、スパム扱いされやすくなるため注意が必要です。

Amazon SESではバウンス率を重要視している

Amazon SESでは、送信元の信頼性を守るために バウンス率や苦情率を常に監視 しています。
具体的には以下の基準が設けられています。

・バウンス率:5%未満(2%未満を推奨) ・苦情率:0.1%未満

この数値を超えると、冒頭で記載したような警告がアカウントに届き、放置してしまうと送信制限や停止といった措置を受ける可能性があります。
そのため、SESを使用する上で「バウンス率/苦情率を基準値未満に維持すること」は非常に重要となってきます。

参考:バウンス率、苦情率

警告が通知された原因

今回バウンス率超過の警告が通知された原因として、システムの検証用環境にて負荷テストを実施した際にtest@example.comのような架空のメールアドレス向けに 大量にメール送信を行っていたためでした。
システムによるメールの一斉送信にて、バウンス率が急上昇し、基準値を超えてしまったことで警告の通知が届いたという経緯になります。

警告が届いた際の対応

ここからは警告が届いた後に行った対応について解説します。

まず、冒頭で記載した警告通知では主に下記のようなことが書いてあります。

  • 返信がない場合または問題が解決されない場合はAmazon SES を使用して E メールを送信する機能を一時停止します
  • 以下に対する回答を連絡してください
    • バウンス率が高かった原因は何ですか?
    • E メール送信システムまたはプロセスにどのような変更を加えましたか?
    • 今後問題が再び発生しないようにするにはどうすればよいでしょうか?

バウンス率が基準値を超えてしまった原因の解明と、今後の予防策を施したうえでサポートチームへの回答が必要になります。
今回の原因は架空のメールアドレス向けに大量にメール送信してしまったことが原因ですが、原因が不明な場合は送信先メールアドレスの確認など、別途調査が必要になります。
バウンス率や苦情率が上昇した際の原因調査には、Amazon SESの「サプレッションリスト」を確認することで原因の一端を把握できる場合があります。

サプレッションリストとは?

サプレッションリストとは、送信先として不適切と判断されたメールアドレスを自動的にブロックする仕組みです。
Amazon SES では、2019 年 11 月 25 日以降に利用を開始したアカウントではデフォルトで サプレッションリスト が有効になっています。

・実在しないメールアドレスに送信した場合(ハードバウンス) ・受信者からスパム報告があった場合

以上のケースなどで、実在しない、もしくはスパム報告のあったメールアドレスがサプレッションリストに自動で追加され、再度送信されないようになります。

参考:Amazon SES アカウントレベルのサプレッションリストの使用

対策1:SESメールボックスシミュレータ―を使用

Amazon SESには「メールボックスシミュレータ―」と呼ばれるメール送信をテストするための仕組みが用意されています。
メールボックスシミュレータ―のアドレス向けにメール送信されたメールは送信クォータに加算されず(課金の対象にはなる)、
バウンス率や苦情率の計算にも含まれないため、安心して使用することができます。

使用例
success@simulator.amazonses.com に送信  → 配信成功
bounce@simulator.amazonses.com に送信   → バウンス扱い
complaint@simulator.amazonses.com に送信 → 苦情扱い

参考:シミュレーターを使用した Amazon SES でのテストメール送信

また、「bounce+label1@simulator.amazonses.com」「bounce+label2@simulator.amazonses.com」といったようにエイリアスにも対応しているため、
テスト用のメールアドレスを大量に準備することができます。

対策2:CloudWatchアラームを設定してバウンス率/苦情率を監視

下記記事をを参考に、CloudWatchアラームを設定してバウンス率/苦情率が閾値を超えた際に通知されるようにしておき、
バウンス率、苦情率が上昇した際に迅速に対応できるようにしておきます。

参考:CloudWatch を使用して評価モニタリングアラームを作成する

バウンス率は10%を超えるとメール送信機能が停止する可能性があるため、 バウンス率が5%以上になった際にアラート されるように設定しておきます。
苦情率は0.5%を超えるとメール送信機能が停止する可能性があるため、 苦情率が0.1%以上になった際にアラート されるように設定しておきます。

AWSサポートチームへの返信

今回は下記対策をしたうえで、サポートチームへ回答しました。

  • 検証用環境ではメールボックスシミュレータを使用するように徹底
  • CloudWatchアラームを設定し、バウンス率、苦情率が閾値を超えた場合に通知するように設定

サポートチームへの回答については「AWSマネージドコンソール」→「サポート」→「お客様のサポートケース」から該当の警告通知を選択して返信が可能です。

(参考:回答例)

Dear AWS Support Team,

I hope this message finds you well.

I am writing to follow up on the issue we encountered with a high bounce rate. Here are the details regarding the root cause, the changes we have implemented, and our measures to prevent future occurrences:

*   What caused your high bounce rate?
Answer: During a load test that included email sending processes for our web application, we executed a large number of processes, which resulted in emails being sent to invalid test addresses. This caused the bounce rate to be high.

*   What changes have you made in your email-sending systems or processes?
Answer: We have started using AWS SES’s email address simulator during testing. This allows us to conduct tests without affecting actual email addresses.

*   How do these changes ensure that the issue won't occur again in the future?
Answer: We have set up CloudWatch alarms to notify us if the bounce rate exceeds 5% or the complaint rate exceeds 0.1%. This allows us to detect issues early and respond promptly.
AWSサポートチーム様

お世話になっております。

高いバウンス率に関する問題についてフォローアップさせていただきます。以下に、問題の原因、実施した変更、そして再発防止策についての詳細をお伝えします。

* バウンス率が高かった原因は何ですか?
回答: Webアプリのメール送信処理を含む負荷テストを行った際に、大量の処理を実行した結果、架空のメールアドレスに対してメールを送信してしまいました。そのため、バウンス率が高くなりました。

* E メール送信システムまたはプロセスにどのような変更を加えましたか?
回答: テスト時にはAWS SESのメールボックスシミュレーターを利用するようにしました。これにより、実際のメールアドレスに影響を与えることなくテストを行うことができます。

* これらの変更によって、今後問題が再び発生しないようにするにはどうすればよいでしょうか?
回答: CloudWatchアラームを設定し、バウンス率が5%、苦情率が0.1%を超えた場合に通知を受け取るようにしました。これにより、問題が発生した際には早期に検知し、迅速に対応することができます。

無事レビュー期間が終了

今回の場合はサポートチームへ返答後、約5時間後に下記通知が届き、レビュー期間が終了したとのことでした。

We previously contacted you to let you know that we placed your Amazon SES account in the ********* Region under review because of a large number of bounces. The status of this issue has changed, and we've ended this review period.
(以前、お客様の Amazon SES アカウントが ******** リージョンにある Amazon SES アカウントを多数のバウンスがあったため、審査対象としたことをお知らせしました。この問題の状況は変更され、このレビュー期間は終了しました。)

まとめ

今回は、Amazon SESにてバウンス率の上昇により警告通知が届いた際の対応について解説しました。
メールの配信は多くのシステムで取り入れている仕組みのため、突然メール送信機能が停止してしまう事態にならないように対策しておくことが重要です。