DNS(Domain Name System:ドメインネームシステム)とは、IPアドレスとURL(ドメイン名)を紐づけ、管理するシステムのことです。ここではDNSサ―バーの仕組みや役割や設定方法をインターネット初心者向けに簡潔にわかりやすく説明します。
DNSとは?
DNS(domain name system)は、インターネット上のウェブページやコンテンツへアクセスする際に、それぞれを識別して特定のページへとアクセスできるようにするためのシステムです。具体的には、人が見て分かりやすいURL(shopify.comなど)を、コンピュータが認識できるIPアドレス(23.227.38.65など)に変換し、ウェブブラウザが目的のウェブサーバーへ接続できるように道案内をします。ブラウザは、このIPアドレスを使って目的のウェブサイトのデータを取得し、ページを表示します。
DNSは1983年、ARPANET(アーパネット)プロジェクト(インターネットの前身となるネットワークを構築するプロジェクト)の一環として、計算機科学者の Paul Mockapetris(ポール・モカペトリス)氏とJon Postel(ジョン・ポステル)氏によって開発されました。
当時、コンピュータ同士の通信はそれぞれの識別番号を示す数字(IPアドレス)のみで行われており、通信先にアクセスするには正確なIPアドレスを知る必要がありました。DNSはドメイン名とIPアドレスを紐づける「インターネットの電話帳」 のような役割を果たすことで、人間には覚えにくいIPアドレスを記憶しなければネットワークが使えないという課題を解決しました。
DNSの仕組み
DNSは、ウェブ上の「電話帳」のような役割を果たします。DNSは、高速で複雑な一連のインターネットプロトコルの仕組みの一環として機能し、ユーザーが求めるページの所在を特定し、提供します。例えば、ウェブブラウザにURLを入力すると、DNSがそれを電話番号のような固有のインターネットプロトコル(IP)アドレスに変換します。インターネットに接続されているすべてのデバイスはIPアドレスを持っています。これは、ウェブサイトをホストする場合でも、ウェブを閲覧する場合でも変わりません。
DNSクエリとは?
DNSサーバーに送信される情報リクエストです。最も一般的なDNSクエリは、特定のドメインに関連付けられたIPアドレスを要求するリクエストです。
例えば、shopify.comにアクセスしようとすると、コンピュータがDNSサーバーにDNSクエリを送信し、そのサイトのIPアドレスを問い合わせます。DNSサーバーは、そのコンピュータがShopify(ショッピファイ)ウェブサイトに接続するために使用するIPアドレスを返します。
これらの処理はすべて、数秒以内に行われます。
DNSサーバーとは?
DNSサーバーは、ドメイン名をIPアドレスに変換する「演算装置」であり、インターネットの重要な構成要素の一つです。「ネームサーバー」とも呼ばれます。ブラウザは、ウェブサイトにアクセスする際にDNSサーバーへリクエストを送り、対応するIPアドレスを取得することで、目的のウェブサイトへアクセスできるようになります。
DNSサーバーは、「DNS解決」と呼ばれるプロセスを通じて動作します。ユーザーのデバイス(クライアント)は、「Aレコード」(ドメイン名とIPアドレスの対応を示す情報)を問い合わせるDNSクエリを出し、DNSサーバーがそのリクエストに応じて適切なIPアドレスを返答します。
DNSの処理を行う4種類のサーバー
DNSクエリ(問い合わせ)の処理を行うサーバーには、以下の4種類があります。それぞれの役割をご紹介します。
1. DNSリカーサー(再帰リゾルバ)
DNSリカーサー(再帰リゾルバ)は、DNSクエリ処理の最初のステップ です。たとえるとすれば、大規模なアーカイブ倉庫の受付担当者だと言えるでしょう。
ブラウザから送られたDNSクエリを受け取ると、他のDNSサーバーに問い合わせを行い、必要な情報を探します。
2. ルートネームサーバー
ルートネームサーバーは、DNSリカーサーが最初に問い合わせを行うサーバーです。
DNSリカーサーからリクエストを受けると、ルートネームサーバーは該当するトップレベルドメイン(TLD)ネームサーバーの一覧を返します。例えば、「shopify.com」へのアクセスリクエストを受けた場合、「.comドメインを管理するTLDネームサーバーに問い合わせてください」と案内します。
ルートネームサーバーは、最終的なIPアドレスを直接持っているわけではなく、次にどのサーバーを参照すべきかを示す役割を担っています。
3. トップレベルドメイン(TLD)ネームサーバー
トップレベルドメイン(TLD)ネームサーバーは、拡張子が共通するドメイン名の情報を管理するネームサーバーです。この拡張子とはドメイン名のドットの後ろの文字列(.comや.netなど)に当たり、トップレベルドメインと呼ばれます。
DNSリカーサーはルートネームサーバーに問い合わせ、そこからの応答を受け取った後、適切なTLDネームサーバーに問い合わせます。すると、TLDネームサーバーはドメイン名をもとに次に問い合わせるべき権威DNSサーバーの情報を返します。
4. 権威DNSサーバー
権威DNSサーバーは、DNSリカーサーが行った問い合わせに対し、最終的な回答を返すサーバーです。
リカーサーからのリクエストを受け取ると、該当するウェブページのIPアドレスを返します。対象の情報が見つからない場合は、エラーメッセージを返します。
DNSリカーサーが権威DNSサーバーからウェブページに対応するIPアドレスを取得すると、その情報をクライアントのウェブブラウザに伝えます。ブラウザはこのIPアドレスをもとにサーバーへ接続し、ウェブページを表示するためのデータを取得します。
DNSとIPアドレスの違い
DNSは、ユーザーが入力したドメイン名をIPアドレスに変換する仕組みです。一方、IPアドレスは、そのドメインのデータが保存されているサーバーの所在地を数字で示したものです。
DNSキャッシュとは?

DNSキャッシュとは、DNSクライアント(ユーザーのデバイスやネットワーク機器)がDNSレコード(ドメイン名に対応したIPアドレス)をローカルに保存する仕組みです。キャッシュがあることで、毎回DNSサーバーへ問い合わせをすることなく、保存された情報をもとにウェブページを素早く表示できます。
また、DNSレコードにはTTL(Time-to-Live:残存期間) という有効期限が設定されています。TTLの値はキャッシュ時に記録され、指定の期間が過ぎるとレコードはキャッシュから削除されます。
DNSクエリの種類

DNSクエリには、「再帰クエリ」「反復クエリ」「非再帰クエリ」 の3種類があり、それぞれ動作が異なります。
1. 再帰クエリ
再帰クエリでは、DNSクライアント(ブラウザやOSなど、クエリを発行する側) がホスト名を指定し、再帰DNSサーバー(DNSリゾルバ:他のDNSサーバーに問い合わせを行い、最終的な回答を取得する役割を持つサーバー)に対して、正しいリソースレコードか、レコードを取得できない場合はエラーメッセージを返すよう要求します。
2. 反復クエリ
反復クエリでは、DNSクライアントがホスト名を指定し、DNSリゾルバに対して可能な範囲で最適な回答を求めます。
DNSリゾルバは、キャッシュされたDNSレコードがあればその情報を返し、なければルートネームサーバーや要求されたドメインに近い権威DNSサーバーに問い合わせを行います。その後、DNS再帰リゾルバはDNSネームサーバーから要求されたドメインのIPアドレスを返すか、エラーやタイムアウトに至るまで繰り返されます。
3. 非再帰クエリ
非再帰クエリは、DNSリゾルバがすでに該当する情報を持っている場合に、即座に回答を返す方式です。キャッシュされたデータや権威DNSサーバーの情報をもとに、追加の問い合わせを行わずに処理が完了します。
DNSルックアップの手順

DNSルックアップとは、コンピュータがドメインのIPアドレスを検索するプロセスです。具体的な流れは以下の通りです。
- ユーザーがウェブサイトのアドレス(https://www.shopify.com/jpなど)を入力します。
- PCがローカルキャッシュを確認します。以前にそのサイトにアクセスしたことがある場合、ブラウザはIPアドレスを記憶しているため、このプロセスをスキップしてIPアドレスに直接アクセスします。
- キャッシュにアドレスがない場合、DNSリカーサーにリクエストが送られます。
- DNSリカーサーがTLDのネームサーバーの情報を取得し、ドメインの権威DNSサーバーにリクエストを送信します。
- 権威DNSサーバーが該当ドメインのIPアドレスを返します。
- 取得したIPアドレスがDNSリゾルバを経由してPCに返されます。
- PCがIPアドレスを使用してウェブサイトに接続します。
CNAMEレコードとは?
CNAME(正規名)レコードは、DNSルックアップの過程で、あるドメイン名を別のドメイン名のエイリアス(別名)として指定するためのレコード です。
例えば、DNSクライアントが 「www.example.com」 の所在地(IPアドレス)を突き止めようとした場合、CNAMEレコードによって 「example.com」 にリダイレクトされ、最終的なIPアドレスが取得されます。
CNAMEレコードの主な用途
・別のドメインから正しいウェブサイトにリダイレクトする:例えば、ユーザーが 「gogle.com」 と誤入力しても、CNAMEレコードによって正しい 「google.com」 にリダイレクトされます。
・異なるポート(ネットワークの識別番号)で実行される異なるネットワークサービスに対して、別々のホスト名を割り当てる:例えば、FTPサーバーとウェブサーバーを、同じIPアドレス上で異なるポートに割り当てる場合、それぞれのサービスに応じたホスト名を設定できます。
・地域別ドメインをメインのウェブサイトにリダイレクトする:例えば、「example.ca」「example.co.uk」「example.us」 などの地域別ドメインにアクセスしたユーザーを、メインサイト 「example.com」 にリダイレクトし、が同じサイトを閲覧できるようにすることが可能です。
まとめ
DNSがなければ、インターネットの閲覧は不可能です。「インターネット上の電話帳」として機能するDNSは、ドメイン名とIPアドレスを結びつけ、ユーザーを目的のウェブサイトに導く役割を果たしています。
新しいプロジェクトのためにドメインを取得する場合は、DNS管理が簡単にできるレジストラ(登録業者)を選ぶのがおすすめです。例えばShopifyでは、Shopifyのショップ管理プラットフォームから直接、DNSの設定を編集できるため、オンライン販売ビジネスを運営していく際の手間を減らすことができます。
よくある質問
DNSの設定とは?
DNSの設定とは、ドメイン名とIPアドレスを関連付ける情報を管理・構成することです。これにより、ユーザーがドメイン名を入力した際に適切なサーバーに接続されるようにサポートできます。具体的には、Aレコード(IPv4アドレスの指定)やCNAMEレコード(別名の指定)などのDNSレコードを設定します。
セキュアDNSとは?
セキュアDNSは、インターネットの通信をより安全にするためにDNSを暗号化する技術です。利用者側のクライアント端末から、ISP(インターネット接続業者)が設置したDNSサーバーへの問い合わせ経路で、盗聴や改ざんを防ぐ役割を果たします。なおセキュアDNSを利用するには、クライアントのブラウザとDNSサーバーの両方が対応している必要があります。
DNSサーバーを自社で導入するメリットは?
DNSサーバーを自社で導入すると、細かい設定が可能になり、自社の環境に最適化できるというメリットがあります。外部のDNSサービスを利用すると、機能的な制約がある場合がありますが、社内でDNSサーバーを運用すれば、自由度の高い設定が可能です。
また、リスクマネジメントを自社でできるほか、クエリの解析を行うことでセキュリティ対策やトラフィックの最適化ができるという利点もあります。さらに、社内で運用することでDNS管理のスキルが向上し、トラブル対応能力を高めることにもつながります。
文:Yukari Watanabe