第8章 レコードセットの管理
Red Hat OpenStack (RHOSP) DNS サービス (designate) は、ゾーンに関するデータをレコードセットに保存します。レコードセットは、1 つ以上の DNS リソースレコードで構成されます。ゾーンに対してクエリーを実行し、レコードセットの追加、変更、および削除だけでなくリスト表示もできます。
このセクションに含まれるトピックは次のとおりです。
8.1. DNS サービスのレコードおよびレコードセットについて リンクのコピーリンクがクリップボードにコピーされました!
Domain Name System (DNS) はリソースレコードを使用して namespace 内にゾーンデータを保存します。Red Hat OpenStack (RHOSP) DNS サービス (designate) の DNS レコードは、レコードセットを使用して管理されます。
各 DNS レコードには以下の属性が含まれます。
- Name: DNS namespace 内の場所を示す文字列。
-
Type: レコードの使用方法を識別する文字コードのセット。たとえば、
Aはアドレスレコードを識別し、CNAMEは正規名レコードを識別します。 -
Class: レコードの namespace を指定する文字コードのセット。通常、これはインターネットの場合は
INになりますが、他の namespace も存在します。 - TTL: (time to live) レコードが有効なままである期間 (秒単位)。
- Rdata: A レコードの IP アドレスや CNAME レコードの別のレコード名などのレコードデータ。
各ゾーン namespace には、SOA (start of authority) レコードが含まれている必要があり、権威ネームサーバー (NS) レコードとその他のさまざまなタイプのレコードを持つこともできます。SOA レコードは、このネームサーバーがゾーンに関する最適な情報源であることを示しています。NS レコードは、ゾーンで権限のあるネームサーバーを識別します。ゾーンの SOA レコードおよび NS レコードは読み取り可能ですが、変更することはできません。
必要な SOA レコードと NS レコード以外で最も一般的な 3 つのレコードタイプは、アドレス (A) レコード、正規名 (CNAME) レコード、およびポインター (PTR) レコードです。A レコードはホスト名を IP アドレスにマッピングします。PTR レコードは、IP アドレスをホスト名にマッピングします。CNAME レコードはエイリアスの完全なホスト名を特定します。
レコードセットは、名前とタイプが同じ 1 つ以上の DNS レコードを表しますが、データは異なる場合があります。たとえば、データ 192.0.2.1 と 192.0.2.2 を含むタイプ A の web.example.com という名前のレコードセットは、これら 2 つの IP アドレスにある web.example.com をホストする 2 つの Web サーバーを反映している可能性があります。
レコードセットはゾーン内に作成する必要があります。レコードセットを含むゾーンを削除すると、そのゾーン内のレコードセットも削除されます。
openstack recordset list -c name -c type -c records example.com コマンドで example.com ゾーンにクエリーを実行して得られたこの出力について考えてください。
+------------------+------+----------------------------------------------+
| name | type | records |
+------------------+------+----------------------------------------------+
| example.com. | SOA | ns1.example.net. admin.example.com. 16200126 |
| | | 16 3599 600 8640 0 3600 |
| | | |
| example.com. | NS | ns1.example.net. |
| | | |
| web.example.com. | A | 192.0.2.1 |
| | | 192.0.2.2 |
| | | |
| www.example.com. | A | 192.0.2.1 |
+------------------+------+----------------------------------------------+
この例では、example.com. ゾーンの権威ネームサーバーは NS レコードの ns1.example.net です。これを確認するには、BIND dig ツールを使用して、ネームサーバーに NS レコードのクエリーを実行します。
$ dig @ns1.example.net example.com. -t NS +short
ns1.example.net.
A レコードセットを確認することもできます。
$ dig @ns1.example.net web.example.com. +short
192.0.2.2
192.0.2.1
$ dig @ns1.example.net www.example.com. +short
192.0.2.1