-
이 포스팅에서는 사용하는법을 알려주기 보다 왜 사용하는지,
무슨 장점이 있는지 설명하고, 이런게 있구나~~ 라는것을 포스팅할 생각이다.Ansible 은 형상 관리를 위한 자동화 툴이며
Terraform 은 서버를 생성,삭제하고 네트워크를 생성,삭제하는 리소스들을 선언적인 코드로 생성할 수 있게해주는 자동화 툴이다.
그런데 왜 같이 사용하느냐?
이유는 간단하다. 둘이 하는일이 다르기때문이다.
Terraform만 사용하다보면 서버안에서 설치해야하는 소프트웨어, 애플리케이션 설정, 환경변수 같은 설정들은 shell script 로 하거나 수동으로 해야한다. (shell script 는 간결하지 못하고 멱등성을 보장하지않는다.)
하지만 우리는 귀찮은것을 싫어하는 개발자 들이다.
그러니까 인프라를 한번에 관리해볼까? 그럼 선언적 코드로 작성해보자~ 해서 만들어졌다.
누가 만들었는가?
HashiCorp 에서 Terraform을 만들고
Ansible은 Redhat에서 만들었다.
어떻게 사용하는가?
음... Terraform 은 .tf 확장자를 가지며 Ansible은 .inv 확장자를 가지는데
문법 자체도 다르며 사용하는 방법도 다르다. ( 배우기에는 Terraform이 좀더 오래걸렸다. )
학습은 아래 공식문서 ,강의 를 들었다.
terraform : https://www.terraform.io/
Ansible : https://www.ansible.com/resources/get-started
테라폼 Cloud
Terraform 은 local 과 remote로 구분된다. 테스팅, 혼자개발 할때는 local에서 진행하고 협업을 하면서 GitOps 를 진행 할때는 aws s3 backend 가 있고 비교적 최근에 나온 Terraform Cloud backend 가 있다.
https://cloud.hashicorp.com/products/terraform
로그인하여 이용할 수 있다.
한번에 포스팅에서 문법, 사용하는 이유를 설명하기에는 길어질것 같아서 왜 사용하는지만 적어봤다.
Terraform과 Ansible을 세트로 사용할 필요는 없다. 본인이 필요한것만 사용하면 된다.
다음 포스팅에서는 Terraform, Ansible 각자 설명하면서 문법, 사용이유를 제대로 포스팅해야 겠다.
댓글