Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

83.6. Ansible을 사용하여 IdM에 여러 CNAME 레코드가 있는지 확인

CNAME 레코드(CNAME 레코드)는 하나의 도메인 이름, 별칭을 다른 이름인 정식 이름에 매핑하는 DNS(Domain Name System)의 리소스 레코드 유형입니다.

CNAME 레코드는 단일 IP 주소에서 여러 서비스를 실행할 때 유용합니다(예: FTP 서비스 및 웹 서비스는 각각 다른 포트에서 실행됨).

이 섹션에서는 IdM(Identity Management) 관리자가 Ansible 플레이북을 사용하여 여러 CNAME 레코드가 IdM DNS에 있는지 확인하는 방법을 보여줍니다. 아래 절차에서 사용된 예제에서 host03 은 HTTP 서버와 FTP 서버 둘 다입니다. IdM 관리자는 idm.example.com 영역에 host03 A 레코드에 대한 wwwftp CNAME 레코드가 있는지 확인합니다.

사전 요구 사항

  • Ansible 컨트롤러에 ansible-freeipa 패키지를 설치했습니다. 이는 절차의 단계를 실행하는 호스트입니다.
  • IdM 관리자 암호를 알고 있습니다.
  • idm.example.com 영역이 존재하며 IdM DNS에 의해 관리됩니다. IdM DNS에서 기본 DNS 영역 추가에 대한 자세한 내용은 Ansible 플레이북을 사용하여 IdM DNS 영역 관리에 대한 내용을 참조하십시오.
  • host03 A 레코드는 idm.example.com 영역에 있습니다.

절차

  1. /usr/share/doc/ansible-freeipa/playbooks/dnsrecord 디렉터리로 이동합니다.

    $ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
  2. 인벤토리 파일을 열고 구성할 IdM 서버가 [ipaserver] 섹션에 나열되어 있는지 확인합니다. 예를 들어 server.idm.example.com을 구성하도록 Ansible에 지시하려면 다음을 입력합니다.

    [ipaserver]
    server.idm.example.com
  3. ensure-CNAME-record-is-present.yml Ansible 플레이북 파일의 사본을 만듭니다. 예를 들면 다음과 같습니다.

    $ cp ensure-CNAME-record-is-present.yml ensure-CNAME-record-is-present-copy.yml
  4. 편집을 위해 ensure-CNAME-record-is-present-copy.yml 파일을 엽니다.
  5. ipadnsrecord 작업 섹션에서 다음 변수를 설정하여 파일을 조정합니다.

    • (선택 사항) 플레이 이름에 제공된 설명을 설명합니다.
    • ipaadmin_password 변수를 IdM 관리자 암호로 설정합니다.
    • zone_name 변수를 idm.example.com 으로 설정합니다.
    • records 변수 섹션에서 다음 변수와 값을 설정합니다.

      • name 변수를 www 로 설정합니다.
      • cname_hostname 변수를 host03 으로 설정합니다.
      • name 변수를 ftp 로 설정합니다.
      • cname_hostname 변수를 host03 으로 설정합니다.

      이는 현재 예제에 대한 수정된 Ansible 플레이북 파일입니다.

    ---
    - 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
  6. 파일을 저장합니다.
  7. 플레이북을 실행합니다.

    $ ansible-playbook -v -i inventory.file ensure-CNAME-record-is-present.yml

추가 리소스

  • /usr/share/doc/ansible -freeipa/ 디렉터리에 있는 README-dnsrecord.md Markdown 파일에서 ansible -freeipa ipadnsrecord 모듈에 대한 샘플 Ansible 플레이북을 확인할 수 있습니다. 파일에는 ipadnsrecord 변수의 정의도 포함되어 있습니다.
  • /usr/share/doc/ansible-freeipa/playbooks/dns record 디렉터리에서 ipadns record 모듈에 대한 샘플 Ansible 플레이북을 볼 수 있습니다.