定義
DNS(ドメインネームシステム)はインターネットの住所録であり、人間が読めるドメイン名をコンピューターがトラフィックのルーティングに使用する数値のIPアドレスに変換します。ブラウザにhostlist.ioと入力すると、リゾルバーがサーバーの連鎖に問い合わせを行います。ルート、トップレベルドメイン(.io)、そしてそのドメインの権威ネームサーバーへと順に進み、最終的に76.76.21.21のような回答を返します。ブラウザ、OS、ISPの各レイヤーでのキャッシュのおかげで、通常50ミリ秒未満で完了します。キャッシュされた各レコードにはTTL(多くの場合300から86400秒)が設定されており、これが新しい照会が必要になるまでの再利用期間を制御します。1回のページ読み込みで、ドメイン自体に加え、参照されているCDN、アナリティクス、フォント、広告スクリプトなど、数十件もの個別のDNSクエリが発生します。Cloudflare(1.1.1.1)、Google Public DNS、AWS Route 53、Quad9といった高速で信頼性が高くグローバルに分散されたDNSプロバイダーを利用すれば、このオーバーヘッドを削減できます。逆に低速なプロバイダーを使うと、オリジンサーバーがどれほど高速であっても、すべてのリクエストに遅延が加わってしまいます。
利用方法
DNSはサーバーの階層構造として機能します。ルートサーバー、トップレベルドメインサーバー(.com、.io)、そして個々のドメインに対応する権威ネームサーバーです。リゾルバーはこの連鎖をたどり、要求されたホスト名にマッピングされたIPアドレスを見つけます。複数のレイヤーでのキャッシュにより、再度の照会は瞬時に行われます。
重要な理由
遅い、あるいは信頼性の低いDNSは、訪問のたびに遅延を加え、オリジンサーバー自体は問題なくても、サイトがダウンしているように見えてしまうことがあります。高速でグローバルなDNSプロバイダーを選ぶことは、最も低コストで得られるパフォーマンス改善策の一つです。また、DNSはメールルーティングやSPF/DKIMレコード、セキュリティポリシーを設定する場所でもあります。