NSレコードは、DNSレコードの中でも特別なDNSレコードです。
それは、
- 委任元(上位DNSサーバー)と
- 委任先(権威DNSサーバー=コンテンツDNSサーバー)の
二つに同じドメイン名のNSレコードが存在する
からです。
トラブルの元にならないように、勉強しておきましょう。
レジュメ
委任元(上位DNSサーバー)と委任先(コンテンツDNSサーバー)の関係
DNSの勉強をするには、JPRS(日本のDNSのトップ)の情報が一番ですよね。
JPRSの情報を中心に引用させてもらいます。
DNSには、ドメインツリーというドメイン構造があります。
そのため、NSレコードは、
- 親ドメインにも(委任元)
- 子ドメインにも(委任先。権威)
情報があります。
実は、この親ドメインのNSレコードと子ドメインのNSレコードは一致している必要はないのです。なので、なおさらNSレコードは特殊です。
DNSのドメインツリー構造に、ついてわからない方は、以下のJPRSサイトで、DNSの基本に付いて勉強しましょう。
同じNSレコードのとちらが強いのか?(値とTTLの優先順位)
委任元のNSレコードと、委任先のNSレコードが食い違っていた場合、
どちらのNSレコードが優先されるのでしょうか?
答えは、委任先の権威あるDNSサーバーのNSレコードです。
※ただし、そもそも委任先から委任されないとダメですけどね。
例えば、
- TTLの値も、委任元と委任先で違っていても良いですし
- NSレコードの値も、委任元と委任先で違っていても良いです。
NSレコードの変更には二つの方法がある
方法1:NSレコードの正しい変更方法
リスクの少ない正しいNSレコードの変更方法が、JPRSから紹介されています。
1.引っ越し先の権威DNSサーバーの構築
2.引っ越し元ゾーンデータの切り替え
3.親に登録したNSの切り替え
4.この状態で並行運用(古いデータの消滅待ち)
5.引っ越し元の権威DNSサーバーの停止
この2番目の手順で、完了させるパターン(NSレコード変更方法)もあるかと思いますが、
- 複雑なDNS構造になってしまうのでやはり運用管理上リスクですし、
- 場合によってはDNSサービスの料金が二倍かかってしまったりしますので、
レアな構成パターンだと思います。
最終的には、3番の手順で委任元のNSレコードを変えるのがベストですね。
方法2:リスクはあるが簡単なNSレコード変更方法
こちらは、DNSサービスプロバイダでも良く実施される、簡単なNSレコードの変更手順なのですが、簡単なゆえにリスクも持っていたります。
そのリスクは、巷で噂される「DNS浸透問題」という問題です。
DNSのNSレコードの変更に想定以上に時間がかかってしまう問題です。
- 絶対間違いが無い作業を実施
- NSレコードの変更に時間をかけても良い(次のDNSレコード変更作業はまだ未定)
だったら、このDNS浸透問題は問題になることはほとんどありません。
万が一、作業間違いがあった場合は、戻し結果が出るまでもモヤモヤしてしまうので、ゆとりあるスケジュール感ならば気にしないかもしれませんね。
ネームサーバーの変更|お名前.com Navi ガイド|ドメイン取るならお名前.com
噂のDNS浸透問題(リスク)の現象の答え
このDNS浸透問題が起こる原因は、
キャッシュされているNSレコードのTTL値が満タン復活
してしまうことがDNSの仕様上あるためです。
このDNS浸透問題が発生する可能性は、NSレコード以外のTTL値が、NSレコードのTTL値より短い場合に発生しやすいので、逆を言えば、
NSレコードのTTL < NSレコード以外のTTL値
という状態ならば、DNS浸透問題は発生しずらいとも言えますね。
以下は、NSレコードに関連す勉強です。
DNSレジストラとレジストリとは?
よくDNS外部サービスで聞く、レジストラとは何でしょうか?
ざっくりいいますと、
- レジストラは、会社間の契約のこと(=そのDNSドメイン運営会社のこと)
- レジストリは、DNSサーバーの実際の設定情報
です。
契約情報の中のネームサーバー情報とかも、レジストリに含まれます。
参考情報ですが、
実は「co.jpドメイン」はjpドメインのサブドメインですけど委任はされておらず、「jpドメイン」で権威サーバーの中でゾーン化されているんですね。
グルーレコードとは?
グルーレコードもNSレコード回りで出てくる用語です。
グルーレコードの仕組みも知らないと、思わぬトラブルに巻き込まれるケースがあります(過去に一回だけ、経験しました)。
名前解決(NSレコード)のトラブルシューティング
名前解決周りのトラブルシューティングは、やはりwindowsよりもLinuxのdigコマンドの方が簡単で優秀ですね。
以下のAWSのサイトが参考になります。
ただし、簡単では無いにしても、
digで出来る事はWindowsのnslookupでも出来ますので、以下のページを参考に、Windowsで頑張れもしますね。
これとは別に、最近はDNSSECでトラブルになるケースもありますので、
DNSSECの把握と勉強も必要ですね。