2026年6月18日

2026年6月18日

Aレコードを追加したのに反映されないときの確認と対処|ネガティブキャッシュ・入力欄・委任の落とし穴

新しく追加したAレコードが引けないときは、まずドメインの権威DNSに直接問い合わせ、「権威DNSに載っていない」のか「権威DNSには載っているが手元のキャッシュが古い」のかを分けます。既存のレコードを書き換えた場合と違い、追加の場合は「まだ存在しない」という答えのキャッシュ(ネガティブキャッシュ)や、ホスト名の入力ミス、追加先のDNSの取り違えが原因になることが多くあります。この記事では、追加したAレコードが反映されないときの原因を、起こりやすい順に確かめ方と直し方つきで説明します。

最初に:権威DNSと公開DNSの答えを並べる

例として blog.example.com にAレコードを追加したとします。次の2つの問い合わせ結果を比べます。

# ドメインが使っているネームサーバーを調べる
dig example.com NS +short

# 権威DNSに直接問い合わせる
dig @ns1.example-dns.net blog.example.com A +norecurse +noall +answer +comments

# 公開DNSに問い合わせる
dig @8.8.8.8 blog.example.com A +noall +answer +authority +comments

見るのは status: の値と答えの行です。

  • 権威DNSでIPが返り、公開DNSが NXDOMAIN: 追加は正しくできています。公開DNSに「存在しない」という答えが残っています(原因1)
  • 権威DNSでも NXDOMAIN や答えなし: 権威DNSに載っていません。入力ミスか、追加先の取り違えです(原因2〜4)
  • 権威DNSがSERVFAILやタイムアウト: 問い合わせ先がそのゾーンを持っていないか、DNSサービスに問題があります

この切り分けを先にすると、待てば直るのか、設定を直す必要があるのかが分かります。

原因1:「存在しない」という答えがキャッシュされている

追加する前に、その名前を一度でも問い合わせていると、キャッシュDNSは「その名前は存在しない(NXDOMAIN)」という答えを一定時間保持します。これをネガティブキャッシュと呼びます(RFC 2308)。追加前にブラウザで開いて確かめた、設定画面の動作確認でアクセスした、といった操作でも起こります。

保持時間は、追加したAレコードのTTLではなく、ゾーンのSOAレコードで決まります。具体的には、SOAレコード自体のTTLとSOAの最後の項目(MINIMUM)のうち小さいほうです。公開DNSに問い合わせたとき、AUTHORITY SECTION にSOAの行が表示され、その2列目が残り秒数です。

;; AUTHORITY SECTION:
example.com.   2541   IN   SOA   ns1.example-dns.net. hostmaster.example.com. 2026101801 7200 3600 1209600 3600

この例では、あと2541秒ほどで公開DNSが権威DNSに聞き直します。対処は次のとおりです。

  • 待つ: 残り秒数が0になれば新しい答えに入れ替わります
  • 公開DNSのキャッシュ消去を依頼する: Google Public DNS や Cloudflare の 1.1.1.1 には、特定の名前のキャッシュ消去を依頼できるWebページがあります。提供状況や手順は変わることがあるため、各サービスの案内で確かめてください(2026年10月現在)
  • 手元のキャッシュを消す: OSやブラウザも否定の答えを持つことがあります。Windows なら ipconfig /flushdns、Chrome なら chrome://net-internals/#dns の「Clear host cache」で消せます

今後のために、新しい名前は「追加してから確かめる」順にすると、この待ち時間を避けられます。

原因2:ホスト名の入力欄の書き方を間違えている

権威DNSにも載っていない場合、最も多いのは名前の入力ミスです。多くの管理画面は、入力欄にドメイン名を自動で付け足します。そこに blog.example.com と全部入れると、実際には blog.example.com.example.com という名前で登録されることがあります。

# 二重になった名前で登録されていないか確かめる
dig @ns1.example-dns.net blog.example.com.example.com A +norecurse +noall +answer

こちらで答えが返れば、入力欄に blog だけを入れて登録し直し、誤った行は消します。BINDのゾーンファイルでも、名前の末尾にドット(.)を付けない書き方はゾーン名が付け足されるので同じことが起こります。blog.example.com. のように完全な名前で書くか、blog とだけ書くかのどちらかにそろえます。

ほかに、ルートドメイン(example.com そのもの)に追加したいのに名前の欄を空欄や @ 以外にしている、全角文字が混ざっている、といった誤りもあります。

原因3:ドメインが使っていないDNSに追加している

レジストラ、レンタルサーバー、CDNなど、DNSの編集画面が複数の場所にあることは珍しくありません。ドメインのネームサーバーとして登録されていない場所に追加しても、誰からも参照されません。

dig example.com NS +short で表示されたネームサーバーの名前が、レコードを追加したサービスのものかを確かめます。違う場合は、表示されたネームサーバーを管理しているサービスでAレコードを追加します。ネームサーバーを切り替えた直後なら、レジストラ側の登録と dig example.com NS +trace の最後に表示される答えが一致しているかも見ておきます。

原因4:サブドメインが別のDNSに委任されている

blog.example.com に追加したのに引けず、example.com 側の他のレコードは正常な場合、そのサブドメインがNSレコードで別のDNSに委任されていないかを確かめます。

dig @ns1.example-dns.net blog.example.com NS +norecurse +noall +answer +authority

blog.example.com のNSレコードが返る場合、そのサブドメインのレコードは委任先のDNSで管理されています。Aレコードは委任先に追加します。以前のサービスで設定した委任が残っているだけなら、不要なNSレコードを削除するのも選択肢ですが、そのサブドメインで動いているものが無いかを先に確かめます。

原因5:同じ名前に別のレコードがある、またはワイルドカードが答えている

追加しようとした名前にすでにCNAMEがあると、規格上ほかのレコードは同居できないため、管理画面では登録エラーになります。エラーを見落として保存できていないこともあるので、一覧に追加した行が実際にあるかを見ます。

また、*.example.com のワイルドカードレコードがあるゾーンでは、追加前から blog.example.com に何らかの答えが返っていたはずです。その答えがワイルドカードのTTLでキャッシュされているため、追加後もしばらくはワイルドカードの値が返ります。この場合はネガティブキャッシュではなく、ワイルドカードの行のTTLだけ待つことになります。

原因6:自分で運用する権威DNSで、セカンダリに伝わっていない

BINDなどで権威DNSを運用している場合、ゾーンファイルにAレコードを追加してもSOAのシリアル番号を上げていないと、セカンダリDNSは変更を取り込みません。ネームサーバーごとに答えが違う状態になり、利用者によって引けたり引けなかったりします。

for ns in $(dig example.com NS +short); do
  echo "$ns: $(dig @"$ns" example.com SOA +short)"
done

シリアル番号が食い違うサーバーがあれば、プライマリでシリアルを上げて rndc reload example.com を実行し、転送の状態をログで確かめます。DNSSECで署名しているゾーンでは、署名の更新に失敗すると公開DNSが SERVFAIL を返します。dig +cd(検証を無効にした問い合わせ)でだけ答えが返る場合は、署名の問題を疑います。

DNSは正しいのにサイトが表示されないとき

権威DNSにも公開DNSにも新しいIPが出ているのにページが開かない場合は、DNS以外の原因です。Webサーバーに blog.example.com 用の設定(バーチャルホスト)があるか、そのサーバーのファイアウォールで80番と443番が開いているか、SSL証明書にその名前が含まれているかを確かめます。WordPressを新しいサブドメインで公開する場合は、「設定」→「一般」のサイトアドレスもその名前に合っているかを見ます。

まとめ

  • 最初に権威DNSと公開DNSの答えを比べ、待てば直るのか、設定を直すのかを分ける
  • 追加前に問い合わせた名前は「存在しない」とキャッシュされ、SOAで決まる時間だけ残る
  • 入力欄にドメインまで入れると名前が二重になる。ゾーンファイルでは末尾のドットに注意する
  • ドメインが使っているネームサーバー、サブドメインの委任先に追加しているかを確かめる
  • 自前の権威DNSではシリアル番号を上げ、すべてのネームサーバーで同じ答えになるかを見る

お気軽にご相談ください

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