나는 서버 구성 관리 도구인 Ansible을 사용해 왔으며 그 사용은 종종 임의의 호스트 이름이 포함된 로컬 인벤토리 파일을 참조하는 데 달려 있습니다. 예를 들어,
# file: my_hosts
[webservers]
web1
web2
위와 같은 방법을 사용하면 많은 작업을 수행할 수 있습니다. 새 인스턴스를 가동하고 구성할 수 있습니다. 그러나 새로 생성된 인스턴스의 IP를 /etc/hosts 또는 이와 유사한 곳에 쓰지 않으면 my_hosts
.
my_hosts
새 서버에 미리 이름을 지정한 다음 직접 참조할 수 있도록 안정적인 이름(동적 DNS 서비스 등)을 제공할 수 있는 방법이 있습니까 ?
즉, 자주 생성되거나 삭제될 수 있는 서버의 공개 이름에 관심이 없다고 가정할 때 해당 서버가 존재하는 동안 이를 참조하는 가장 좋은 방법은 무엇입니까?
답변1
어떤 클라우드 서비스를 사용하시나요? 사용 중인 클라우드에 따라 Ansible 동적 인벤토리를 살펴봐야 합니다.
Ansible 인벤토리는 임의의 주소뿐만 아니라 IP 주소와 FQDN 주소도 지원하므로 호스트 생성 시 DNS 항목을 생성하면 해당 항목을 참조할 수 있습니다.
플레이북 중간에 매니페스트에 호스트를 추가해야 하는 경우 add_host 모듈을 사용할 수 있습니다. 이렇게 하면 호스트가 메모리 내 인벤토리에 추가되지만 put은 호스트를 파일에 저장하지 않습니다.