DNSとは何か
DNS(Domain Name System)は、インターネット上の「電話帳」のような役割を持つシステムです。
私たちがブラウザに「example.com」と入力すると、DNSがそのドメイン名を「93.184.216.34」のようなIPアドレスに変換してくれます。この仕組みがなければ、ウェブサイトにアクセスするたびにIPアドレスを直接入力しなければなりません。
京谷商会では20以上のドメインとサブドメインをCloudflareで管理しています。kyotani-shoukai.com をはじめ、クライアントサイト用のドメイン、18のナレッジベースポータル用のサブドメインなど、すべてのDNS設定をCloudflareのダッシュボード1つで一元管理しています。この実運用の経験から、DNS設定の基礎知識をわかりやすく解説します。
DNSの仕組み
ブラウザでURLを入力してからウェブサイトが表示されるまでの流れを見てみましょう。
- ブラウザがDNSリゾルバにドメイン名を問い合わせ
- リゾルバがルートDNSサーバーに問い合わせ
- TLD(トップレベルドメイン)サーバーに問い合わせ
- 権威DNSサーバーがIPアドレスを返答
- ブラウザがIPアドレスのサーバーに接続
この一連の流れを名前解決と呼びます。通常は数十ミリ秒で完了し、一度解決された結果は一定時間キャッシュされます。
Cloudflareをネームサーバーとして使用すると、ステップ4の権威DNSサーバーがCloudflareになります。Cloudflareは世界300以上の拠点にDNSサーバーを配置しているため、名前解決が非常に高速です。私たちの計測では、Cloudflare DNS経由の名前解決は平均10ms以下で完了しています。
主要なDNSレコードの種類
Aレコード
最も基本的なレコードで、ドメイン名をIPv4アドレスに紐づけます。
example.com → 93.184.216.34
ウェブサイトのホスティングサーバーを指定する場合に使用します。
京谷商会の場合、クライアントの静的サイト(柴田工業、配食のふれ愛、WIOの工事屋さん)はCloudflare Pagesでホスティングしているため、Aレコードの代わりにCNAMEレコードを使っています。一方、外部サーバーを使うケースではAレコードで直接IPアドレスを指定します。
AAAAレコード
AレコードのIPv6版です。ドメイン名をIPv6アドレスに紐づけます。
example.com → 2606:2800:220:1:248:1893:25c8:1946
Cloudflareのプロキシ(オレンジ色の雲)を有効にすると、IPv6対応が自動的に行われます。オリジンサーバーがIPv4のみでも、CloudflareがIPv6アクセスを受けてIPv4に変換してくれるため、追加の設定は不要です。
CNAMEレコード
あるドメイン名を別のドメイン名にマッピングします。エイリアス(別名)を設定する場合に便利です。
www.example.com → example.com
blog.example.com → myblog.hosting.com
京谷商会の18ポータルサイトでは、各サブドメインにCNAMEレコードを設定してCloudflare Workersにルーティングしています。たとえば seo.kyotani-shoukai.com や dev.kyotani-shoukai.com といったサブドメインが、それぞれ対応するWorkersプロジェクトに紐づいています。
注意: CNAMEレコードはルートドメイン(example.com)には本来設定できません。ただし、CloudflareにはCNAME Flatteningという独自機能があり、ルートドメインでもCNAMEと同等の動作を実現できます。これは実際に非常に便利で、私たちもCloudflare Pagesへのルートドメイン接続で活用しています。
MXレコード
メールの配送先サーバーを指定します。優先度(数値が小さいほど優先)を設定できます。
example.com → mail1.example.com (優先度: 10)
example.com → mail2.example.com (優先度: 20)
京谷商会ではCloudflare Email Routingを利用しているため、MXレコードはCloudflareの指定するサーバーを設定しています。受信メールをCloudflareが受け取り、指定したアドレスに転送する仕組みです。送信にはBrevoのSMTPを使い、MXレコードとは別にSPF・DKIMレコードを設定してメール到達率を確保しています。
TXTレコード
テキスト情報を格納するレコードです。主に以下の用途で使われます。
- SPF: メール送信元の認証
- DKIM: メールの電子署名検証
- DMARC: メール認証ポリシーの定義
- ドメイン所有権の確認: Google Search ConsoleやCloudflareの設定時
私たちは20以上のドメインすべてにSPF・DKIM・DMARCレコードを設定しています。特にBrevo経由でメールを送信するドメインでは、SPFレコードにBrevoのサーバーを含め、DKIMの公開鍵をTXTレコードとして登録する必要があります。この設定を怠ると、送信したメールが迷惑メールフォルダに振り分けられる原因になります。
TTL(Time To Live)の設定
TTLは、DNSレコードのキャッシュ有効期間を秒数で指定する値です。
| TTL値 | 用途 |
|---|---|
| 300(5分) | 頻繁に変更するレコード、サーバー移行中 |
| 3600(1時間) | 一般的な設定 |
| 86400(24時間) | ほとんど変更しないレコード |
実運用のTips: Cloudflareでプロキシ(オレンジ色の雲)を有効にしたレコードは、TTLが自動的に「Auto」になります。この場合、CloudflareがTTLを最適に管理してくれるため、手動で設定する必要はありません。プロキシを無効にした(灰色の雲)レコードのみ、TTLを手動で設定します。
サーバー移行やDNS変更を予定している場合は、事前にTTLを短くしておくことが重要です。京谷商会でもドメインの移行作業時には、まずTTLを300秒に下げてから24時間待ち、その後に実際のレコード変更を行うようにしています。これにより、万が一問題が発生しても素早く切り戻しができます。
実践:サブドメインの設計パターン
京谷商会の18ポータル運用から得たサブドメイン設計のベストプラクティスを共有します。
パターン1:サービス別サブドメイン
seo.kyotani-shoukai.com → SEOナレッジベース
dev.kyotani-shoukai.com → 開発者向けポータル
cld.kyotani-shoukai.com → クラウドポータル
biz.kyotani-shoukai.com → ビジネスポータル
サービスの性質ごとにサブドメインを分けることで、コンテンツの専門性が明確になります。各サブドメインはCloudflare Workersで個別のアプリケーションとして動作し、D1データベースの同じテーブルからポータルIDで記事をフィルタリングして配信しています。
パターン2:クライアント用ドメイン
shibata-kogyo.com → 柴田工業(Cloudflare Pages)
haishokunofureai.com → 配食のふれ愛(Cloudflare Pages)
wio-construction-osaka.com → WIOの工事屋さん(Cloudflare Pages)
クライアントサイトは独自ドメインを使い、Cloudflare Pagesでホスティングしています。DNS設定はすべてCloudflareで管理しているため、SSL証明書の発行からCDN配信まで自動的に行われます。
よくあるDNSトラブルと対処法
サイトが表示されない
nslookupコマンドで名前解決を確認- Aレコード(またはCNAME)が正しいアドレスを指しているか確認
- ネームサーバーの設定が正しいか確認
- Cloudflare利用時: プロキシ状態(オレンジ/灰色の雲)を確認
私たちが20以上のドメインを運用してきた中で最も多かったトラブルは、ドメインレジストラ側のネームサーバー変更の反映待ちでした。Value Domainなど一部のレジストラでは反映に数時間かかることがあります。
メールが届かない
- MXレコードの設定を確認
- SPFレコードが正しく設定されているか確認
- メールサーバーのIPアドレスがSPFに含まれているか確認
Cloudflare Email Routingを使う場合、MXレコードをCloudflare指定の値に変更する必要があります。既存のMXレコードが残っていると転送が正しく動作しないため、古いMXレコードの削除を忘れないでください。
DNS反映が遅い
TTLの値を確認しましょう。以前のTTLが長い場合、古いキャッシュが残っている可能性があります。ISPのDNSキャッシュが原因の場合は、Google Public DNS(8.8.8.8)やCloudflare DNS(1.1.1.1)で確認してみてください。
Cloudflare DNS(1.1.1.1)のメリット: Cloudflareが運営するパブリックDNSリゾルバで、プライバシー重視かつ世界最速クラスの応答速度を誇ります。京谷商会のスタッフも開発時の確認にはCloudflare DNSを使用しています。
Cloudflareを使ったDNS管理の実際
Cloudflareを利用すると、DNSの管理が非常に簡単になります。
- 直感的なUIでレコード管理(20ドメイン以上でもダッシュボード1つで完結)
- プロキシモード(オレンジ色の雲)でCDNとセキュリティ機能を有効化
- SSL証明書の自動発行
- DNSの伝播が非常に高速(Cloudflare内のレコード変更は通常数秒で反映)
- APIで操作可能(DNS設定の自動化やスクリプトからの管理ができる)
京谷商会では、新しいポータルを追加する際にCloudflareのAPIを活用してDNSレコードの追加からWorkers設定までを自動化しています。手動でダッシュボードを操作する必要がなく、コマンド一つで新しいサブドメインのセットアップが完了します。
まとめ
DNS設定はウェブサイト運用の基盤です。基本的なレコードの役割を理解しておけば、サーバー移行やメール設定のトラブルにも対応できるようになります。
京谷商会は20以上のドメインをCloudflareで管理し、18のサブドメインポータルを運用してきました。その経験から言えるのは、Cloudflareを使えばDNS管理は驚くほど簡単になるということです。CNAME Flatteningやプロキシモード、Email Routingなど、従来のDNS管理では面倒だった作業がダッシュボードのクリック1つで完了します。
CDNの仕組みやCloudflare無料プランの全体像と合わせて理解を深めることで、より安定したウェブサイト運用が可能になります。