IT
🌐

DNS設定完全ガイド:AレコードとCNAMEの違いから実践設定まで

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

DNS設定完全ガイド:AレコードとCNAMEの違いから実践設定まで

重要ポイント

person holding paper near pen
  • Aレコード:ドメインをIPアドレスに直接接続する(最も基本的なタイプ)
  • CNAME:ドメインを別のドメインの別名として接続する(主にサブドメインで使用)
  • MXレコード:メールを受信するメールサーバーを指定する
  • TTL:レコードがキャッシュに保持される時間(短いほど変更が早く反映される)

DNSを一言で説明すると

low angle photo city high rise buildings during daytime
項目内容
AレコードドメインをIPアドレスに直接接続
CNAMEドメインを別のドメインの別名として接続
MXレコードメールを受信するメールサーバーを指定
TTLレコードがキャッシュに保持される時間

DNS(Domain Name System)はいわば インターネットの電話帳 です。millionscode.comのような人間が読みやすいドメイン名を、104.21.32.55のようなコンピューターが理解するIPアドレスに変換します。

ブラウザでURLを入力すると、まずDNSサーバーに「このドメインのIPアドレスは何ですか?」と問い合わせます。次に受け取ったIPアドレスを使って実際のサーバーに接続します。この一連の処理は通常、数十ミリ秒以内に完了します。

DNSレコードの種類を完全網羅

person putting money business finance

Aレコード:ドメインをIPアドレスに直接接続

Aレコードは最も基本的なDNSレコードです。ドメイン名を、4つの数字で構成されるIPv4アドレスに直接マッピングします。

例:

millionscode.com → 104.21.32.55

どんな場面で使う?

  • ドメインをVPSや専用サーバーに接続するとき
  • ルートドメイン(example.com)をサーバーに接続するとき
  • Cloudflare Pagesを使わず、IPアドレスを直接指定するとき

Cloudflareでの設定方法:

  1. 1Cloudflareダッシュボード → DNS → レコードを追加
  2. 2タイプ:A
  3. 3名前:@(ルートドメイン)または希望のサブドメイン
  4. 4IPv4アドレス:サーバーのIPを入力
  5. 5プロキシステータス:Proxied(オレンジの雲アイコン)を推奨
  6. 6TTL:Auto(Proxied時は自動管理)

CNAMEレコード:ドメインを別のドメインの別名として設定

CNAMEは、あるドメインを別のドメインに向ける別名レコードです。IPアドレスではなく 別のドメイン名 を指します。

例:

www.millionscode.com → millionscode.com
blog.millionscode.com → millionscode.pages.dev

どんな場面で使う?

  • wwwサブドメインをルートドメインに接続するとき
  • カスタムドメインをCloudflare Pages、Vercel、NetlifyなどのPaaSに接続するとき
  • サブドメインをCDNサービスに接続するとき

重要なルール:標準DNSでは、ルートドメイン(@)にCNAMEを設定できません。Cloudflareは CNAME Flattening という仕組みで、この制限を回避しています。

MXレコード:メールを受信するメールサーバーを指定

MX(Mail Exchange)レコードは、ドメイン宛に届くメールをどのメールサーバーで処理するかを指定します。

例:

millionscode.com MX → mx1.emailprovider.com (優先度: 10)
millionscode.com MX → mx2.emailprovider.com (優先度: 20)

優先度の数字が 小さい ほど、そのサーバーが先に使われます。最初のサーバーがダウンしても、自動的に2番目のサーバーに切り替わります。

TXTレコード:テキストベースの認証と設定

TXTレコードは、ドメインにテキスト情報を追加できる汎用レコードです。主に 所有権の認証、SPF、DKIM などに使われます。

よくある用途:

  • Google Search Console認証:google-site-verification=XXXXX
  • Naverサーチアドバイザー認証:naver-site-verification=XXXXX
  • SPFレコード:送信サーバーを認証し、メールスパムの防止に役立つ
  • DKIM:メールの改ざんやなりすましを防ぐ電子署名

実践ガイド:Cloudflareで設定するDNS

ステップ1:ネームサーバーを変更する

GabiaやWhoisなど、ドメインを購入したレジストラで、ネームサーバーをCloudflareに変更します。

既存のネームサーバー → Cloudflareのネームサーバーに変更
ns1.cloudflare.com (例 — Cloudflareダッシュボードで確認)
ns2.cloudflare.com

ネームサーバーの変更後、伝播には 最大24時間 かかることがあります。通常は1〜2時間以内に完了します。

ステップ2:DNSレコードを追加する

Cloudflareダッシュボードから必要なレコードを追加します。お使いのドメインの現在のDNS設定は、サイトの DNS Lookupツール で確認できます。

ステップ3:SSL/TLSを設定する

Cloudflare → SSL/TLSで、モードを Full (Strict) に設定するとHTTPSが自動で適用されます。別途SSL証明書を購入する必要はありません。

TTL設定ガイド

TTL(Time To Live)は、DNSレコードがキャッシュに保持される時間です。

TTL値意味推奨用途
300秒(5分)非常に短いDNS変更の直前・直後
3600秒(1時間)標準通常運用時
86400秒(24時間)長い変更予定がない安定運用
AutoCloudflare自動管理Proxiedレコードに推奨

ヒント:DNS設定を変更する予定がある場合は、24時間前にTTLを300秒まで下げておく と、変更後の伝播が速くなります。

よくある失敗と対処法

失敗1:wwwで接続できない

ルートドメイン(@)だけ設定し、wwwのCNAMEを忘れた場合に起こります。www → @ のCNAMEレコードを必ず追加してください。

失敗2:メールが届かない

最も多い原因はMXレコードの設定漏れです。メールサービス事業者のMXレコード設定ガイドの通りに設定してください。

失敗3:SSL証明書エラー

Cloudflare Proxy(オレンジ雲)を有効にしているのに、オリジンサーバーにSSLがない場合に発生します。SSL/TLSモードを Full (Strict) から一時的に Flexible に変更するか、オリジンサーバーにSSLを設定してください。


よくある質問(FAQ)

Q1. AレコードとCNAME、どちらを使うべきですか?

A:サーバーのIPアドレスが固定されているならAレコードを、VercelやCF PagesなどのPaaSに接続する場合やIPアドレスが変動する可能性がある場合はCNAMEを使ってください。ほとんどのサブドメインではCNAMEが便利です。

Q2. DNSを変更したらどれくらい待てばいい?

A:TTLの設定によりますが、通常は5分〜24時間です。事前にTTLを300秒に下げておけば、5分以内に反映されることもあります。

Q3. Cloudflare Proxy(オレンジ雲)は必ず有効にすべき?

A:必須ではありませんが、推奨します。Proxyを有効にすると、DDoS防御、CDNキャッシュ、SSL自動化などのメリットがあります。

Q4. ルートドメインにCNAMEを設定できますか?

A:標準DNSでは不可能ですが、CloudflareではCNAME Flatteningによりルートドメインでも同じ効果が得られます。

Q5. DNSレコードを間違えるとサイトがダウンしますか?

A:はい。Aレコードを誤ったIPに変更したり、CNAMEを存在しないターゲットに向けたりすると、訪問者がサイトにアクセスできなくなります。変更前には必ず既存設定をスクリーンショットでバックアップしてください。

Q6. ドメインの現在のDNS設定はどこで確認できますか?

A:DNS Lookupツール にドメインを入力すれば、現在のA/CNAME/MX/TXTレコードを即座に確認できます。

💡 現場のインサイト

他のブログ記事では「AはIP、CNAMEは別名」という一般論で止まることが多いですが、実際にサイトがダウンする原因はもっと別のところにあります。

私自身がCloudflare Pagesでmillionscode.comを運用してきた経験から言うと、韓国ユーザーが最もよく失敗するのは、GabiaやWhoisでネームサーバーを変更しても24時間経っても反映されない というケースです。これはほぼ間違いなくレジストラ側のキャッシュ問題です。Gabiaの場合、平均で1〜2時間が標準で、6時間を超える遅延ならレジストラに1対1問い合わせをした方が解決が早いです。

次によく見落とされるのが、ルートドメインへのCNAME設定はCloudflareのCNAME Flattening以外では標準DNS違反 だという点です。各ベンダーが独自の回避策(AWS Route 53のAliasレコード、VercelのANAMEなど)を提供しています。私自身、CloudflareからほかのDNSプロバイダーに移行した際にFlatteningが失われ、ルートドメインが30分間ダウンした経験があります。事前に TTLを300秒に下げておいた おかげですぐに復旧できました。一般的なガイドではTTL変更について触れられないことが多いですが、実運用ではDNS変更の24〜48時間前にTTLを下げることは、ほぼ必須の保険ステップです。

最後に、韓国国内でサイトを運用するなら、Naverのボットはメタタグよりも TXTレコード での認証を信頼する傾向があるので、Search ConsoleもNaverサーチアドバイザーもTXTレコードで登録するのが、インデックス漏れを減らす重要なポイントです。


参考: 韓国銀行経済統計


🔧 Related Free Tools

関連