なぜ「DNSの浸透」は問題視されるのか (5)

   このエントリをはてなブックマークに登録    2011/10/27-1

((4)の続きです)

5. NSレコードの場合を考える

Aレコードの場合を紹介しましたが、次にNSレコードの場合を考えます。 多くの場合、「DNSの浸透」という単語が利用されるのは、いわゆる「DNSの引っ越し」のときです。

NSレコードは、Aレコードを変更する場合よりも複雑になります。 NSレコードは、反復検索で利用されるので、自分だけではなく親のDNS権威サーバでのNSレコードの変更も必要です。

5.1. geekpage.jpを例に考える (NSレコードの親子)

geekpage.jpを例に考えてみましょう。 DNSルートサーバから反復検索を行った場合、以下の図のようになります。

ここでのポイントは、jpドメインのDNS権威サーバとgeekpage.jpドメインのDNS権威サーバの両方がgeekpage.jp.に対するNSレコードを持っている点です。 ここでは、jpドメインが持つNSレコードを「親が持つNSレコード」とし、geekpage.jpドメインのDNS権威サーバが持つNSレコードを「子が持つNSレコード」と表現します。

(jpドメインのDNS権威サーバは、a.dns.jp〜g.dns.jpまでの7つですが、ここでは説明を簡潔にするためにa.dns.jpだけを図示します。)

このように親子両方がNSレコードを持ってますが、親の持つNSレコードと子の持つNSレコードは厳密には意味合いが違っています。 親の持つNSレコードは「geekpage.jpは、ここに委任しています」と言うためのもので、子の持つNSレコードは「geekpage.jpは、確かに私が権威を持っています」と宣言するためのものです。 このような理由から、親と子の両方にNSレコードが必要となっています。

5.2. 「DNS引っ越し」の手順

では、次に「DNSの浸透」という表現が使われがちな「DNSの引っ越し」の手順を紹介します。 この手順は、「JPRS トピックス&コラム No.019 DNSサーバーの引っ越し〜トラブル発生を未然に防ぐ手順とポイント〜」を参考に書いています。

変更前の状態

まず、以下が変更前の状態です。 ここでは、{ns11,ns12}.mcnet.ad.jp.となっているgeekpage.jp.のDNS権威サーバをns.example.jp.に変更するものとします。

変更前の状態では、親であるjpドメインのDNS権威サーバとgeekpage.jpドメインのDNS権威サーバは双方とも{ns11,ns12}.mcnet.ad.jp.をgeekpage.jpドメインのNSとしています。

TTLを短くする

可能であれば、geekpage.jp.に対する旧NSレコードのTTLを短くします(親と子両方で)。 こうすることで、切り替え作業を迅速に行うことが可能となります。

この例では、86400(24時間)だった値を300(5分)に変更しています。 (ただし、JPドメインではこのようにTTLを事前に短くするサービスを実施していないので、親がJPである場合は、子の旧NSレコードを事前に短くする作業だけになると思われます)

この変更を行ってから24時間経過後に次の作業を行います。

旧DNS権威サーバにあるNSレコードを新DNS権威サーバへ

旧DNS権威サーバが提供するNSレコードを、新DNS権威サーバへと向けます。 これによって、旧DNS権威サーバがgeekpage.jpドメインの権威サーバであるというキャッシュを持つクライアントからの問い合わせに対して、新DNS権威サーバを紹介されるようになります。

親の持つNSレコードを変更する

次に、親が持つNSレコードを新DNS権威サーバへと向けます。

これによって、反復検索が行われる際に、新DNS権威サーバがjpドメインDNS権威サーバから紹介されるようになります。

新旧平行運用の後、旧DNS権威サーバの停止

最後に、旧DNS権威サーバを停止するか、旧DNS権威サーバがgeekpage.jpドメインのゾーン情報を提供しないようにしますが、その前に新旧両方のDNS権威サーバの平行運用が必要です。

平行運用が必要なのは、旧DNS権威サーバの情報をキャッシュとして持っているクライアントからの問い合わせにも対応するためです。 平行運用は、親DNSサーバの設定を変更してから親DNS権威サーバが提供していたNSレコードのTTL時間が経過し、かつ、旧DNS権威サーバの設定を変更してから旧NSレコードのTTL時間が経過するまでです。 親と子両方が提供していた旧NSレコードのTTL時間以上が経過すれば、旧DNS権威サーバへ問い合わせるクライアントはいなくなるはずなので、その時点で旧DNS権威サーバを停止しても大丈夫となります。

(続く:次へ)

   このエントリをはてなブックマークに登録