永尾 幸夫 NTTデータ関西テクシス ソリューションマーケティンググループ テクニカルサポート担当

セカンダリ・サーバーで障害に備える

 以上が,DNSの役割や仕組みの概要である。SEであれば,この程度の知識は最低限持っておきたい。さらに,EC(Electronic Commerce)サイトの運営やWWWサーバーの運用に携わっているSEであれば,DNSについて,もう少し知っておきたいことがある。以下では,その辺を解説しよう。

 まずは,DNSの障害対策である。もしDNSサーバーの役割を担っているホストが故障したら,管理している情報が失われてしまう。バックアップを取っていたとしても復旧までには時間がかかる。特にECサイトなどでは一瞬の切断が業務に与える影響が大きく,事前に何らかの対策を施しておきたい。この場合,DNSサーバーの機能を利用することで障害対策を実現できる*10

 DNSサーバーでは,他のホストに自分の管理するドメインのデータのコピーを持たせることが可能だ。このコピーを持つホストを「セカンダリDNSサーバー」,メインのDNSサーバーを「プライマリDNSサーバー」と呼ぶ。万が一プライマリDNSサーバーが故障した場合には,セカンダリDNSサーバーが引き続き問い合わせに応じる。ある組織がドメインを運営するときは,セカンダリDNSサーバーをインターネット接続サービスを請け負うISP(Internet Service Provider)側に設置することが多い。ただし,ドメインの情報を更新できるのは,あくまでプライマリDNSサーバーだけである。

写真4●複数のDNSサーバーを設定する
 なお,各ホスト(DNSクライアント)でも写真4[拡大表示]のように,あらかじめ複数のDNSサーバーを登録しておくことで,通常使うDNSサーバーが問い合わせに応じられない場合でも,代替DNSサーバーに問い合わせを行うことで名前解決することができる*11

 障害対策とは関係ないが,通常のDNSサーバーとは異なるものをもう一つ紹介しておこう。自分ではドメインの情報を管理せず,クライアントからの問い合わせに対して常に他のDNSサーバーへの問い合わせを代行して回答し,その結果を保存(キャッシュ)するだけのDNSサーバーである。このようなDNSサーバーを「キャッシュ・サーバー」と呼ぶ。SOHO(Small Office Home Office)など比較的小規模のネットワークで,インターネット上に公開するホストは存在しないが,名前解決を素早く行うためにDNSサーバーを用意したい場合などに用いられる。

DNSの持つ特殊な情報

 DNSサーバーのメインの仕事である名前からIPアドレスを調査する機能は「正引き」と呼ばれるが,その逆の「逆引き」という機能も,DNSサーバーは備えている。つまり,IPアドレスからホスト名を調べる機能である。WWWサーバーなどを運営していると,どのホストからそのWWWサーバーにアクセスしてきたか,ホスト名で知りたい場合がある。発信元ホストがホスト名ではなくIPアドレスを送信先へ通知してきた場合などに,逆引き機能が有用だ*12

 またDNSサーバーは,単にホストの名前とIPアドレスを関連付けるだけでなく,他にもさまざまな名前に関する情報を扱うことができる。例えば電子メール・アドレスからメール・サーバーを調べること。メール・アドレスは通常,「user@sample.co.jp」のように示され,@以下はドメイン名を示す。しかし,メールを届ける先である,そのドメインのメール・サーバーのホスト名は入っていない。このメール・アドレスから実際にメールを受け取るホストの情報を知るようにするには,DNSサーバーに「MX(Mail Exchanger)」という情報を登録すればよい。

 ホストに本来割り当てられた名前とは別の名前を,「CNAME(Canonical NAME)」という情報を登録することで割り当てることも可能だ。これは,障害対策や負荷分散を考慮して,同じ名前を2台以上のホストに割り当てるときに多く使われる。なお,1つのドメインの中で同じ名前の別名が複数登録されていた場合,DNSサーバーは,ホストからの問い合わせに対して複数の情報の中からランダムに選択して返答する。

表1●DNSサーバーの主な設定情報
 前述したように,DNSサーバーは自分より下の階層に位置するドメインの名前を問い合わせられた場合,そのドメインを管理するDNSサーバーのIPアドレスを回答する。そのためには当然そのDNSサーバーのIPアドレスを知っている必要があるが,それは「NS(Name Server)」という情報で登録する。そのDNSサーバーが管理するドメインのDNSサーバー,すなわち自分自身についてもNSで登録する。先程説明したセカンダリDNSサーバーの情報も,ここで登録できる。

 表1[拡大表示]に,これらDNSに設定する情報の一覧を示した。