원격 호스트에 파일 템플릿 배포
Ansible 파일 템플릿을 생성한 후 template 모듈을 사용하여 원격 호스트에 배포할 수 있습니다. 다음은 배포 방법입니다.
단일 파일 템플릿 배포
단일 파일 템플릿을 배포하려면 다음 Ansible 작업을 사용할 수 있습니다.
- name: Nginx 구성 배포
template:
src: nginx.conf.j2
dest: /etc/nginx/conf.d/default.conf
notify:
- nginx 재시작
이 예제에서 template 모듈은 nginx.conf.j2 템플릿 파일을 원격 호스트의 /etc/nginx/conf.d/default.conf 위치로 배포합니다. notify 섹션은 구성 파일 배포 후 Nginx 서비스를 다시 시작하는 핸들러를 트리거합니다.
여러 파일 템플릿 배포
여러 파일 템플릿을 배포해야 하는 경우 Ansible playbook 에서 루프를 사용할 수 있습니다.
- name: 구성 파일 배포
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop:
- { src: "nginx.conf.j2", dest: "/etc/nginx/conf.d/default.conf" }
- { src: "app.conf.j2", dest: "/etc/app/app.conf" }
notify:
- nginx 재시작
- app 재시작
이 예제에서 template 모듈은 nginx.conf.j2와 app.conf.j2 두 개의 구성 파일을 각각의 대상 위치로 원격 호스트에 배포합니다. loop 섹션을 사용하여 배포할 여러 파일 템플릿을 지정할 수 있습니다.
구성 파일 배포 후 notify 섹션은 Nginx 및 애플리케이션 서비스를 다시 시작하는 핸들러를 트리거합니다.
민감한 데이터 처리
파일 템플릿에 데이터베이스 자격 증명이나 API 키와 같은 민감한 데이터가 포함된 경우 Ansible Vault 를 사용하여 안전하게 저장하고 배포할 수 있습니다. Ansible Vault 는 민감한 데이터를 암호화하여 playbook 이나 템플릿에 평문으로 저장되지 않도록 합니다.
이러한 Ansible 파일 템플릿 배포의 모범 사례를 따르면 인프라 관리를 간소화하고 원격 호스트 간의 일관성을 보장할 수 있습니다.