이번에는 패커를 이용해서 AWS의 AMI를 만들어보자
앞으로 진행할 실습 코드들은 아래 링크에서 확인할 수 있다.
https://github.com/tedilabs/fastcampus-devops/tree/main/2-packer
GitHub - tedilabs/fastcampus-devops: 🚀 패스트캠퍼스 데브옵스 초격차 코스 자료
🚀 패스트캠퍼스 데브옵스 초격차 코스 자료. Contribute to tedilabs/fastcampus-devops development by creating an account on GitHub.
github.com
terraform의 파일 확장자는 .tf 였지만 packer의 파일 확장자는 .pkr.hcl 이다.
코드의 최상단에는 packer 블록이 있는데 이는 필요로 하는 packer의 최소 버전과 요구되는 플러그인들의 버전을 명시한다.
소스 블록에는 아마존 ebs 우분투 소스를 만들고 있다.
그 소스를 build 블록에서 사용하고 있다.
이제 이 코드를 실행해보자
패커를 이용할 때도 packer init [디렉토리 경로] 명령어를 입력해서 해당 디렉토리를 packer에서 사용할 수 있도록 초기화한다.
초기화가 끝나면 packer build [디렉토리 경로] 명령어를 통해 패커가 이미지 빌드를 하도록 한다.
aws 웹 콘솔에서 확인해보면 방금 패커에서 만든 ec2 인스턴스가 중지된 상태인걸 볼 수 있고
새 AMI가 생성되었다.
로그를 보면 알 수 있듯이 생성된 aws 인스턴스는 종료시키고 임시 보안그룹과 키페어들은 삭제되어 AMI만 생성하고 나머지 요소들은 깔끔하게 제거됐다.
테라폼은 이미지 빌드 도구이지 관리도구는 아니기에 패커로 만든 이미지를 지우는 역할은 스스로 지워야 한다.
또한 ebs의 스냅샵 또한 삭제해야 한다.
'AWS > Part 4. Ch03 패커를 이용한 머신 이미지 관리' 카테고리의 다른 글
CH03_06 프로비저너 (Provisioner) (0) | 2022.06.07 |
---|---|
CH03_05 선택적 빌드 (only & except) (0) | 2022.06.07 |
CH03_04 빌더 (Builder) (0) | 2022.06.07 |
CH03_03 패커 HCL 기초 문법 (0) | 2022.06.07 |
CH03_01 패커 소개 (0) | 2022.06.07 |