Packer AMI 빌드와 테스트

  • Post author:
  • Post category:칼럼
  • Post comments:0 Comments
  • Post last modified:March 24, 2020

Packer로 AMI를 빌드하는 것까진 좋다. 처음에는 간단한 요구사항을 반영하면 그뿐이라 만족했다. 그러나 요구사항은 점점 늘어난다. 엎친데 덮쳤다고 시간이 흐르고 운영체제와 각종 패키지의 업데이트가 나온다. 이젠 하루가 멀다하고 빌드가 깨진다. AMI 빌드는 성공해도 그 AMI로 인스턴스를 띄우면 뭔가 작동하지 않는다. 하나를 고치면 다른 하나가 망가진다.

고통이 크니 서론이 길다. 그러나 해법은 어렵지 않다. 일반적인 Packer 빌드는 다음가 같이 진행된다.

이 과정을 살짝 바꾸면 문제는 간단히 해결된다. 첫번째 산출물로 나온 AMI에 대해 Acceptance testing을 수행한다. 테스트를 통과한 AMI는 배포하고 그렇지 않은 것은 삭제한다.

여기서 마지막 배포, 그러니까 AMI 복사과정에서는 amazon-ebs Builder를 활용하기 힘들 수 있다. 초기 AMI에 부팅시 소프트웨어를 설치하고 설정하는 초기화 코드가 있을 수 있다. 게다가 AMI를 복사하기 위해 굳이 EC2 인스턴스를 올린다는 건 비용과 시간의 낭비일 뿐이다. 그러므로 AMI를 복사할 때는 별도의 스크립트나 martinbaillie/packer-post-processor-ami-copy 같은 도구를 이용한다.

끝! 이런 빌드 프로세스라면 Packer 외의 다른 도구를 도입하지 않아도 된다. 인수 테스트는 몇 개의 쉘 스크립트면 대부분 충분할 것이다.

Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments