Ansible로 AWS Provisioning Playbook 작성해보기

안녕하세요. 오늘은 베스핀글로벌 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

Leave a Comment