Defaults.Exposed › 設定 › DKIM
AWS Route 53 での DKIM 設定方法
メールプロバイダーの DKIM 鍵を Route 53 のホストゾーンに公開し、メールに改ざん防止の署名を付けます。
なぜこれがビジネスにとって重要なのか
DKIM(DomainKeys Identified Mail)は、送信するすべてのメールに目に見えないデジタル署名を付けます。受信側のメールプロバイダーは、あなたが DNS に公開した公開鍵を使って 2 つのことを確認します:メッセージが本当に自社ドメインから来たこと、そして誰も途中で改変していないこと。
平たく言えば、DKIM はメールの真正性の封印です。なりすましを難しくし、正規メールを迷惑メールではなく受信トレイに届ける確率を高めます。他と同様、無料で、設定は一度きりです。
重要:DKIM には 2 つの半分がある
DKIM は、誰が何をするかが本当に重要になる唯一のレコードです:
- メールプロバイダーが鍵を生成します。 Google Workspace、Microsoft 365、Amazon SES、あるいは送信を運用している会社が、その管理コンソール内であなたのために DKIM 鍵を生成します。これを自分で作り出すことはできません — 正確なホスト名と値を相手から入手する必要があります。Route 53 は DKIM 鍵を生成しません。Route 53 は DNS ホストであって、メールボックスのプロバイダーではありません。
- Route 53 がそれを公開します。 その鍵を自社ドメインの DNS(Route 53 が DNS を運用している前提 — 下記参照)に追加します。
つまり、メールのプラットフォームで生成し、DNS ホストで公開する、ということです。
まず、Route 53 が自社の DNS を運用していることを確認
DKIM レコードは、Route 53 が自社ドメインの DNS に応答している場合にのみ機能します。Route 53 コンソールで Hosted zones を開き、自社ドメインを選択して、4 つの NS(ネームサーバー)値をメモします。それらは、レジストラで設定されたネームサーバーと一致していなければなりません。ドメインを Route 53 で登録した場合は通常すでに一致しています。他社で登録した場合 — または同じドメインに複数のホストゾーンがある場合 — は注意して確認してください。現用のネームサーバーが別のプロバイダーを指している場合は、DKIM レコードをそちらで追加してください。Route 53 では効果がありません。
メールプロバイダーから鍵を入手する
メールプロバイダーの管理エリアで、DKIM またはメール認証の設定を探し、鍵を生成/有効化します。何が返ってくるかはプロバイダーによって異なり、それが Route 53 での入力方法を変えます:
- Google Workspace は TXT レコードを提供します:
google._domainkeyのようなセレクタ名と、v=DKIM1; k=rsa; p=で始まる長い値(続いて非常に長い文字列)。 - Microsoft 365 は 2 つの CNAME レコードを提供します。セレクタは
selector1._domainkeyとselector2._domainkeyのような形で、それぞれ Microsoft のホストを指します。 - Amazon SES は 3 つの CNAME レコードを提供します(その「Easy DKIM」機能)。ドメインが Route 53 にある場合、SES がこれらを自動で追加すると申し出ることがよくあります — ただし手動で追加することもできます。
ホスト名と値を正確にコピーしてください。
Route 53 での手順
- AWS コンソールにサインインし、Route 53 を開きます。
- 左メニューで Hosted zones を選び、自社ドメインの名前をクリックします。
- Create record をクリックします。
- ルーティングオプションが並ぶウィザードが表示された場合は、シンプルなフォームに切り替えます(Quick create record を探します)。
- Record name には、セレクタ部分のみ — 例えば
google._domainkeyやselector1._domainkeyを入力します。末尾にドメイン名を付けないでください。Route 53 が自動でゾーンを付け加えます(欄の横に自社ドメインを表示します)。 - Record type を、プロバイダーが提供したものに正確に合わせて TXT または CNAME に設定します(Google = TXT、Microsoft 365 と Amazon SES = CNAME)。
- Value には:
- TXT 鍵の場合、長い値を二重引用符で囲んで貼り付けます:
"v=DKIM1; k=rsa; p=..."。 - CNAME の場合、プロバイダーが提供したターゲットホストを、引用符無しで貼り付けます(例:
selector1-yourdomain._domainkey.yourdomain.onmicrosoft.com)。
- TXT 鍵の場合、長い値を二重引用符で囲んで貼り付けます:
- TTL は既定のままにします。
- Create records をクリックします。各レコードについて繰り返します(Microsoft 365 は 2 つ、Amazon SES は 3 つ必要です)。
Route 53 で人がよく間違える落とし穴
- TXT 鍵は二重引用符が必要、CNAME は不要。 これが人を絶えずつまずかせます。TXT の DKIM 値は引用符付きで
"v=DKIM1; ... p=..."と入れます。CNAME の値は引用符無しのプレーンなターゲットホストです。これを取り違えるとレコードが壊れます。 - Record name にフルドメインを入れない。 プロバイダーの手順が
selector1._domainkey.yourdomain.comを示している場合、Route 53 にはselector1._domainkeyだけを入力します — 残りは自動で付けられます。ドメインを重ねて入れると、selector1._domainkey.yourdomain.com.yourdomain.comという壊れたホストになります。 - 鍵全体を貼り付ける — 長いです。 TXT の DKIM 公開鍵は数百文字あります。途中で切れていないこと、コピー&ペースト時に余計な空白や改行が紛れ込んでいないことを確認してください。
- プロバイダーが求めたレコードをすべて追加する。 Microsoft 365 は 2 つの CNAME のうち 1 つだけでは検証されず、Amazon SES は 3 つすべてが必要です。一部だけだと DKIM は黙って失敗します。
- TXT か CNAME か — プロバイダーに従う。 CNAME を TXT に、またはその逆に変換しないでください。指定された種別を使ってください。
- 正しいホストゾーン、正しいアカウント。 ゾーンや AWS アカウントが複数あると、誤ったものを編集しやすくなります。ゾーンの 4 つの NS 値が現用のネームサーバーと一致していることを確認してください。
- 時間を置く。 DNS の変更は、DKIM が検証を始める前に、伝播まで数分から 2 時間ほどかかることがあります。
動作確認
保存して伝播の時間を少し置いたら、このサイトの無料チェックを実行してください。DKIM レコードが公開され読み取り可能かを、平易な言葉で確認してくれます。
完了しましたか? ドメインを無料でチェック して、正しく反映されたか確認しましょう。34項目すべてにわたる総合評価も見られます。