안녕하세요. 오늘은 베스핀글로벌 DevOps실 윤 영기 님이 작성해 주신 앤서블(Ansible)로 프로비저닝 플레이북을 작성하는 방법에 대해서 알아보도록 하겠습니다.
이전 포스팅(Ansible Playbook 기본 작성 방법)에서 살펴본 내용을 기반으로 AWS에 VPC를 만들고 EC2를 생성하는 프로비저닝 플레이북을 만들어 볼 텐데요. 본 포스팅에서는 앤서블 2.9 버전에서 지원하는 모듈을 사용할 것이며, 앤서블 최신 버전의 모듈도 크게 다르지 않으니 참고하여 작성해 주시면 됩니다.
AWS 인프라 생성 순서
- VPC생성
- Subnet network 생성
- Internet Gateway 생성
- Routing Table 생성
- Security Group 생성
- EC2 생성
사용할 Ansible 모듈 (https://docs.ansible.com/ansible/2.9/modules/list_of_all_modules.html)
- ec2_vpc_net
- ec2_vpc_subnet
- ec2_vpc_igw
- ec2_vpc_route_table
- ec2_group
- ec2
1. 호스트와 변수 설정, VPC생성

- tasks 부분을 살펴보자

2. Subnet 생성


3. Internet gateway 생성


4. Routing Table 생성


5. Security Group 생성


6. EC2 생성


7. Playbook 전체


실무에서는 Terraform으로 인프라를 프로비저닝 한 후 Configuration을 Ansible로 하는 경우가 일반적이나, Ansible만으로도 어느 정도 프로비저닝이 가능하기 때문에 알아두면 좋을 것 같습니다.
감사합니다 🙂
Written by 윤 영기 / Youngki Yoon
Software Engineer