NSレコードの変更時に知っておきたいTTL(キャッシュ)と上位DNSの話

NSレコードは、DNSレコードの中でも特別なDNSレコードです。
それは、

  • 委任元(上位DNSサーバー)と
  • 委任先(権威DNSサーバー=コンテンツDNSサーバー)の

二つに同じドメイン名のNSレコードが存在する

からです。
トラブルの元にならないように、勉強しておきましょう。

委任元(上位DNSサーバー)と委任先(コンテンツDNSサーバー)の関係

親の心子知らず?委任にまつわる諸問題について考える~ランチのおともにDNS~

DNSの勉強をするには、JPRS(日本のDNSのトップ)の情報が一番ですよね。
JPRSの情報を中心に引用させてもらいます。

DNSには、ドメインツリーというドメイン構造があります。
そのため、NSレコードは、

  • 親ドメインにも(委任元)
  • 子ドメインにも(委任先。権威)

情報があります。

実は、この親ドメインのNSレコードと子ドメインのNSレコードは一致している必要はないのです。なので、なおさらNSレコードは特殊です。

DNSのドメインツリー構造に、ついてわからない方は、以下のJPRSサイトで、DNSの基本に付いて勉強しましょう。

インターネット10分講座 DNS - JPNIC

同じNSレコードのとちらが強いのか?(値とTTLの優先順位)

親の心子知らず?委任にまつわる諸問題について考える~ランチのおともにDNS~

委任元のNSレコードと、委任先のNSレコードが食い違っていた場合、
どちらのNSレコードが優先されるのでしょうか?

答えは、委任先の権威あるDNSサーバーのNSレコードです。

※ただし、そもそも委任先から委任されないとダメですけどね。

例えば、

  • TTLの値も、委任元と委任先で違っていても良いですし
  • NSレコードの値も、委任元と委任先で違っていても良いです。

NSレコードの変更には二つの方法がある

方法1:NSレコードの正しい変更方法

DNS浸透の都市伝説を斬る~ランチのおともにDNS~

リスクの少ない正しいNSレコードの変更方法が、JPRSから紹介されています。

1.引っ越し先の権威DNSサーバーの構築
2.引っ越し元ゾーンデータの切り替え
3.親に登録したNSの切り替え
4.この状態で並行運用(古いデータの消滅待ち)
5.引っ越し元の権威DNSサーバーの停止

この2番目の手順で、完了させるパターン(NSレコード変更方法)もあるかと思いますが、

  • 複雑なDNS構造になってしまうのでやはり運用管理上リスクですし、
  • 場合によってはDNSサービスの料金が二倍かかってしまったりしますので、

レアな構成パターンだと思います。

最終的には、3番の手順で委任元のNSレコードを変えるのがベストですね。

方法2:リスクはあるが簡単なNSレコード変更方法

DNS浸透の都市伝説を斬る~ランチのおともにDNS~

こちらは、DNSサービスプロバイダでも良く実施される、簡単なNSレコードの変更手順なのですが、簡単なゆえにリスクも持っていたります。

そのリスクは、巷で噂される「DNS浸透問題」という問題です。
DNSのNSレコードの変更に想定以上に時間がかかってしまう問題です。

  • 絶対間違いが無い作業を実施
  • NSレコードの変更に時間をかけても良い(次のDNSレコード変更作業はまだ未定)

だったら、このDNS浸透問題は問題になることはほとんどありません。
万が一、作業間違いがあった場合は、戻し結果が出るまでもモヤモヤしてしまうので、ゆとりあるスケジュール感ならば気にしないかもしれませんね。

ネームサーバーの変更|お名前.com Navi ガイド|ドメイン取るならお名前.com

噂のDNS浸透問題(リスク)の現象の答え

DNS浸透の都市伝説を斬る~ランチのおともにDNS~

このDNS浸透問題が起こる原因は、

キャッシュされているNSレコードのTTL値が満タン復活

してしまうことがDNSの仕様上あるためです。

このDNS浸透問題が発生する可能性は、NSレコード以外のTTL値が、NSレコードのTTL値より短い場合に発生しやすいので、逆を言えば、

NSレコードのTTL < NSレコード以外のTTL値

という状態ならば、DNS浸透問題は発生しずらいとも言えますね。

以下は、NSレコードに関連す勉強です。

DNSレジストラとレジストリとは?

ドメインの運営を支えるレジストリとレジストラの違い | VALUE-DOMAIN ユーザーガイド

よくDNS外部サービスで聞く、レジストラとは何でしょうか?
ざっくりいいますと、

  • レジストラは、会社間の契約のこと(=そのDNSドメイン運営会社のこと)
  • レジストリは、DNSサーバーの実際の設定情報

です。
契約情報の中のネームサーバー情報とかも、レジストリに含まれます。

参考情報ですが、
実は「co.jpドメイン」はjpドメインのサブドメインですけど委任はされておらず、「jpドメイン」で権威サーバーの中でゾーン化されているんですね。

グルーレコードとは?

JPRS用語辞典|グルーレコード(glue record)

グルーレコードもNSレコード回りで出てくる用語です。

グルーレコードの仕組みも知らないと、思わぬトラブルに巻き込まれるケースがあります(過去に一回だけ、経験しました)。

名前解決(NSレコード)のトラブルシューティング

名前解決周りのトラブルシューティングは、やはりwindowsよりもLinuxのdigコマンドの方が簡単で優秀ですね。

以下のAWSのサイトが参考になります。

委任されたサブドメインの解決のテスト

ただし、簡単では無いにしても、
digで出来る事はWindowsのnslookupでも出来ますので、以下のページを参考に、Windowsで頑張れもしますね。

これとは別に、最近はDNSSECでトラブルになるケースもありますので、
DNSSECの把握と勉強も必要ですね。

インターネット10分講座:DNSSEC - JPNIC

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です