28.5. Ansible を使用して IdM に複数の DNS レコードを存在させる手順

本セクションでは、Identity Management (IdM) 管理者が Ansible Playbook を使用して、特定の IdM DNS レコードに複数の値を関連付ける方法を説明します。以下の手順で使用する例では、IdM 管理者は idm.example.com DNS ゾーンに host1 の A レコードを複数追加します。

前提条件

  • Ansible コントローラーに ansible-freeipa パッケージがインストールされている。これは、この手順の内容を実行するホストです。
  • IdM 管理者パスワードが分かっている。
  • idm.example.com ゾーンが存在しており、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-presence-multiple-records.yml) のコピーを作成します。以下に例を示します。

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

    • ipaadmin_password 変数は IdM 管理者パスワードに設定します。
    • records セクションで、name 変数を host1 に設定します。
    • record セクションで、zone_name 変数を idm.example.com に設定します。
    • record セクションで、a_rec 変数を 192.168.122.112 に、192.168.122.122 設定し ます
    • records セクションの 2 番目のレコードを定義します。

      • name 変数は host1 に設定します。
      • zone_name 変数は idm.example.com に設定します。
      • aaaa_rec 変数は ::1 に設定します。

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

    ---
    - name: Test multiple DNS Records are present.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      # Ensure that multiple dns records are present
      - ipadnsrecord:
          ipaadmin_password: Secret123
          records:
            - name: host1
              zone_name: idm.example.com
              a_rec: 192.168.122.112
              a_rec: 192.168.122.122
            - name: host1
              zone_name: idm.example.com
              aaaa_rec: ::1
  6. ファイルを保存します。
  7. Playbook を実行します。

    $ ansible-playbook -v -i inventory.file ensure-presence-multiple-records-copy.yml

関連情報

  • DNS の A レコードの詳細は、「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 のサンプルを確認できます。