AWS 実践 07

SESで届く・信じられるメールを送る

アプリの送信処理、SES、DNSメール認証、IAM権限をつなげて、なりすましに強いメール配信基盤を作る。

TL;DR
  1. SESはアプリからの配送を担う。
  2. SPF・DKIM・DMARCで送信ドメインの信頼を作る。
  3. stgではタスクIAMロールにSES送信を許可する。

01 全体像 — 差出人確認つき郵便局

ECSアプリがSESとDNS認証を使って受信者へメールを送る図
SESは配送を担い、DNS認証が送信ドメインの信頼を補強する。
二層の確認: DNSは送信ドメイン、IAMはアプリ実行者がSES APIを呼べることを確認する。

02 SPF・DKIM・DMARC — 信頼の3点セット

SPF DKIM DMARCの役割を並べて示す図
SPFは送信元、DKIMは署名、DMARCは認証失敗時の方針を扱う。
仕組み役割
SPF許可された送信元かをDNS情報で確認
DKIMメールに付けた電子署名を検証
DMARC認証不整合のメールをどう扱うかを公開

03 実行権限 — DNSとIAMを両方そろえる

DNS認証とECS IAMロールがSES送信に必要な図
正しい差出人ドメインと、送信を実行する権限の両方が必要。
MODE=batch TYPE=send-email ./main \\
  -destination=$VERIFIED_EMAIL -subject=test-stg

教材のsandboxでは検証済みアドレス・1日200通の制約を確認する。

結論

  1. SESは配送、DNS認証は信頼、IAMは実行許可を担う。
  2. SPF・DKIM・DMARCを役割別に理解する。
  3. sandboxの制約内で確認し、本番移行は別途申請・運用設計を行う。