Amazon SESの掟

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

こんにちは。技術3課の森です。以前はEメールを使ってコミュニケーションをすることが多かったのですが、 最近は仕事ではSlack、プライベートではSlackとFacebook Messenger、妻とはLINEを使ったスタンプ中心の会話です。

前々から思い当たることがあり、Amazon SESについて書いてみます。
設定については色々紹介されてはいますので、今回は制限や利用時の注意点を簡単にまとめました。
利用される場合は、注意しないと最悪な結果になる可能性があるのでご注意ください。

はじめに

Amazon SESとはAWSが提供するEメールプラットフォームです。
利用できるリージョンは「米国東部(バージニア北部)」「米国西部(オレゴン)」「EU(アイルランド)」の3リージョン。
料金については無料枠もあります。詳細は、こちらをご参照ください。
Amazon SESは送信・受信の両方に対応していますが、今回は送信のみのお話で、利用時の注意点や制限事項をご紹介します。

注意点

異常と扱われるメール

送信したメールがエラーになったりして、異常として判断されるメールとして次の2つが存在します。

バウンス

1. ハードバウンス:永続的な E メール配信の障害。たとえば、メールボックスが存在しない場合です。
2. ソフトバウンス:一時的な E メール配信の障害。たとえば、メールボックスがいっぱいである、接続が多すぎる(スロットリングとも呼ばれる)、または接続がタイムアウトになった場合です。

バウンスはレートで判断され、ざっくり言うと(バウンスになった回数)÷(全送信数)となります。

苦情

スパムとみなされた場合です。
詳しくはこちらの「E メール配信問題の理解」をご参照ください。

対策例

本質的な対策は別途検討が必要となりますが、AWSでは、バウンス/苦情共に発生率をチェックされています。 明確な発生率は定義されていませんが、一般論としてホワイトペーパーに記載されています。

バウンス率 苦情率
5% 0.1%

バウンス率/苦情率が高くなり最悪の場合、Amazon SESの利用停止やアカウントの利用停止となる可能性があります。
そのため、メールアドレスのホワイトリストを常に更新しておき、バウンスや苦情が発生した場合は、ホワイトリストから取り除くことなどを検討しておく必要があります。方法のひとつとして、Amazon SNSを利用してバウンスした情報や苦情に関する情報を通知する機能があります。 設定方法については省きますが、こちらをご参照ください。
通知を受け取った後にホワイトリストを更新するなどの処置を行い、バウンス率や苦情率を下げるようにします。
なぜそれだけ厳しい制限を行うのかと言うとAmazon SESから送ったメールがバウンスすると発信元のAmazon SESに問題があると判断され、Amazon SESがブラックリストに乗ることとなります。
するとAmazon SESを利用されている他の顧客もメールの送受信機能が利用できなくなるため、こういった制限を設けていると考えられます。

補足情報

Amazon SESにはメール送信における挙動をシミュレートできる仕組みがあります。これを利用することで、バウンスや苦情のシミュレートが可能になります。
やり方としては、メールの宛先(To)にシミュレート用のアドレスを設定してメールを送信します。宛先次第で、結果がバウンス/苦情/正常など返してくるものになります。
詳しくは、こちらをご参照ください。

制限事項

制限事項としては大きく二つあり、制限緩和可能なものと制限緩和不可能なものがあります。 Amazon SESは初期状態の時にサンドボックス状態となっています。 理由は、Amazon SESを利用されるお客様を詐欺行為や不正行為から保護し、ISPおよびメールの受信者に対する信頼性を確立できるようにするため、新しいユーザーには無制限の Amazon SESの使用をすぐに許可していません。 解除する方法としては、サポートセンターで上限緩和を申請することで制限を解除することができます。 設定方法については省きますが、こちらをご参照ください。 また、サンドボックス状態のデフォルト値は以下の通りになります。

内容 デフォルト 説明
送信クォータ 200通/24時間 24 時間当たりに送信できる E メールの最大数
最大送信レート 1 Eメール/1秒 Amazon SESが1秒あたりにアカウントから受け付けるEメールの最大数

制限緩和可能なものについては、システムでの送信クォータと最大送信レートを鑑みて申請をしてください。 それ以外の項目は制限緩和が制限緩和ができない項目となります。
詳しくはAWSの公式ドキュメント Amazon SES における制限をご参照ください。

最後に

今まで意識せずに利用していたメールですが、本来、バウンスや苦情にも注視してシステムを構築する必要があります。 これは、Amazon SESを利用するということに限った話ではなく、メールサーバを自前で構築したり、SendGridのようなSaaSを利用する場合でも同様です。 もし、他にも注視するようなことがございましたら、ご連絡いただけると幸いです。

daiki mori(執筆記事の一覧)

アプリケーションサービス部 ディベロップメントサービス1課

お酒とLambdaとつまみとConnectが好きです。