Defaults.Exposed › 設定 › SPF
AWS Route 53 での SPF 設定方法
Route 53 のホストゾーンに SPF レコードを追加し、メールプロバイダーがあなたの本物のメールと偽装を見分けられるようにします。
なぜこれがビジネスにとって重要なのか
SPF(Sender Policy Framework)は、あなたの名前でメールを送信してよいメールサーバーを列挙した、DNS 上の短い宣言です。あなたを名乗るメッセージを受け取ると、相手のメールプロバイダーはその一覧を照合します。送信元サーバーが一覧に無ければ、そのメッセージは怪しく見え、迷惑メールに振り分けられるか、ブロックされます。
平たく言えば、SPF は自社をメールで詐称することを難しくし、正規メールを迷惑メールフォルダではなく受信トレイに届けやすくします。レコードは 1 つ、無料で、数分で済みます。
始める前に:本当に Route 53 が自社の DNS を運用していますか?
多くの人がつまずくのがこの段階です。DNS レコードは、Route 53 が自社ドメインの DNS 問い合わせに応答している場合にのみ機能します。
Route 53 は DNS ホストであって、メールボックスのプロバイダーではありません — DNS には応答しますが、受信トレイは運用しません。ここで重要なのは 2 点です:
- そのホストゾーンが現用のものであること。 Route 53 コンソールで Hosted zones を開き、自社ドメインを選択します。そのゾーンに表示される 4 つの NS(ネームサーバー)値をメモしてください。
- 自社ドメインのネームサーバーがその値を指していること。 ドメインを Route 53 で登録した場合(Registered domains 配下)、通常はすでに揃っています。しかし他社で登録した場合や、同じドメインに複数のホストゾーンがある場合は、現用のネームサーバーがまったく別の場所を指していることがあり、ここで追加したものは何も効きません。レジストラでネームサーバーを確認し、このホストゾーンの 4 つの NS 値と一致していることを確かめてください。一致しない場合は、DNS が実際に置かれている場所で SPF レコードを追加してください。
まず 1 つの事実を確認:誰があなたのメールを送信していますか?
SPF には、自社ドメインのメールを送信するすべてのサービスを記載しなければなりません。よくある例は Google Workspace、Microsoft 365、あるいはメールボックスをホストしているプロバイダーです。各社は SPF レコードに入れる値を公開しています(Google なら include:_spf.google.com、Microsoft 365 なら include:spf.protection.outlook.com のような形が多い)。正確な値はメールプロバイダー自身のヘルプページで確認してください — そこが正しく書かなければならない部分です。
Amazon SES(Amazon 自身のメール送信サービス)経由で送信する場合、SES は既定で別の仕組みを使い、SES の SPF は任意です — ただし SES でカスタム MAIL FROM ドメインを設定している場合は、それに関する SES の正確な手順に従ってください。SES は Route 53 とは別のサービスです。Route 53 は DNS レコードを保存するだけです。
Route 53 での手順
- AWS コンソールにサインインし、Route 53 を開きます。
- 左メニューで Hosted zones を選び、自社ドメインの名前をクリックします。
- Create record をクリックします。
- ルーティングポリシーのオプションが並ぶウィザードが表示された場合は、シンプルなフォームに切り替えます(Quick create record を探します)— SPF に高度なルーティングは不要です。
- Record name 欄は空のままにします。空の名前は「ドメイン自体」を意味します。コンソールは欄の横に自社ドメインを表示するので、再入力する必要はありません。
- Record type を TXT に設定します。
- Value 欄に、SPF テキストを二重引用符で囲んで入力します:
"v=spf1 include:_spf.google.com ~all"include:の部分は、実際のメールプロバイダーが指定する値に置き換えてください。Route 53 では囲みの引用符が必須です — 下記の落とし穴を参照してください。 - TTL は既定のまま(300 秒で問題ありません)にします。
- Create records をクリックします。
Route 53 で人がよく間違える落とし穴
- TXT 値は二重引用符で囲む必要がある。 値の引用符を自動で付ける一部の DNS ホストとは異なり、Route 53 では自分で引用符を入力することを求められます。
v=spf1 ... ~allではなく"v=spf1 ... ~all"と入力してください。引用符を省くのが Route 53 で最もよくあるミスです。 - ルートドメインには Record name を空のままに。 空の名前はドメイン自体を意味します。Name 欄にフルドメイン名を入力すると、Route 53 がゾーンを再度付け加え、
yourdomain.com.yourdomain.comという決して照合されないレコードになってしまいます。 - 1 ドメインにつき SPF レコードは 1 つ。
v=spf1の TXT レコードを 2 つ持つことはできません — メールプロバイダーはそれを壊れていると見なします。ルートにすでに TXT レコードがある場合は、2 つ目の SPF レコードを作らず、新しいサービスを既存のものに編集で追加してください。 - 正しいホストゾーン、正しいアカウント。 ホストゾーン(や AWS アカウント)が複数あると、誤ったものを編集しやすくなります。編集しているゾーンが、現用のネームサーバーと NS 値が一致するものであることを確認してください。
~allと-all。~all(ソフトフェイル)は「一覧に無いものは怪しい」、-all(ハードフェイル)は「一覧に無いものは拒否する」を意味します。すべて正しく送信できることを確認するまでは~allで始め、一覧が完全だと確信できたら-allに引き締めてください。- 変更は即時ではありません。 DNS の更新は、各所に広がるまで数分から 2 時間ほどかかることがあります。
動作確認
レコードを保存し、反映まで少し時間を置いたら、このサイトの無料チェックで確認してください。SPF レコードが存在し正しく構成されているかを、平易な言葉で教えてくれます。
完了しましたか? ドメインを無料でチェック して、正しく反映されたか確認しましょう。34項目すべてにわたる総合評価も見られます。