2026年8月16日
2026年8月16日
CloudflareでDNSを設定する方法|ドメイン追加・ネームサーバー変更・レコード作成
Cloudflareは、DNSの権威サーバーとCDN(リバースプロキシ)を合わせて提供するサービスです。ドメインのネームサーバーをCloudflareに向けると、DNSレコードをCloudflareのダッシュボードで管理でき、Webサイトへの通信をCloudflare経由にするかどうかもレコードごとに選べます。DNSの管理とプロキシは無料プランでも使えます。
この記事では、すでに持っているドメインをCloudflareのDNSに移し(Cloudflareの用語で「フルセットアップ」)、WordPressサイトのレコードを設定するまでを説明します。画面の名前は2026年10月時点のCloudflare公式ドキュメント(developers.cloudflare.com)に合わせています。
作業の前に確認すること
- 今のDNSに登録されているレコードを控える。Webサイト用のA・CNAMEだけでなく、メール用のMX・SPF(TXT)・DKIM・DMARCと、メールサーバーのAレコードも漏らさない
- ドメインを登録しているレジストラ(お名前.com、Xserverドメインなど)の管理画面に入れること。ネームサーバーの変更はレジストラ側で行う
- レジストラでDNSSECを有効にしている場合は、ネームサーバーを変える前に無効にする。有効のまま変えると、ドメインが名前解決できなくなる。DNSSECはCloudflareで有効になってから、Cloudflare側で設定し直せる
今のレコードは、次のように dig で確認できます。example.com は自分のドメインに置き換えてください。
dig +short example.com A
dig +short www.example.com CNAME
dig +short example.com MX
dig +short example.com TXT
dig +short _dmarc.example.com TXT
ドメインをCloudflareに追加する
- Cloudflareのダッシュボード(
https://dash.cloudflare.com/)にログインする。アカウントが無ければ作る - Domains を開き、Onboard a domain を選ぶ
- ドメイン名(
example.comのようなサブドメインの無い形)を入力し、DNSレコードの取り込み方法を選んで Continue を押す - プランを選ぶ。DNSと基本的なプロキシだけならFreeプランで足りる
取り込まれたレコードを見直す
Cloudflareは今のDNSを自動で調べてレコードを取り込みますが、すべてを見つけられるとは限りません。最初に控えたレコードと見比べ、次のものが揃っているかを確かめます。足りないものは手で追加します。
- ドメイン名そのもの(
example.com)のA(またはAAAA)レコード wwwなどのサブドメイン- メール関連(MX、SPFのTXT、DKIMのTXTまたはCNAME、DMARCのTXT、メールサーバーのAレコード)
確認が済んだら Continue を押します。
レジストラでネームサーバーを変える
次の画面に、このドメインに割り当てられたCloudflareのネームサーバーが2つ表示されます(xxxx.ns.cloudflare.com の形)。レジストラの管理画面で、ドメインのネームサーバーをこの2つに置き換えます。今のネームサーバーは残さず、Cloudflareの2つだけにします。
変更が反映されると、Cloudflareのダッシュボードでドメインの状態がActiveになります。反映には数時間かかることがあり、レジストラによっては最大で24時間程度かかります。反映されたかどうかは、次のコマンドでも確認できます。
dig +short example.com NS
Cloudflareのネームサーバーだけが返れば切り替わっています。
DNSレコードを追加・変更する
ドメインを選び、DNS の Records を開きます。Add record を押し、次の項目を入れて Save を押します。
| 項目 | 入れる内容 |
|---|---|
| Type | A、AAAA、CNAME、MX、TXT など |
| Name | @(ドメイン名そのもの)、www などのホスト名 |
| IPv4 address / Target など | Aならサーバーの IPv4 アドレス、CNAMEなら別名先のホスト名(項目名はTypeによって変わる) |
| Proxy status | A・AAAA・CNAMEだけ選べる。Proxied(オレンジの雲)か DNS only(グレーの雲) |
| TTL | DNS onlyのときに選べる。Proxiedのレコードは Auto(300秒)で固定 |
WordPressサイトでよく使う組み合わせの例です。203.0.113.10 はWebサーバーの、203.0.113.20 はメールサーバーの例のアドレスです。
| Type | Name | 内容 | Proxy status |
|---|---|---|---|
| A | @ |
203.0.113.10 |
Proxied |
| CNAME | www |
example.com |
Proxied |
| A | mail |
203.0.113.20 |
DNS only |
| MX | @ |
mail.example.com(優先度 10) |
選べない(常に DNS only) |
| TXT | @ |
v=spf1 ip4:203.0.113.20 -all |
選べない |
ドメイン名そのものにCNAMEを置く場合も、Cloudflareは名前解決の段階でAレコードに置き換えて返す(CNAME flattening)ので、登録できます。
プロキシ(オレンジの雲)の使い分け
Proxiedにしたレコードは、問い合わせに対してCloudflareのIPアドレスが返り、HTTPとHTTPSの通信がCloudflareを経由します。キャッシュやDDoS対策、WAFなどはこの通信に働きます。サーバー本来のIPアドレスは隠れます。
DNS onlyにしたレコードは、サーバー本来のIPアドレスがそのまま返り、通信はCloudflareを通りません。
次のものはDNS onlyにします。
- メールサーバー(
mail.example.comなど)のAレコード。Cloudflareのプロキシは HTTP と HTTPS のための仕組みで、SMTP や IMAP は通らない。MXレコードの向き先がProxiedだと、メールが届かなくなる - SSHやFTPで接続するホスト名
- VPSの管理画面など、HTTP以外のポートで使うホスト名
なお、Webサイト用のレコードをProxiedにしても、メール用などのDNS onlyのレコードでサーバーの本来のIPアドレスがわかってしまうことがあります。WebサーバーとメールサーバーのIPアドレスが同じ場合は、この点を理解したうえで使ってください。
WordPressで起きやすい問題
リダイレクトが繰り返される(ERR_TOO_MANY_REDIRECTS)
Cloudflareの SSL/TLS の暗号化モードが Flexible だと、Cloudflareからサーバーへの通信はHTTPになります。WordPressやサーバー側でHTTPSへのリダイレクトを設定していると、HTTPで届いた通信が毎回HTTPSへ転送され、ループになります。
サーバーにSSL証明書が入っているなら、暗号化モードを Full (strict) にします。サーバーの証明書は、Let's Encryptなどの正規の証明書か、Cloudflareが発行するOrigin CA証明書を使います。Cloudflareと訪問者の間の証明書(Universal SSL)は、無料プランでも自動で発行されます。
管理画面や更新内容が反映されない
プロキシを通すと、画像やCSSなどの静的ファイルはCloudflareにキャッシュされます。テーマを変えたのに古いCSSが表示される場合は、ダッシュボードの Caching からキャッシュを削除(Purge)します。
アクセスログの訪問者のIPアドレスがCloudflareのものになる
Proxiedにすると、サーバーに届く通信の送信元はCloudflareになります。訪問者の本来のIPアドレスは、リクエストヘッダー CF-Connecting-IP に入っています。Webサーバー側で、このヘッダーを送信元として扱う設定(Apacheの mod_remoteip、nginxの real_ip モジュールなど)を入れます。
反映を確認する
レコードを追加・変更したら、Cloudflareのネームサーバーに直接問い合わせて、登録内容を確認します。xxxx.ns.cloudflare.com は、割り当てられたネームサーバー名に置き換えます。
# Cloudflare に登録した内容(Proxied の A レコードは Cloudflare の IP アドレスが返る)
dig +short example.com A @xxxx.ns.cloudflare.com
dig +short example.com MX @xxxx.ns.cloudflare.com
# 通常の名前解決(プロバイダーのDNSなどのキャッシュを経由)
dig +short example.com A
1つ目と3つ目の結果が違う場合は、キャッシュに古い内容が残っています。DNS onlyのレコードは、変更前に設定されていたTTLの秒数が過ぎると、新しい内容に変わります。
まとめ
- ドメインの追加は Domains → Onboard a domain。取り込まれたレコードは、特にメール関連を手で確認する
- ネームサーバーはレジストラで、Cloudflareの2つだけに置き換える。DNSSECは先に無効にする
- レコードは DNS → Records → Add record で追加する。Proxiedにできるのは A・AAAA・CNAME だけ
- メールサーバーやSSHのホスト名はDNS onlyにする
- WordPressでは、暗号化モードを Full (strict) にしてリダイレクトのループを避ける
関連記事: