ansible 13

Ansible mysql 플러그인을 잘못 사용해서 발생한 오류

1. 오류내용Ansible에서 mysql플러그인 동작을 잘 이해하지 못해 생긴 오류가 있었습니다. 개발환경에서 갑자기 애플리케이션이 mysql을 접속하지 못하는 오류가 발생했습니다. 2. 디버깅과 임시조치1. mysql이 잘 실행되고 있는지 확인mysql은 AWS RDS로 실행되기 때문에 mysql 는 멀쩡하다고 생각했습니다. 2. 애플리케이션을 실행하는 인스턴스에서 mysql연결 확인nc, telent을 사용해서 mysql과 네트워크 문제가 있는지 확인했습니다. 잘 연결되었습니다. 3. 최근 작업확인mysql DML는 ansible로 관리되고 있습니다. 그래서 ansible 실행이력을 확인했습니다. 마침 오류가 발생한 시점에 ansible실행이력이 있었습니다. 4. 임시조치ansible코드는 mysql..

ansible playbook에서 AWS Secret 값을 가져오는 방법

안녕하세요. 이 글은 ansible playbook에서 AWS Secret값을 가져오는 방법을 설명합니다. 1. 사용하는 모듈aws collection의 aws_secret 모듈을 사용합니다. aws collection은 ansible galaxy로 설치합니다.ansible-galaxy collection install amazon.aws ansible collection이 궁금하신분은 저의 이전 글을 참고하면 좋습니다.- ansible collection 설명 글: https://malwareanalysis.tistory.com/700 2. 사용방법aws.secret모듈은 lookup함수를 사용하여 secret manager 값을 불러옵니다. 가져온 시크릿값을 쉽게 파싱하려면 ansible from_j..

Ansible collection

https://youtu.be/hh3K9if2-2U?si=SHwN7xoInZLHcMja Collection이란? Ansible collection은 나만의 Ansible 컨텐츠(content)를 개발하고 배포할 때 사용되는 배포포맷입니다. 컨텐츠는 playbooks, roles, modules, plugin가 있을 수 있습니다. collection은 커뮤니티 또는 벤더사에서 Ansible을 활용한 로직을 공유할 때 사용됩니다. 예를 들어 Ansible mysql collection에는 Ansible로 mysql을 대상으로 작업하는 수행하는 Ansible 플러그인이 있습니다. collection을 공유하는 사용자는 collection 디렉터리 구조를 준수해야 합니다. Collection 조회 collect..

연재 시리즈 2024.02.04

Ansible 멱등성

https://youtu.be/YtdEtWrw5TI?si=dw8ttmt_mA1HGMwf 1. 멱등성이란? ansible은 사용하는 모듈에 따라 멱등성을 보장합니다. 따라서 ansible이 멱등성을 보장하냐라는 질문의 답은 항상 참이 아닙니다. 멱등성은 여러 번 실행해도 동일한 결과를 얻는다는 의미입니다. 멱등성이 보장되는 모듈은 task 실행 전/후 결과가 같다면 task를 실행하지 않습니다. 2. 멱등성 원리 멱등성 원리는 모듈마다 다릅니다. 따라서 모듈마다 코드를 분석해야 합니다. 파일을 복사하는 copy모듈은 해시를 활용하여 멱등성 검사합니다. 3. 멱등성을 보장하지 않은 예 command 모듈이 멱등성을 보장하지 않는 대표적인 모듈입니다. command 모듈은 명령어를 무조건 실행하기 때문에, 여..

연재 시리즈 2024.01.20

playbook 반복문

1. playbook 반복문이란? Playbook 반복문은 task를 n번 실행합니다. task 반복횟수는 loop필드에 정의한 리스트 인덱스 개수와 일치합니다. 2. 사용방법 예를 들어 아래 “Echo loop” task는 총 3번 실행됩니다. loop에 정의한 리스트 인덱스가 3개이기 때문입니다. - name: Loop hosts: localhost tasks: - name: Echo loop ansible.builtin.debug: msg: "{{ item }}" loop: - 1 - 2 - 3 task가 반복하면서 loop값을 참조하려면 “{{ item }}”을 사용합니다. task 반복횟수에 일치하는 loop 인덱스 값을 참조합니다. 위 예제를 실행하면 아래그림처럼 loop인덱스 순서대로 1,2..

연재 시리즈 2024.01.20