第1章 DNS サービスの概要
このセクションの以下のコンテンツは、今回のリリースでは テクノロジープレビュー としての利用となるため、Red Hat によって完全にはサポートされません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は、テクノロジープレビュー を参照してください。
DNS サービス (designate) は、Red Hat OpenStack Services on OpenShift (RHOSO) デプロイメントに DNS をサービス実装として提供します。別の DNS サービスである CoreDNS は、RHOSO コントロールプレーンに DNS サービスを提供します。別の DNS サービスである dnsmasq は、RHOSO データプレーン上のノードに DNS サービスを提供します。
このセクションに含まれるトピックは次のとおりです。
1.1. DNS (Domain Name System) の基本 リンクのコピーリンクがクリップボードにコピーされました!
DNS (Domain Name System) は、プライベートまたはパブリックネットワークに接続されているリソースの命名システムです。階層型の分散データベースである DNS は、リソースに関する情報を、ゾーン と呼ばれるさまざまなグループに編成されたドメイン名に関連付けます。権威ネームサーバーは、リソースとゾーンの情報をレコードに格納します。リゾルバーはこれらのレコードを照会して、ネットワークデータをルーティングするためのリソースを識別し、その場所を特定できます。
名前はゾーンの階層に分割され、これにより委譲が容易になります。個別のネームサーバーが特定のゾーンを担当します。
図1.1 Domain Name System
単純に . (ドット) には、さまざまなトップレベルドメイン (TLD) を他のネームサーバーに委任するレコードが含まれています。これらの種類のレコードはネームサーバー (NS) レコードと呼ばれ、特定のドメインに対して権限のある DNS サーバーを識別します。ドメインのプライマリーおよびバックアップネームサーバーを示す NS レコードが複数あるあることは珍しくありません。
ルートゾーンの下には、TLD 内のドメインのレコードのみを含むさまざまな TLD ネームサーバーがあります。これらは、それぞれ A レコードと CNAME レコードと呼ばれるアドレスレコードと正規名レコードです。
たとえば、.com ネームサーバーには、ゾーンを他のネームサーバーに委譲する NS レコードに加えて、example.com の CNAME レコードが含まれます。ドメイン example.com には独自のネームサーバーがあり、それにより cloud.example.com などの他のドメインを作成できます。
多くの場合、リゾルバーは 2 つの部分で設定されています。通常はユーザーのコンピューター上のライブラリーである スタブリゾルバー と、結果をユーザーに返す前にネームサーバーに対してクエリーを実行する 再帰リゾルバー です。ドメインを検索する場合、リゾルバーはドメインの最後から開始し、ドメインの最初に向かって実行します。
たとえば、cloud.example.com を検索する場合、リゾルバーはルートネームサーバー . から開始します。ルートは、.com ネームサーバーの場所で応答します。次に、リゾルバーは .com ネームサーバーに接続して、example.com ネームサーバーを取得します。最後に、リゾルバーは cloud.example.com レコードを特定し、ユーザーに返します。
図1.2 DNS クエリーの解決
| 1 |
ユーザーは |
| 2 |
再帰リゾルバーは、 |
| 3 |
レコードが見つからず、 |
| 4 |
リゾルバーは、 |
| 5 |
レコードが見つからず、 |
| 6 |
リゾルバーは、 |
| 7 |
|
| 8 |
リゾルバーは、 |
この検索をより効率的にするために、結果はリゾルバーにキャッシュされます。そうすることで、最初のユーザーが cloud.example.com を要求した後、リゾルバーは後続の要求に対してキャッシュされた結果を迅速に返すことができます。