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に追加する

  1. Cloudflareのダッシュボード(https://dash.cloudflare.com/)にログインする。アカウントが無ければ作る
  2. Domains を開き、Onboard a domain を選ぶ
  3. ドメイン名(example.com のようなサブドメインの無い形)を入力し、DNSレコードの取り込み方法を選んで Continue を押す
  4. プランを選ぶ。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) にしてリダイレクトのループを避ける

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲