コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB
DNS とは
サーバーを引っ越しても、名刺を刷り直さなくていい
Web サイトの実体は、192.0.2.5 のような数字が振られたサーバーです。この数字を覚えて配って回るのは無理ですし、サーバーを別のところに移せば数字も変わります。
そこで、覚えやすい名前と実際の数字を切り離し、名前から数字を引けるようにしたのが DNS です。引っ越したら対応表のほうを書き換えれば、外に配った名前は変えずに済みます。
名前は右から読む
ドメイン名は左から読みたくなりますが、上下関係は右のほうが上です。
プレーンテキスト
api.example.com
| | |
| | └ トップレベルドメイン (com)
| └ 登録した名前 (example)
└ 自由に付けられる部分 (api)お金を払って登録するのは example.com の単位です。その左側は所有者が好きに増やせるので、api.example.com も blog.example.com も、追加費用も申請もなしに作れます。
これは設計の自由度に直結します。本番と検証環境を分けたい、API だけ別のサーバーに置きたい、といった要望は、左側を 1 つ増やして向き先を変えるだけで済みます。ドメインを買い足す相談から始める必要はありません。
1 台のサーバーが全部を知っているわけではない
世界中のドメインの対応表を 1 か所に置いたら、そこが落ちた瞬間に全部のアクセスが止まります。DNS は最初から分けて持つ設計になっています。
一番上のサーバーは、com の担当はあちら、としか答えません。com の担当は、example.com の担当はあちら、と答えます。最後にたどり着いた担当サーバーが、実際の数字を返します。上の段は下の段の居場所しか知らないので、1 か所が抱える情報が小さく保たれます。
上の段ほど落ちたときの影響は大きくなりますが、そこも 1 台ではありません。同じ役割のサーバーが世界中に何百台と置かれていて、一部が止まっても残りが答えます。
買った会社と、対応表を置く会社は別でよい
ドメインまわりには役割の違う会社が並んでいます。名前を売る会社と、対応表を実際に置いて問い合わせに答える会社は、別々に選べます。
名前を買った会社の管理画面には、ネームサーバーを指定する欄があります。ここに、対応表を置いている会社のサーバー名を書きます。これで問い合わせがそちらに回るようになります。DNS の会社を乗り換えるときに触るのは、基本的にこの欄です。
分かれているぶん、抜けやすい点もあります。名前は買い切りではなく、期限のある貸与です。更新が止まるとサイトもメールも同時に消えます。しかも対応表を置いている会社は無関係なので、そちらの管理画面を見ても異常は見当たりません。支払いの通知が届くアドレスが今も生きているかは、たまに確かめておきます。
現場の話
ここで引いた答えは、途中のサーバーや手元のパソコンの中に一定時間残ります。だから対応表を書き換えても、全員がすぐに新しい数字を見るわけではありません。変えたはずなのに古いほうにつながる、という詰まりの大半はこれです。何秒残してよいかは対応表の側で決められるので、切り替える予定があるなら、先にその秒数を短くしておきます。
復習ミニクイズ
DNS の階層で最上位に位置するのはどれですか