Amazon SES で構築する大規模メール配信基盤 - 到達率の最適化と送信評価の管理

SES によるメール送信の設定、DKIM/SPF 認証、バウンス・苦情処理、送信評価の管理を解説します。

SES の概要

SES はクラウドベースの大規模メール送受信サービスです。トランザクションメール (注文確認、パスワードリセット)、マーケティングメール (ニュースレター、キャンペーン)、通知メール (アラート、レポート) の送信に使用します。料金は 2026 年 7 月 21 日に料金プラン制 (Essentials / Pro / Enterprise) へ改定され、新規のアカウントは Essentials プランから開始する形になりました (単価は後述の「SES の料金」節)。送信プロトコルとして SMTP インターフェースと AWS SDK の両方に対応しており、SDK 経由では現行世代の SES API v2 の SendEmail (simple / raw / template を content で切り替える) を使います (旧世代の v1 では SendEmail と SendRawEmail が別の API に分かれていました)。既存のメールシステムからの移行では SMTP を、新規のアプリケーション組み込みでは SDK を使い分けます。SES のインフラは複数の AWS リージョンで運用されており、リージョンごとに独立した送信レピュテーションが管理されます。

到達率と送信評価

メールの到達率を高めるには DKIM、SPF、DMARC の認証設定が必須です。SES は Easy DKIM で 2048 ビットの DKIM 署名を自動付与し (API・コンソールいずれでも 2048 ビットが既定)、カスタム MAIL FROM ドメインで SPF 認証を通過させます。DMARC ポリシーを DNS に公開することで、なりすましメールからドメインを保護します。送信評価の管理は 2 段階の閾値で考えます。バウンス率 5% 以上または苦情率 0.1% 以上でアカウントは審査 (under review) の対象となり、バウンス率 10% 以上または苦情率 0.5% 以上になると送信の一時停止 (sending paused) に至ります。アカウントの状態は Healthy / Under review / Pending end of review decision / Sending paused / Pending sending pause の段階で示されるため、5% や 0.1% の超過が即時の送信停止を意味するわけではありませんが、審査期間中に改善できなければ停止へ進みます。SES はアカウントダッシュボードのレピュテーションメトリクスでバウンス率と苦情率を表示し、閾値に近づくと CloudWatch アラームで通知できます。SNS 通知でバウンスと苦情をリアルタイムに受信し、Lambda で送信リストから自動削除するワークフローを構築します。バウンスにはハードバウンス (宛先不在) とソフトバウンス (メールボックス満杯等) があり、ハードバウンスは即座にサプレッションリストに登録し、ソフトバウンスはリトライ後に判断します。

テンプレートと受信ルール

SES のメールテンプレートは Handlebars 構文で動的コンテンツを埋め込み、SES API v2 の SendBulkEmail (旧世代の v1 では SendBulkTemplatedEmail) で大量のパーソナライズメールを一括送信します。受信ルールセットで受信メールの処理を自動化し、S3 への保存、Lambda の実行、SNS への通知、Amazon WorkMail への連携を設定できます。Virtual Deliverability Manager は送信メールの到達率をダッシュボードで可視化し、バウンス率や苦情率の改善推奨を提供します。設定セットでメール送信のイベント (送信、配信、バウンス、苦情、開封、クリック) を CloudWatch、Amazon Data Firehose、Amazon EventBridge、SNS に配信し、送信分析を実行します (Amazon Data Firehose は 2024 年 2 月まで Kinesis Data Firehose と呼ばれていたサービスです)。

SES の料金

(2026 年 8 月時点・バージニア北部と東京) SES の料金は 2026 年 7 月 21 日に料金プラン制へ改定され、料金プランと従来の従量課金の二本立てになっています。料金プランは Essentials / Pro / Enterprise の 3 種類です。Essentials は月額固定費がなく送信 1,000 通あたり 0.16 USD で、月 1,000 万通を超える分は 0.14 USD、1 億通を超える分は 0.11 USD に下がります (バージニア北部と東京で同額)。Pro は送信 1,000 通あたり 0.22 USD (1,000 万通超は 0.17 USD、1 億通超は 0.12 USD) に加えて、アカウントとリージョンの組み合わせごとに月額 105 USD がかかり、マネージド専用 IP と Virtual Deliverability Manager がプランに含まれます。Enterprise は 1,000 通あたり 0.23 USD (1,000 万通超 0.18 USD、5,000 万通超 0.13 USD) + 月額 500 USD です。2025 年 6 月 1 日以降に SES の課金対象の利用がないアカウントとリージョンの組み合わせは、2026 年 7 月 21 日以降 Essentials プランから開始します。従量課金は改定前から利用している既存アカウントが選び続けられる経路で、送信 1,000 通あたり 0.10 USD です (送信元が EC2 かどうかで単価は変わりません)。SES 独自の無料利用枠は利用開始から 12 ヶ月間・月あたり 3,000 message charges でしたが、2026 年 7 月 21 日以降の新規顧客には提供されず、AWS Free Tier のクレジットに統合されました。添付ファイルはプランと無関係に 1 GB あたり 0.12 USD が課金されます。専用 IP は 2 系統あり、標準の専用 IP は 1 IP あたり月額 24.95 USD、マネージド専用 IP はアカウントあたり月額 15 USD + 送信 1,000 通あたり 0.08 USD (1,000 万通超 0.04 USD、5,000 万通超 0.02 USD、1 億通超 0.004 USD) という別体系です。Virtual Deliverability Manager は従量課金経路では送信 1,000 通あたり 0.02〜0.07 USD で、Essentials と Pro のプランでは追加費用なしに使えます (SES 外のドメインまで監視する Global sending monitoring は月額 1,250 USD の別サブスクリプション)。受信は Mail Manager でのメール処理として課金され、ボリュームの階梯は送信とは独立に適用されます。従量経路の処理料金はバージニア北部・東京とも 1,000 通あたり 0.15 USD です (2026 年 8 月時点)。アーカイブを使う場合は東京でストレージが 1 GB あたり月額 0.19 USD、専用の受信エンドポイントは月額 50 USD が別途かかります。

設計のベストプラクティスと落とし穴

SES を本番運用する際に頻出する設計上の要点と、見落としがちな落とし穴を整理します。サプレッションリストの管理が最重要です。アカウントレベルのサプレッションリストに加え、アプリケーション側で独自のサプレッションリストを保持し、バウンスした宛先への再送信を完全に防止します。専用 IP を使う場合はウォームアップが必要で、マネージド専用 IP を選べば SES 側が送信量を見ながら自動でウォームアップを進めます。標準の専用 IP を自分で管理する場合は公式ドキュメントのウォームアップ計画に従って段階的に送信量を上げます (必要な期間とペースは目標送信量と受信側の反応で変わるため、一律の日数では決められません)。設定セットのイベント通知先を Amazon Data Firehose に設定し、S3 にログを蓄積することで、到達率の長期トレンドを分析できます。サンドボックスモードでは検証済みのアドレスまたはドメイン (およびメールボックスシミュレーター) 宛にしか送信できず、24 時間あたり 200 通・1 秒あたり 1 通の上限がかかるため、本番移行前に送信制限の解除申請を提出します。サポートからの初回応答は通常 24 時間以内で、AWS 側で追加の確認が必要な場合は承認までさらに時間がかかります。サンドボックスの状態はリージョンごとに独立しているため、送信リージョンを増やすたびに申請が必要です。DMARC のポリシーは最初 p=none で監視し、レポートを分析してから p=quarantine や p=reject に段階的に強化するのが安全です。

他のメール配信サービスとの比較

SES と他のメール配信手段を比較します。SendGrid や Mailgun と異なり、SES は AWS エコシステムとのネイティブ統合 (Lambda トリガー、S3 保存、CloudWatch メトリクス) が強みです。一方、SendGrid はマーケティングテンプレートの GUI エディタや A/B テスト機能が充実しています。オンプレミスの Postfix / SMTP リレーと比較すると、SES は IP レピュテーション管理やバウンス処理を自動化するため運用負荷が大幅に下がります。かつてメール配信の選択肢だった Amazon Pinpoint は 2025 年 5 月 20 日に新規顧客の受付を終了し、2026 年 10 月 30 日にサポート終了が予定されています。AWS はメール送信については SES への移行を推奨しており、エンドポイント・セグメント・キャンペーン・ジャーニーといったエンゲージメント機能は Amazon Connect のアウトバウンドキャンペーンへの移行が案内されています。したがって新規設計では、トランザクションメールもマーケティングメールも SES で送信し、セグメント管理や配信スケジューリングはアプリケーション側または Amazon Connect 側で担う構成になります。SNS の Email サブスクリプションは簡易通知向けで、HTML テンプレートやバウンス管理が不要な単純通知に限って利用します。

まとめ

SES の導入は、サンドボックスモードでの送信テストから始め、送信制限の解除申請を経て本番運用に移行します。到達率を維持するには、DKIM と SPF の認証設定、バウンスと苦情の処理フロー構築、送信レピュテーションの監視が不可欠です。バウンス率と苦情率は審査の閾値 (5% / 0.1%) に達する前に手を打つのが基本方針になります。Virtual Deliverability Manager のダッシュボードで到達率の推移を追跡し、問題の兆候を早期に検出します。大量配信では専用 IP アドレスでレピュテーションを分離し、ウォームアップを経て段階的に送信量を増やします (マネージド専用 IP を選べばウォームアップは SES 側の自動制御に任せられます)。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。