8.6. Ansible を使用して IdM に複数の CNAME レコードを存在させる手順
Canonical Name レコード (CNAME レコード) は、DNS (Domain Name System) のリソースレコードの一種で、別の名前 (CNAME) にドメイン名、エイリアスをマッピングします。
CNAME レコードは、FTP サービスと Web サービスがそれぞれ別のポートで実行されている場合など、1 つの IP アドレスから複数のサービスを実行する場合に、役立つ可能性があります。
本セクションでは、Identity Management (IdM) 管理者が Ansible Playbook を使用して、IdM DNS に複数の CNAME レコードを追加する方法を説明します。以下の手順で使用する例では、host03 は HTTP サーバーと FTP サーバーの両方として機能します。IdM 管理者は、idm.example.com ゾーンに host03 A レコードの www および ftp CNAME レコードを追加します。
前提条件
- Ansible コントローラーに ansible-freeipa パッケージがインストールされている。これは、この手順の内容を実行するホストです。
- IdM 管理者パスワードを把握している。
- idm.example.com ゾーンが存在しており、IdM DNS が管理する。IdM DNS にプライマリー DNS ゾーンを追加する方法は、Ansible Playbook を使用した IdM DNS ゾーンの管理 を参照してください。
- host03 A レコードが idm.example.com ゾーンに存在している。
手順
/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
ディレクトリーに移動します。$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
インベントリーファイルを開き、設定する IdM サーバーが
[ipaserver]
セクションに記載されていることを確認します。たとえば、Ansible に対して server.idm.example.com を設定するように指示するには、次のコマンドを実行します。[ipaserver] server.idm.example.com
Ansible Playbook ファイル (ensure-CNAME-record-is-present.yml) のコピーを作成します。以下に例を示します。
$ cp ensure-CNAME-record-is-present.yml ensure-CNAME-record-is-present-copy.yml
- ensure-CNAME-record-is-present-copy.yml ファイルを開いて編集します。
ipadnsrecord
タスクセクションで以下の変数を設定して、ファイルを調整します。-
(任意) Play の
name
で提示された説明を調整します。 -
ipaadmin_password
変数は IdM 管理者パスワードに設定します。 -
zone_name
変数は idm.example.com に設定します。 record
変数セクションで、以下の変数および値を設定します。-
name
変数は www に設定します。 -
cname_hostname
変数は host03 に設定します。 -
name
変数は ftp に設定します。 -
cname_hostname
変数は host03 に設定します。
以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
-
--- - name: Ensure that 'www.idm.example.com' and 'ftp.idm.example.com' CNAME records point to 'host03.idm.example.com'. hosts: ipaserver become: true gather_facts: false tasks: - ipadnsrecord: ipaadmin_password: Secret123 zone_name: idm.example.com records: - name: www cname_hostname: host03 - name: ftp cname_hostname: host03
-
(任意) Play の
- ファイルを保存します。
Playbook を実行します。
$ ansible-playbook -v -i inventory.file ensure-CNAME-record-is-present.yml
関連情報
-
/usr/share/doc/ansible-freeipa/
ディレクトリーのREADME-dnsrecord.md
ファイルを参照してください。 -
/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
ディレクトリーのサンプルの Ansible Playbook を参照してください。