見出し画像

【IT】Amazon SES 構築ガイド(1)|設定手順と運用ベストプラクティス

皆さま、こんにちは

今回から3回に渡りAmazon SES 構築について対応内容を投稿させていただきます。


はじめに

最近、個人開発で「安定して通知メールを送信したい」というニーズが高まっています。
私の場合は、会員ログイン時の二要素認証(ワンタイムパスコード送信) にメールを利用したいと考えました。

ところが実際にメール送信サービスを探すと、いくつか壁がありました。

  • SendGrid:以前は個人でも使えましたが、現在は法人契約が前提で個人開発では利用が難しい。(有償であっても個人契約不可)

  • 他のメール配信サービス(無料プラン):無料枠はあっても到達率が低く、迷惑メールに入りやすい。

  • 他のメール配信サービス(有償プラン):品質は高いものの、月額費用が高額で個人開発にはオーバースペック。

そんな中で見つけたのが Amazon SES (Simple Email Service) です。

  • AWS アカウントさえあれば利用可能

  • 送信数ベースの従量課金(東京リージョンで 1,000通あたり $0.10

  • DKIM / SPF / DMARC に標準対応し、高い到達率を実現

👉 「コストを抑えつつ、高い到達率を確保できる」という点で、個人開発の二要素認証メール用途に最適だと感じました。

この記事では、そんな Amazon SES を実際に使い始めるための 設定手順とベストプラクティス をまとめます。



1. SESとは?

Amazon Simple Email Service (SES) は、AWS が提供する高可用・低コストなメール送信サービス。
通知メール・取引メール・認証メールなどを安全に配信できる。

  • 特徴

    • 高い到達率(DKIM/SPF/DMARC対応)

    • AWSのインフラで大規模送信にも対応

    • SMTP/SDK/CLIで利用可能


2. 初期設定

  1. AWSアカウントにログイン

  2. リージョンを ap-northeast-1(東京) に設定

  3. SESサービスを開く


3. 認証方法

  • メールアドレス認証
    簡易利用時は送信元アドレスを検証

  • ドメイン認証(推奨)
    本番運用では必須。ドメインを所有していることを証明し、DNSレコードを追加する。


4. DNSレコード設定(合計6つ)

SESで本番運用するには、ドメインに以下のレコードを設定する必要がある。

(1) DKIM(DomainKeys Identified Mail)

  • 3つの CNAMEレコード を設定

  • 鍵長は RSA 2048bit が推奨

(2) カスタム MAIL FROM ドメイン

  • 2つのレコードを設定

    • MXレコード

    • TXTレコード (SPF)

(3) DMARC(Domain-based Message Authentication, Reporting & Conformance)

  • 1つの TXTレコード を設定

👉 合計で 6レコード をDNSに登録する。

DNS登録について

DNS登録は、契約されているプロバイダーの手順に従ってください。
多くの場合、Web管理画面から実施でき、反映には数時間〜1日程度かかる場合があります。

参考:お名前.comの手順


5. SPFについて

SPF(Sender Policy Framework)は「このドメインから送信していいサーバーはこれです」と宣言する仕組みです。

📌 例えるなら → 郵便物に押される「差出人証明スタンプ」 のようなものです。

  • スタンプが押されていれば「正規の差出人から来た」と判断される

  • スタンプが無ければ「怪しい郵便物(迷惑メール)」とみなされる

もし SPF を設定していないと:

  • なりすましメール扱いで迷惑フォルダ行き

  • 受信側サーバーで拒否される

👉 Amazon SES では、カスタム MAIL FROM ドメインを設定する際に SPF レコードを置くことで、このチェックを通過できます。

記述例:

mail.example.com. IN TXT "v=spf1 include:amazonses.com -all"

・`include:amazonses.com` → SES サーバーからの送信を許可
・`-all` → それ以外のサーバーからの送信は不正とみなす

👉 SPF を設定することで、受信側に「このメールは正しい経路で送られている」と証明でき、到達率が大幅に改善します。

💡Tips:MAIL FROM と SPF の関係

  • SPF 判定は「表示されるFrom」ではなく MAIL FROM ドメイン に対して行われます。

  • 一方、もし From を `no-reply@example.com` にしたい場合は、MAIL FROM も `example.com` になるため、`example.com` 側に SPF を追加する必要があります。

  • DMARC 判定は ヘッダーFrom(表示用アドレス) に対して行われるため、どちらのドメインをFromに使うかで配置場所が変わります。

👉 ベストプラクティスは、MAIL FROM 専用のサブドメイン(例:`mail.example.com`)を用意し、From も合わせて運用することです。


6. 検証方法

  • dig/nslookup コマンドで DNS伝播を確認

  • Gmail で受信後、右上の︙メニュー → 「メッセージのソースを表示」 以下を確認します。

    • `spf=pass`

    • `dkim=pass`

    • `dmarc=pass`


7. チェックリスト

  • DKIM 3件設定済み

  • MAIL FROM ドメイン設定済み

  • SPF(TXT)がMAIL FROMに反映済み

  • DMARC TXT設定済み

  • GmailでSPF/DKIM/DMARC=pass 確認済み


📖 Amazon SES 構築ガイド シリーズ一覧



では
次回に!



いいなと思ったら応援しよう!