인프라 프로비저닝(provisioning) 자동화 도구, 오픈소스 테라폼(Terraform) 소개 및 데모
Infrastructure as Code (IaC)란 표현을 요즘 많이 사용합니다.
vm이나 네트워크, 스토리지등의 인프라를 코드로 쉽게 배포하는 것을 말합니다. 잘 알려진 툴로는 Ansible, Chef, Terraform, Puppet 등이 있습니다.
오늘은 테라폼을 간단하게 보여드리겠습니다.
https://github.com/hashicorp/terraform
자! 회사에서 vm 100개를 만들라고 합니다. 일일이 하나 하나 100개의 가상머신을 만드려면 시간이 많이 걸립니다. 80개쯤 만들었는데 회사에서 OS를 바꾸라고 하네요. 처음부터 수정을 해야 합니다. 만들다보면 실수를 할 때도 있고 이를 잘 알아내기도 힘들고 나중에 문제가 터져야 알 수 있는 경우도 있습니다. 테라폼처럼 인프라 프로비저닝(provisioning)을 자동화하면 닝겐 실수(human error)를 줄일 수 있고, 빠르고 쉽게 복잡한 인프라를 배포, 수정, 삭제 할 수 있습니다.
대박이지요? 그럼 제가 한 번 직접 사용해보겠습니다.
![]() |
출처: www.terraform.io |
- 구글 클라우드 쉘(shell)에는 기본적으로 Terraform이 설치되어 있습니다. (마사카! 이미 설치되어 있다는 건!) terraform -version 으로 버전을 확인합니다.
- test.tf 란 파일을 하나 만들고 생성하고자 하는 인프라를 만드는 코드를 짭니다. 샘플 코드는 글 제일 밑에 넣어뒀습니다. (괜찮아 괜찮아 넣어둬~~ 허허) 테스트로 100개의 서버를 만들려고 했는데 그러면 복붙 노가다를 해야해서 3개만 만들어 보겠습니다. 3개가 100개다라고 생각하세요! (얍!)
- 만든 test.tf 파일이 잘 있는지 확인하시고 terraform init 을 실행합니다.
- 테라폼 초기화가 성공적으로 끝나다는 메세지를 봤으니 바로 적용(배포)하겠습니다. terraform apply 를 실행합니다. 저는 개고수라 바로 apply 하지만 코흘리개 꼬꼬마들은 실무에서 terraform plan을 먼저 실행에서 테라폼이 뭘 만들껀지 확인하는 습관을 기르도록 합시다. 근데 apply 해도 테라폼이 뭘 할건지 보여주기는 합니다.
Comments
Post a Comment