DNS는 하나 이상의 레코드를 호스트 이름과 연결해 동작한다. 가장 일반적으로 사용되는 DNS 레코드 타입은 A 레코드와 CNAME 레코드다. A 레코드는 호스트 이름을 IP 주소에 연결하는 것이고, CNAME 레코드는 호스트 이름을 다른 호스트 이름으로 앨리어스로 지정한 것을 말한다.
DNS 프로토콜은 TXT 레코드라는 호스트 이름과 연결할 수 있는 다른 타입의 레코드를 지원한다. TXT 레코드는 호스트 이름에 연결할 수 있는 임의의 문자열이다. TXT 레코드를 호스트 이름과 연결하면 누구나 DNS 클라이언트를 사용해 텍스트를 검색할 수 있다.
예를 들어 github.com 도메인을 소유하고 있기에 해당 도메인의 모든 호스트 이름과 관련된 TXT 레코드를 생성할 수 있다. TXT 레코드를 이 책의 ISBN 번호가 포함된 github.com 호스트 이름과 연결했다.
dig 커맨드라인 툴을 사용해 TXT 레코드를 조회할 수 있다.
$ dig +short github.com TXT
"MS=ms44452932"
"docusign=087098e3-3d46-47b7-9b4e-8a23028154cd"
"v=spf1 ip4:192.30.252.0/22 ip4:208.74.204.0/22 ip4:46.19.168.0/23 include:_spf.google.com include:esp.github.com include:_spf.createsend.com include:servers.mcsv.net ~all"
"MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805"
"MS=ms58704441"
dnstxt 조회는 DNS 서버에 호스트와 관련된 TXT 레코드를 쿼리한다. 플레이북에서 이와 같은 태스크를 생성한다.
- name: look up TXT record
debug: msg="{{ lookup('dnstxt', 'github.com') }}"
'Ansible-Puppet-Chef' 카테고리의 다른 글
[ansible] proxy 서버로 인한 Cannot get CSRF 에러 발생 (0) | 2019.06.18 |
---|---|
[ansible] key로 git clone하는 다운로드 예제 (0) | 2019.06.18 |
[ansible] 실행하기 전에 플레이북 확인하기 (0) | 2019.02.17 |
[ansible] 실행할 태스크를 제한할 수 있다. (0) | 2019.02.16 |
vagrant의 multi-VM environment 설정 예시 (0) | 2019.01.27 |