はじめに
個人開発中の Web サービスにおいて、以下の課題がありました。
- メール送信(Resend)と受信(DMARC レポート)の基盤が未整理
- SPF / DKIM / DMARC が分散し、設定状況が把握しづらい
- Cloudflare Email Routing を使いたいが有効化できない
これらを解決するため、ネームサーバーを Cloudflare に移行し、DNS とメール基盤を整理しました。
本記事では、実際に行った変更内容と注意点をまとめます。
作業前の構成
ドメイン管理 : お名前.com
ネームサーバー : Netlify(nsone)
DNS管理 : Netlify DNS
Webホスティング : Netlify
メール送信 : Resend(部分的に設定)
メール受信 : なし
問題点
- Cloudflare Email Routing は Cloudflare が権威 DNS でないと使用不可
- SPF / DKIM / DMARC の管理が分散
作業の全体像
今回行ったのは ドメイン移管ではなく、DNS運用の移管(ネームサーバー移行)。
| 項目 | 変更有無 |
|---|---|
| ドメイン(レジストラ) | 変更なし |
| ネームサーバー | Netlify → Cloudflare |
| DNS管理 | Cloudflare |
| Webホスティング | Netlify(継続) |
① Cloudflare にドメインを追加
- Cloudflare Free プランを使用
- 既存 DNS レコード(A / CNAME / TXT / MX)を Cloudflare 側にコピー
- この時点では ネームサーバーは未変更
※ 先に DNS を用意して、切り替え時にサイトが一時的に見えなくなる可能性の排除。
② ネームサーバーを Cloudflare に変更(移行の本体)
お名前.com の管理画面で、ネームサーバーを Cloudflare 指定のものに変更。
xxxx.ns.cloudflare.com
yyyy.ns.cloudflare.com
これにより、
- DNS は Cloudflare に移行
- Netlify DNS は管理対象外になる
③ Cloudflare DNS の整理
Web 用レコード
- A レコード(Netlify 公式 IP)のみを残す
- www は CNAME に統一
A example.com → Netlify
CNAME www.example.com → example.com
メール用レコード(要点のみ)
-
MX:Cloudflare Email Routing 用
-
TXT:
- SPF(1レコードに統合)
- DKIM(Resend / Cloudflare)
- DMARC
SPF の注意点
SPF は 必ず 1 レコードのみにする。
複数存在すると Email Routing や送信判定が失敗する。
(※ 実際の include 内容はセキュリティ上省略)
④ Cloudflare Email Routing を有効化
ネームサーバー移行後、Cloudflare 側で Email Routing が有効化可能になる。
- 受信アドレス(例:dmarc@example.com)を作成
- Gmail などへ転送設定
DMARC の rua をこのアドレスに設定することで、レポート受信が可能になる。
⑤ Resend の送信ドメイン設定
Resend 側では以下を確認。
- DKIM が Verified になっていること
- SPF が Resend 側の想定と一致していること
※ Resend は ルートドメインではなく、特定サブドメインを前提に検証するため、
DNS 側と Resend 側の「見ている場所」がズレないよう注意が必要。
作業後の構成(完成形)
ドメイン管理 : お名前.com
ネームサーバー : Cloudflare
DNS管理 : Cloudflare
Webホスティング : Netlify
メール送信 : Resend
メール受信 : Cloudflare Email Routing → Gmail
まとめ
- Supabase Auth でメール送信したい
- お問い合わせフォームの返信を送りたい
- Resend を使い始める
- 広告・Search Console・本番運用を意識し始める
- DMARC設定が必要になった
など、色々なことを同時に設定しているうちによくわからなくなっていきました...。
今後は、一つずつ整理しながら進めていきたいと思います。