第1章 DNSaaS の概要
Red Hat OpenStack Platform 10 には、Designate としても知られる DNS-as-a-Service (DNSaaS) のテクノロジープレビューが含まれています。DNSaaS にはドメインとレコードの管理のための REST API が含まれ、マルチテナントに対応しており、OpenStack Identity サービス (keystone) と統合して認証を行います。また、DNSaaS には Compute (nova) および OpenStack Networking (neutron) の通知と統合するフレームワークが実装されており、DNS レコードの自動生成が可能です。DNSaaS は Bind9 の統合もサポートしています。
1.1. 本ガイドの構成
- DNSaaS の手動インストール手順 (DNSaaS は現在 director デプロイメントに含まれていないため)
- コマンドラインインターフェースからの DNSaaS の管理および設定
- Bind9 との統合 (インスタンスレコードの自動作成を含む)
1.2. DNSaaS の要件
- 完全に機能する OpenStack Networking ベースの非高可用性 OpenStack 環境
- 自動作成のテスト用に読み込まれた OpenStack Image サービス (glance) のイメージ
1.3. DNSaaS サービス
DNSaaS のデプロイメントには、以下のコンポーネントが含まれます。
designate-api |
OpenStack ネイティブの REST API を提供します。 |
designate-central |
mysql データベースの要求を処理して、ストレージを連携します。 |
designate-mdns |
標準の DNS プロトコルで他の DNS サーバーと通信するためだけに使用する小規模な MiniDNS サーバー |
designate-pool-manager |
DNSaaS が管理する DNS サーバーの状態を管理します。バックエンド DNS サーバーが DNSaaS と同期されるようにします。 |
designate-sink |
nova および neutron 通知イベントをリッスンして、自動のレコード作成/削除をトリガーするために使用するオプションのサービス |
designate-agent |
ゾーン転送 (AXFR) を受け入れることができない DNS サーバーに使用します。BIND バックエンドの必要はありません。 |
zone-manager サービスは、次のメジャーリリースで追加される予定です。このサービスはゾーンに対して定期的にタスクを実行して、失われたイベントを特定するメカニズムを提供します。
1.4. DNSaaS と Compute および OpenStack Networking の統合
DNSaaS のレコード管理は、designate-sink
サービスが designate-central
にメッセージを送信した時点で開始され、次に以下に記載のワークフローをトリガーします。
1. designate-sink
は Compute から instance boot/delete イベントを受信するか、OpenStack Networking から floating IP add/remove イベントを受信します。これらのイベントは、OpenStack メッセージバスを使用して送信されます。
2. designate-sink
は、仮想マシンの名前および設定済みのドメイン ID からホストの FQDN を構成します (以下参照)。
3. designate-sink
は、designate-central
に対して指定の名前および IP アドレスを持つレコードを追加/削除するように通知します。
4. designate-central
は、DNSaaS データベースにレコードを追加したり、このデータベースからレコードを削除したりします (designate-central
と designate-mdns
の間で共有)。
5. designate-central
は、このドメインのバックエンドの DNS サーバー (BIND9) に DNS NOTIFY
を送信するように、designate-pool-manager
に通知します。
6. バックエンドの DNS サーバーは DNS NOTIFY
を受信して AXFR
(ゾーン転送) 要求を designate-mdns
に送信します。
7. designate-mdns
は、データベースからこれらの変更を読み込み、AXFR
応答でバックエンド DNS サーバーに対してこれらの変更を送信します。