Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Archives
Today
Total
관리 메뉴

JYEONNI

Ansible valut 본문

카테고리 없음

Ansible valut

져니꿍 2024. 4. 21. 00:51
728x90

 Ansible playbook을 작성할 때 유의해야 할 각 규칙을 예시와 함께 자세히 살펴보겠습니다.

 

들여쓰기를 확실하게 해야합니다.

tasks:
- name: Install nginx
apt: name=nginx state=installed

잘못된 들여쓰기

tasks:
  - name: Install nginx
    apt:
      name: nginx
      state: installed

올바른 들여쓰기

 

키와 값:
키와 값 사이에는 콜론(:)을 사용하고, 값은 스페이스를 사용하여 정의합니다.

vars:
  nginx_port: 80

 

리스트와 딕셔너리:
리스트는 대시(-)로 시작하고, 딕셔너리는 키:값 형식으로 표현됩니다

hosts:
  - webserver1
  - webserver2

vars:
  nginx_config:
    server_name: example.com
    port: 80

주석:
주석은 #으로 시작합니다. 주석은 코드를 설명하거나 임시로 코드를 비활성화하는 데 사용됩니다.

 

암호화:
Ansible Vault를 사용하여 중요한 정보를 암호화할 수 있습니다.

vars:
  db_password: !vault |
    $ANSIBLE_VAULT;1.1;AES256
    66373639653736353538303431313161356231666238393537636665613839363861633639313433
    ...

Ansible Vault은 Ansible에서 비밀 정보를 안전하게 보관하고 사용할 수 있는 도구입니다. 이를 사용하면 패스워드, API 키, 인증서 및 기타 민감한 정보를 안전하게 저장하고 관리할 수 있습니다. 주요 특징과 사용 방법을 살펴보겠습니다.

 

 

 

주요 특징:


암호화:Ansible Vault는 AES 암호화 알고리즘을 사용하여 파일을 암호화합니다. 이를 통해 중요한 정보를 안전하게 보호할 수 있습니다.단일 파일 또는 그룹 암호화:

 

단일 파일 또는 그룹의 파일을 한 번에 암호화할 수 있습니다. 이를 통해 연관된 정보를 모두 함께 관리할 수 있습니다.

 

복호화:암호화된 파일을 복호화하여 저장된 정보에 접근할 수 있습니다. 이를 통해 필요한 정보에 대한 접근 권한을 제어할 수 있습니다.

 

재사용성:다른 Ansible 파일에서도 Vault로 암호화된 정보를 사용할 수 있습니다. 이를 통해 여러 플레이북 또는 롤에서 동일한 비밀 정보를 공유할 수 있습니다.

 

먼저, 비밀 정보를 포함할 파일을 생성합니다. 여기서는 secret_vars.yml 파일을 만들어보겠습니다.

# secret_vars.yml

db_password: !vault |
    $ANSIBLE_VAULT;1.1;AES256
    66373639653736353538303431313161356231666238393537636665613839363861633639313433
    ...

 

다음으로, 이 비밀 정보가 포함된 플레이북을 작성합니다. 여기서는 playbook.yml라는 파일을 생성합니다.

# playbook.yml

- name: Example playbook using Ansible Vault
  hosts: servers
  tasks:
    - name: Include encrypted vars
      include_vars: secret_vars.yml

    - name: Print database password
      debug:
        msg: "The database password is {{ db_password }}"

이제 playbook.yml 파일을 실행할 때 Ansible Vault를 사용하여 암호화된 파일을 복호화해야 합니다. 암호를 설정하기 위해 다음 명령을 사용합니다.

 

ansible-playbook playbook.yml --ask-vault-pass

 

--ask-vault-pass 옵션은 실행할 때 Vault 암호를 요청합니다. 이 암호를 입력하면 Ansible이 Vault 파일을 복호화하여 사용합니다.

이제 암호화된 변수를 포함한 플레이북을 실행할 수 있습니다. Ansible Vault를 사용하면 중요한 정보를 안전하게 관리하고 사용할 수 있습니다.