プライマリDNSとは何ですか?

2024年10月16日

執筆者

Chrystal R. China

Writer, automation & ITOps

Michael Goodwin

Editorial lead, Automation & ITOps

プライマリDNSとは何ですか?

プライマリーDNSサーバーは、ドメイン・ネーム・システム(DNS)において、ドメインの主要な権威ネーム・サーバーです。このサーバーは、そのドメインに関する情報の決定的な情報源として機能し、IPアドレスやサブドメインを含む、すべてのDNSレコードのオリジナル・コピーを保存しています。

DNSシステムは、人間にとってわかりやすいドメイン名とコンピューターに適したIPアドレスとを結び付け、インターネット利用者が目的のWebサイトにアクセスできるようにするために使用されます。

ユーザーがWebブラウザーにドメイン名を入力すると、そのユーザーのコンピューターはDNSリゾルバーと通信し、DNSシステムをたどって、要求されたWebサイトのIPアドレスを持つ権威ネーム・サーバー(通常はプライマリー・サーバーですが、プライマリーがダウンしていたり過負荷であったりする場合はセカンダリー・サーバー)に到達します。この対応するIPアドレスはユーザーに返され、ユーザーはそのWebサイトに接続されます。

プライマリーDNSサーバーは、管理者がドメインのゾーンやDNSレコードを設定する場所です。セカンダリー・サーバーは、システムのレジリエンスを高めるために設定されます。これらのサーバーは、プライマリー・サーバー上のゾーンに設定されたレコードの完全なコピーを保持しており、プライマリー・サーバーが利用できない場合のクエリ解決に使用されます。

企業によっては数十台のサーバーを設置し、プライマリー・ネーム・サーバーのゾーン(およびその中のレコード)がすべてのセカンダリー・サーバーにコピーされます。

プライマリーDNSサーバーは、ドメインのSOA(Start of Authority)レコードも保持しており、これは一種のバージョン管理システムとして機能します。これにより、プライマリー・ゾーン・ファイルの更新がセカンダリー・サーバーに通知され、バックアップ・サーバーとのレプリケーション・プロセスが追跡されます。

プライマリーDNSサーバーとセカンダリーDNSサーバーの違いは、インターネット上のユーザーには見えません。これらのサーバーは同じ情報を保持しており、その違いは管理者にとってのみ意味を持ちます。変更が行われるのはプライマリー・サーバーであり、セカンダリー・サーバーはそのコピーをプライマリーから取得します。

このシステムは、DNSトラフィックのルーティングとネットワークのレジリエンスの両方において、極めて重要な役割を果たします。

ビジネス街をバックにスマホを持つ手

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

DNSをわかりやすく解説

ドメイン・ネーム・システム(DNS)は、人間が理解しやすいドメイン名を、コンピューターがネットワーク上で相互に識別するために使用するインターネット・プロトコル(IP)アドレスに変換するインターネット標準プロトコルのコンポーネントです。

DNSはしばしば「インターネットの電話帳」と呼ばれますが、より現代的な例えをするならば、スマートフォンが連絡先を管理するのとほぼ同じ方法でドメイン名を管理します。スマートフォンでは、簡単に検索できる連絡先リストに電話番号を保存することで、ユーザーが個々の電話番号を覚えておかなくても済むようにします。

同様に、DNSを使用すると、ユーザーはIPアドレスの代わりにインターネット・ドメイン名を使用してWebサイトに接続できます。たとえば、「93.184.216.34」にあるWebサーバーのアドレスを覚える必要はなく、ユーザーは「www.example.com」というWebページにアクセスすることで、目的の結果を得ることができます。

プライマリーDNSサーバーは、ネーム・サーバー(NS)レコード、Aレコード、MXレコード、CNAMEレコード(その他のタイプも含む)を保持しており、適切なデータや情報をユーザーに返すためのルーティングを行います。

重要な点として、プライマリー・サーバーはそのドメインのSOAレコードも保持しています。SOAレコードは、ドメインに関する権威ある情報を提供するもので、プライマリー・ネーム・サーバー、管理者のEメール・アドレス、ゾーンのリフレッシュ間隔を指定する更新タイマー、ドメインのシリアル番号などが含まれます。

ドメインが登録されると、そのネーム・サーバー(NS)レコードが作成され、通常はホスティング会社またはDNS Servicesプロバイダーによって提供されるプライマリーDNSサーバーに保存されます。管理者がDNSレコードを変更または更新したい場合は、プライマリーDNSサーバー上で行う必要があります。その変更は、すべてのセカンダリー・サーバーへと伝播されます。

サーバー管理者は、任意のDNSサーバーをプライマリーまたはセカンダリーとして指定することができます実際、サーバーは、あるゾーンではプライマリーを指定し、別のゾーンではセカンダリー指定にすることができます。ただし、各DNSゾーンにはプライマリー・サーバーは1つしか設定できません。

NS1 Connect

IBM NS1 Connect

IBM NS1 Connectでネットワークのレジリエンスを強化しましょう。このビデオでは、アプリケーションのレジリエンスと性能におけるIBM NS1 Connectの価値について説明します。

ユーザーのクエリがDNSを通じてどのように移動するか

ユーザーがブラウザーやアプリにドメイン名を入力すると、そのリクエストはリカーシブ・リゾルバーに送信されます。通常、ユーザーのデバイスにはインターネット・サービス・プロバイダー(ISP)によって提供されたあらかじめ設定されたDNS設定があり、それに基づいて使用されるリゾルバーが決まります。

リゾルバーは、ドメインに対応するIPアドレスを確認するために、まずDNSキャッシュ(WebブラウザーやWindows、LinuxなどのOS内の一時的な保存領域)をチェックします。DNSルックアップのデータがキャッシュされていない場合、リゾルバーは権威DNSサーバーからその情報を取得します。権威サーバーはDNSゾーン・ファイルを参照し、TTL(Time-To-Live)で指定された期間だけDNSレコードをキャッシュし、該当するIPアドレスをユーザーのデバイスに返します。

その後、ブラウザーやアプリはそのIPアドレスにあるホスト・サーバーへの接続を開始し、要求されたWebサイトやサービスにアクセスできるようになります。

セカンダリーDNSサーバーとは何ですか

DNSサーバーは、その役割に基づいて「プライマリー」と「セカンダリー」に分類されます。プライマリーDNSサーバーは、ドメインのDNSレコードに対する権威ある情報源であり、ゾーン・ファイルの読み書き可能なオリジナルを保持します。一方、セカンダリー DNSサーバーは、負荷分散や冗長性の管理を目的として、ゾーン・ファイルの読み取り専用のレプリカを保持しています。プライマリー・サーバーがダウンしている場合、クエリは自動的にセカンダリー・サーバーにルーティングされ、リクエストが処理されます。

セカンダリーDNSサーバーは非必須です。DNSシステムはプライマリー・サーバーのみが利用可能な場合でも機能します。しかし、ドメイン登録事業者によっては、少なくとも1つのセカンダリー・サーバーを維持することが標準とされており、また多くの場合において必須とされています。これは、ラウンドロビンDNS(トラフィックを各サーバーに均等に分散する方式)を可能にし、サービス拒否(DoS)を防ぎ、システム全体のレジリエンスを高めるためです。サーバーが1つまたは複数台故障した場合でも、ユーザーを目的のWebサイトに接続できるバックアップが用意されています。

プライマリーDNSとセカンダリーDNS

プライマリー・サーバーとセカンダリー・サーバーの両方が、DNSシステムの効率性を維持するのに役立っています。これらを併用することで、プライマリーかセカンダリーかに関係なく、利用可能な任意のサーバーがユーザーのクエリに応答できるようになります。ただし、プライマリーDNSサーバーとセカンダリーDNSサーバーの違いについて、さらに詳しく見ていきましょう。

ファンクション

プライマリーDNSサーバーはプライマリー・ゾーン・ファイルを保管するだけでなく、ドメイン管理者からの更新要求に応答し、動的更新を処理します。セカンダリーゾーンサーバーは、プライマリーサーバーのダウンタイム中またはプライマリーサーバーが過負荷になったときにDNSリクエストを処理するバックアップサーバーです。

ゾーン・ファイルの管理と同期

プライマリー・ネーム・サーバーのプライマリー・ゾーン・ファイルには、Aレコード(IPv4のアドレス・レコード)、AAAAレコード(IPv6のアドレス・レコード)、MXレコード(メール・サーバーに送信)、CNAMEレコード(エイリアスを真のドメイン名にマッピング)、SOAレコード(ドメインのすべての管理情報)、TXTレコード(電子メール認証の送信者ポリシー・フレームワーク・レコードを示す)が与えられたドメインに含まれています。管理者はこのファイルを直接管理し、DNSレコードの更新や変更はここで最初に行われます。

セカンダリーDNSサーバーは、プライマリー・サーバーから転送されたゾーン・ファイルのレプリカです。これらのサーバーではゾーン・ファイルを直接修正・編集することはできません。その代わりに、ゾーン・トランスファーと呼ばれるプロセスを通じて、定期的にプライマリー・サーバーに更新を確認します。

設定

プライマリーDNSの構成には、ゾーン・ファイル、リソース・レコード、およびアクセス制御の設定が含まれます。また、指定されたセカンダリー・サーバーへの権威ゾーン・トランスファー(AXFR)や増分ゾーン・トランスファー(IXFR)の設定も含まれる場合があります。

セカンダリーDNS構成では、ゾーン・データ・トランスファー用にプライマリー・サーバーとセカンダリー・サーバー間の通信プロトコルを設定し、プライマリー・サーバーにチェックインする頻度を指定することが管理者に求められます。

冗長性とフェイルオーバー

プライマリーDNSサーバーは不可欠ですが、単一障害点にもなります。プライマリーDNSサーバーがクラッシュし、ワークロードを引き継ぐためのセカンダリー・サーバーが指定されていない場合、DNS解決プロセス全体に支障をきたす可能性があります。セカンダリー・サーバーはプライマリーDNSサーバーなしには存在できませんが、プライマリー・サーバーがダウンしている間も、セカンダリー・サーバーがDNSを継続的に稼働させることができます。プライマリー・サーバーが復旧するまで、その役割を担うのです。

プライマリーDNSとセカンダリーDNSはどのように連携して機能するのでしょうか。

管理者は、プライマリーサーバーを支えるためにセカンダリーDNSサーバーを活用し、システムのレジリエンスを最大限に高めています。

セカンダリー・サーバーは、権威ネーム・サーバー上のすべてのレコードの完全なコピーを保持しているため、プライマリー・サーバーがクラッシュしたり利用不能になった場合でも、その代わりを務めることができます。しかし、システム管理者が手動でコピーを作成・管理しなければならないとすると、プライマリー・サーバーとセカンダリー・サーバーの間に遅延が生じてしまいます。その代わりに、プライマリーDNSとセカンダリーDNSはコピー処理を自動化しています。

管理者がプライマリー・サーバーに変更を加えると、SOAレコードに含まれるドメインのシリアル番号が、次の番号に更新されます(たとえば、シリアル番号がSOA 1であった場合、SOA 2に変更されます)。

従来のDNS構成では、セカンダリー・ネーム・サーバーはあらかじめ設定された間隔でプライマリー・サーバーに接続し、現在のSOAシリアル番号を確認します。プライマリー・サーバーが変更を報告した場合、セカンダリー・サーバーはAXFRまたはIXFR要求を送信し、コピーの取得を開始します。その後、プライマリー・サーバーは更新データとともに、更新されたSOAシリアル番号をセカンダリー・サーバーに返送します。

このDNS構成では、セカンダリー・サーバーがプライマリー・サーバーの変更を検知するためにXFRプル要求を自ら発信する必要があるため、DNSの応答速度に影響する追加のステップが生じます。

しかし、より新しい構成では「NOTIFY」プロトコルが使用されており、これにより管理者が変更を加えた際に、プライマリー・ネーム・サーバーがバックアップ・サーバーに対してユーザー・データグラム・プロトコル(UDP)メッセージを送信できるようになります。その後、セカンダリー・サーバーはSOAシリアル番号を確認して変更を検出し、更新を取得するためのプル要求を開始します。

このようなプライマリーDNSとセカンダリーDNSの運用方法により、システム管理者はシステムの信頼性とレジリエンスを最大限に高めることができます。また、サーバー間の同期が保たれ、ユーザーがどのサーバーにアクセスしても最新の情報を取得できるようになります。

プライマリーDNSとセカンダリーDNSの課題

プライマリーDNSとセカンダリーDNSを使用することは、インターネット上で冗長性によって信頼性を確保する最も一般的な方法ですが、この運用には課題も存在します。プライマリー/セカンダリー方式では、グローバル・サーバー・ロードバランシング(GSLB)のような高度な機能に対応できないことが多いのです。

GSLBのようなトラフィック誘導ツールは、ユーザーの地理的な近接性に基づいてDNSサーバーへトラフィックを振り分けます。DNSルーターは、解決プロセスを高速化するために、リクエストを最も近くにある利用可能なサーバーへ自動的に送信します。

しかし、この機能は多くの場合ベンダー独自の仕様であり、XFRを通じて転送することはできません。ドメイン管理者はプライマリー・ネーム・サーバー上にGSLBを設定することはできますが、その構成をセカンダリー・サーバーに移すことはできません。

この問題に対処するため、企業は世界中の複数のサーバーをサポートできる独自システムを備えたベンダーを選ぶことが可能です。たとえばAnycast DNSは、1つまたは複数のIPアドレスを、地理的に分散した複数のサーバーに割り当てることを可能にします。

従来のDNSにおける1対1の通信とは異なり、Anycastでは1対多の通信が可能になります。そのため、ユーザーがリクエストを送信すると、そのリクエストは1つのリゾルバーではなく、リゾルバーのネットワークに送られ、最も近くにある利用可能なサーバーで処理されます。

あるいは、複数のベンダーを使用する場合、組織は複数のプライマリー・ネーム・サーバーを構成し、ユーザーがそれらの中間に位置するように設定することもできます。このような構成では、セカンダリーDNSやXFR転送に依存せず、管理者がAPIを使ってすべてのサーバーを直接設定します。

プライマリーDNSサーバーの管理

プライマリーDNSとセカンダリーDNSはどちらもクエリのルーティングにおいて重要な役割を担っているため、プライマリーDNSサーバーを適切に管理・最適化することで、DNS全体の処理速度を高めることができます。企業は、以下のような運用を取り入れることで、DNSの効果を最大限に引き出すことができます。

信頼できるプライマリーDNSプロバイダーの利用

アップタイムが長く、包括的な冗長化プロトコル、アクセスしやすいカスタマー・サポートを備えたDNSプロバイダーを選ぶことで、DNSクエリに迅速かつ確実に応答できる体制を整えることができます。

無料および有料のDNSを検討する

プライマリーDNSプロバイダーは、パブリックDNS ServicesからプレミアムなマネージドDNSサーバーまで、さまざまなサービスを提供しています。組織にとって最適なソリューションを決定するには、1組織のニーズ、予算、システムの複雑さなどを考慮する必要があります。パブリックDNSを使用すれば、クライアントはオープンかつ無料のDNSアクセスを得られますが、プレミアムDNSへ移行することで、よりきめ細かい制御が可能になります。

DNSの脅威に関する最新情報の入手

最新のDNS脆弱性や脅威(DNSトンネリング、DDoS攻撃、キャッシュ・スプーフィングなど)に常に注意を払い、ファイアウォールやDNSセキュリティー拡張(DNSSEC)などのセキュリティ対策を活用することで、DNSサーバーを保護することができます2

DNSレコードを最新の状態に保つ

IPアドレス、インフラ、サービスの変更を反映するためにDNSレコードを迅速かつ頻繁に更新することで、一貫性のある正確なドメイン解決が可能になります。

セカンダリーDNSサーバーのメリット

従来のプライマリー/セカンダリーDNSアーキテクチャーは、現代のマネージドDNSプロバイダーでは時代遅れになっています。現在、ほとんどのプロバイダーは使用するネーム・サーバーIPを提供しています。それぞれのIPの後ろには、エニーキャスト(1対多のトランスポートプロトコル)を使用してリクエストをルーティングするDNSサーバーのプールがあります。このアプローチは、従来のモデルよりも優れた冗長性と可用性を提供する傾向があります。

しかし、高度なDNSのデプロイメントにおいても、セカンダリーDNS Servicesはビジネスに役立ちます。

古いDNSサーバーに依存しながら、新しいDNSインフラストラクチャへの移行

セカンダリーDNSを使用すると、チームは組織内でホストされている古いDNSサーバーをポイントするツール、コード、レガシー・システムにアクセスできます。アーキテクチャーの移行中、管理者はセカンダリーサーバーを使用して、依存関係を壊すことなくセカンダリーDNSプロバイダーを定義できます。これにより、既存のすべてのプロセスの同期が維持されますが、社内サーバーの速度が低下したり障害が発生したりした場合には新しいDNSサーバーが応答できるようになります。

単一障害点を避ける

トラフィックの多いサイトやミッションクリティカルなWebアプリを持つ多くの組織にとって、サービスの停止は許容できません。セカンダリ・ネーム・サーバーを使用することで、プライマリDNSサーバーにレイテンシーやその他の問題が発生した場合でも、単一障害点を回避することができます。

1つのマネージドサービスで冗長DNSを設定します。

マネージド・サービスは、通常のマネージドDNS Servicesとは別のネットワークおよびサーバー上で稼働する専用のDNSデプロイメントを、組織向けに構成します。このアプローチにより、冗長性を確保しつつ、1つのプロバイダーでサービスを一元化することが可能になります。さらに、専用のデプロイメントの場合、他の組織との共有は起こらないため、サービス上の他の顧客を標的とした攻撃を避けることができます。

関連ソリューション
IBM NS1 Connect

IBM NS1 Connectは、エンタープライズDNS、DHCP、IPアドレス管理、およびアプリケーションのトラフィック・ステアリングのためのクラウド・サービスです。

NS1 Connectの詳細はこちら
ネットワーキング・ソリューション

IBMのクラウド・ネットワーキング・ソリューションは、アプリケーションとビジネスを強化する高性能な接続を可能にします。

クラウド・ネットワーキング・ソリューションの詳細はこちら
ネットワーキング・サポート・サービス

クラウド・ネットワーキングなどにおけるデータセンター・サポートをIBM Technology Lifecycle Servicesで統合しましょう。

クラウド・ネットワーキング・サービス
次のステップ

IBM NS1 Connectでネットワーク・レジリエンスを強化します。無料の開発者アカウントを作成し、マネージドDNSソリューションをお試しいただくか、またはデモを予約して、IBMプラットフォームがネットワークのパフォーマンスと信頼性をどのように最適化できるかをご確認ください。

マネージドDNS Servicesの詳細はこちら デモを予約