28.4. Ansible を使用して IdM に A および PTR DNS レコードを存在させる手順

本セクションでは、Identity Management (IdM) 管理者が Ansible Playbook を使用して、特定の IdM ホストの A レコードと対応する PTR レコードを追加する方法を説明します。以下の手順で使用する例では、IdM 管理者は、idm.example.com ゾーンで IP アドレスが 192.168.122.45host1 の A レコードと PTR レコードを追加します。

前提条件

  • Ansible コントローラーに ansible-freeipa パッケージがインストールされている。これは、この手順の内容を実行するホストです。
  • IdM 管理者パスワードが分かっている。
  • idm.example.com DNS ゾーンが存在しており、IdM DNS が管理する。IdM DNS にプライマリー DNS ゾーンを追加する方法は、「Ansible Playbook を使用した IdM DNS ゾーンの管理」を参照してください。

手順

  1. /usr/share/doc/ansible-freeipa/playbooks/dnsrecord ディレクトリーに移動します。

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
  2. インベントリーファイルを開き、設定する IdM サーバーが [ipaserver] セクションに記載されていることを確認します。たとえば、Ansible に対して server.idm.example.com を設定するよう指示するには、以下を入力します。

    [ipaserver]
    server.idm.example.com
  3. Ansible Playbook ファイル (ensure-dnsrecord-with-reverse-is-present.yml) のコピーを作成します。以下に例を示します。

    $ cp ensure-dnsrecord-with-reverse-is-present.yml ensure-dnsrecord-with-reverse-is-present-copy.yml
  4. ensure-dnsrecord-with-reverse-is-present-copy.yml ファイルを開いて編集します。
  5. ipadnsrecord タスクセクションで以下の変数を設定して、ファイルを調整します。

    • ipaadmin_password 変数は IdM 管理者パスワードに設定します。
    • name 変数は host1 に設定します。
    • zone_name 変数は idm.example.com に設定します。
    • ip_address 変数は、192.168.122.45 に設定します。
    • create_reverse 変数は yes に設定します。

      以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。

    ---
    - name: Ensure DNS Record is present.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      # Ensure that dns record is present
      - ipadnsrecord:
          ipaadmin_password: Secret123
          name: host1
          zone_name: idm.example.com
          ip_address: 192.168.122.45
          create_reverse: yes
          state: present
  6. ファイルを保存します。
  7. Playbook を実行します。

    $ ansible-playbook -v -i inventory.file ensure-dnsrecord-with-reverse-is-present-copy.yml

関連情報

  • A および PTR DNS レコードの詳細は、「IdM の DNS レコード」を参照してください。
  • ansible-freeipa ipadnsrecord モジュールの Ansible Playbook の他のサンプルは、/usr/share/doc/ansible-freeipa/ ディレクトリーの README-dnsrecord.md Markdown ファイルで確認できます。このファイルには ipadnsrecord 変数の定義も含まれます。
  • /usr/share/doc/ansible-freeipa/playbooks/dnsrecord ディレクトリーで、ipadnsrecord モジュール向けの Ansible Playbook のサンプルを確認できます。