TL

Cloud Service

Amazon SES (Simple Email Service)

アプリからメールを送受信するためのスケーラブルなメール配信サービス。到達性とコストに優れる。

基礎DVA-C02運用上の優秀性
最終更新: 2026-06-14公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.アプリのメール送受信を担うマネージドなメール配信基盤。
  • 2.API/SMTPで送信し、受信や認証・到達性の機能も備える。
  • 3.通知やマーケメールを安価に大量送信でき、従量課金。

解決する課題

  • アプリから確認メール・通知・パスワードリセットなどを送りたい
  • 自前のメールサーバを持たず到達性スケールを確保したい
  • 大量のトランザクション/マーケメールを安価に従量課金で送りたい
  • 受信メールを受け取り、後続処理(S3保存やLambda起動)へ流したい

主要概念と用語

  • 検証済みID(Verified Identity): 送信元として使うドメインまたはメールアドレス。送信前に所有を検証する
  • サンドボックス: 初期状態の制限モード。検証済み宛先にしか送れない。本番利用は解除申請が必要
  • SMTPインターフェース / SES API: メール送信の2つの経路。既存SMTPクライアントからも、API直叩きからも送れる
  • 設定セット(Configuration Set): 送信に紐づけるルールの束。イベント発行やIP管理などをまとめる
  • イベント発行: 送信・配信・バウンス・苦情・開封などのイベントをSNSやデータ配信先へ送る仕組み
  • バウンス / 苦情(Complaint): 宛先不達や受信者の迷惑メール報告。放置すると評価が下がる
  • 専用IP / 共有IP: 送信に使うIPアドレス。専用IPは評価を自分で管理できる
  • SES受信(Inbound): 受信メールをルールセットでS3保存・Lambda起動・SNS通知などへ振り分ける

仕様・制限・クォータ

  • 送信はSES APIまたはSMTPから行う
  • アカウントには送信レート(秒あたり)1日あたり送信上限のクォータがあり、利用実績に応じて拡大される
  • 初期はサンドボックスで、検証済みの宛先にしか送信できない。本番送信には解除が必要
  • バウンス率・苦情率には許容上限の目安があり、超えると送信停止のリスクがある
  • 添付やメッセージサイズには上限がある
まずサンドボックス解除

新規アカウントはサンドボックス状態で、任意の宛先に送れません。本番でユーザーへ送るには本番アクセス(サンドボックス解除)の申請が前提になります。

内部の仕組み

アプリはAPIまたはSMTPでSESにメッセージを渡し、SESがマネージドな送信基盤から実際のメールを配信します。送信時にはDKIM署名やSPF/DMARCといった認証情報を付与でき、受信側からの信頼を高めて到達性を確保します。

送信の結果として生じる配信・バウンス・苦情・開封・クリックなどのイベントは、設定セットを介してSNSやデータ配信先へ流せます。これにより、不達アドレスの除外やダッシュボード集計といった運用を自動化できます。

受信側では、受信ルールセットにマッチしたメールをS3への保存Lambdaの起動SNS通知などへ振り分けられ、メールをトリガーにした処理を組めます。

到達性は認証で決まる

DKIM・SPF・DMARCを正しく設定することが、迷惑メール判定を避け到達率を保つ近道です。送信ドメインの認証はSESの肝です。

設計パターン / ベストプラクティス

  • **アプリ→SES(API/SMTP)**でトランザクションメール(登録確認・通知・領収書)を送る
  • 設定セット+イベント発行→SNS/データ配信先でバウンス・苦情を捕捉し、不達アドレスを自動で除外
  • 専用IPのウォームアップ: 大量送信前に徐々に量を増やし、IP評価を育てる
  • マーケメールとトランザクションメールで送信元・IPを分離し、評価への影響を切り分ける
  • 受信フローはSES受信→S3/Lambdaでサーバーレスに処理する
  • 認証情報は環境変数やSecrets Managerに置き、コードへ直書きしない

運用・監視

  • バウンス率・苦情率を継続監視し、しきい値に近づいたら原因の宛先リストを是正する
  • バウンス・苦情イベントを購読し、サプレッションリスト(送信抑止リスト)を活用して不達先への再送を防ぐ
  • 送信レート/日次上限の使用状況を把握し、必要に応じて引き上げを申請する
  • CloudWatchで送信数・配信・バウンス・苦情などのメトリクスを可視化しアラームを設定する
バウンス・苦情の放置は危険

不達や苦情を放置すると評価が低下し、最悪は送信停止に至ります。イベントを必ず購読し、問題のある宛先を送信対象から外してください。

コスト

  • 送信したメール数に対する従量課金が基本で、自前のメールサーバ運用より安価になりやすい
  • 受信メール数や、専用IPの利用、データ転送などに応じた料金が加わる
  • 大量送信でも固定費が小さく、トラフィックに比例してコストが伸びる

セキュリティ

  • IAMで送信・受信操作の権限を制御し、SMTPは専用の認証情報を発行して使う
  • 送信元IDの検証(ドメイン/アドレス)で、なりすまし送信を防ぐ
  • DKIM署名で改ざん検知と認証を行い、SPF/DMARCと組み合わせて信頼性を高める
  • VPC内からの送信や、受信メールのS3保存時の**暗号化(KMS)**を利用できる

Well-Architected の観点

  • 運用上の優秀性: イベント発行とサプレッションで、バウンス対応や到達性管理を自動化できる
  • 信頼性: マネージドな送信基盤で、スケールと冗長性をAWS側に任せられる
  • コスト最適化: 従量課金で、メール基盤の固定費と運用負荷を削減できる

試験で問われるポイント

頻出
  • アプリからのメール送信=SES(通知の同報はSNS、メールサーバ自体はSES)
  • 新規アカウントはサンドボックスで、本番送信には解除申請が必要
  • バウンス・苦情の管理DKIM/SPF/DMARCによる到達性確保が要点
  • 送信はAPI/SMTP、受信はS3/Lambda連携で処理できる

関連サービス・比較

観点SESSNS
主な用途アプリからのメール送受信Pub/Subの通知同報
宛先個別の受信者へメール購読者全員へプッシュ
チャネルメール(API/SMTP)メール/SMS/Lambda/SQS等
強み大量メールの到達性とコスト疎結合な同報・ファンアウト

ハンズオン / CLI例

# 送信元IDを検証 → サンドボックス内で検証済み宛先へテスト送信
aws ses verify-email-identity --email-address sender@example.com

aws ses send-email \
  --from sender@example.com \
  --destination "ToAddresses=verified-user@example.com" \
  --message "Subject={Data=Hello},Body={Text={Data=SES test mail}}"

AWS Service

Amazon SES (Simple Email Service)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

アプリ統合

比較で見る軸

クラウド: AWS / カテゴリ: アプリ統合 / 難易度: basic

導入後に効く点

API/SMTPで送信し、受信や認証・到達性の機能も備える。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
アプリ統合
難易度
basic
関連資格
DVA-C02
設計柱
operational

判断チェックリスト

  • 自社の用途が「アプリ統合 / operational」に近いか確認する。
  • 強みである「アプリのメール送受信を担うマネージドなメール配信基盤。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

アプリ統合operationalDVA-C02