-
이 포스팅에서는 사용하는법을 알려주기 보다 왜 사용하는지,
무슨 장점이 있는지 설명하고, 이런게 있구나~~ 라는것을 포스팅할 생각이다.Ansible 은 형상 관리를 위한 자동화 툴이며
Terraform 은 서버를 생성,삭제하고 네트워크를 생성,삭제하는 리소스들을 선언적인 코드로 생성할 수 있게해주는 자동화 툴이다.
그런데 왜 같이 사용하느냐?
이유는 간단하다. 둘이 하는일이 다르기때문이다.
Terraform만 사용하다보면 서버안에서 설치해야하는 소프트웨어, 애플리케이션 설정, 환경변수 같은 설정들은 shell script 로 하거나 수동으로 해야한다. (shell script 는 간결하지 못하고 멱등성을 보장하지않는다.)
하지만 우리는 귀찮은것을 싫어하는 개발자 들이다.
그러니까 인프라를 한번에 관리해볼까? 그럼 선언적 코드로 작성해보자~ 해서 만들어졌다.
누가 만들었는가?
HashiCorp 에서 Terraform을 만들고
Ansible은 Redhat에서 만들었다.
어떻게 사용하는가?
음... Terraform 은 .tf 확장자를 가지며 Ansible은 .inv 확장자를 가지는데
문법 자체도 다르며 사용하는 방법도 다르다. ( 배우기에는 Terraform이 좀더 오래걸렸다. )
학습은 아래 공식문서 ,강의 를 들었다.
terraform : https://www.terraform.io/
Terraform by HashiCorp
Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure.
www.terraform.io
Ansible : https://www.ansible.com/resources/get-started
Getting Started with Ansible | Ansible.com
Getting started with Ansible is quick and easy. Learn about Red Hat Ansible Automation Platform.
www.ansible.com
테라폼 Cloud
Terraform 은 local 과 remote로 구분된다. 테스팅, 혼자개발 할때는 local에서 진행하고 협업을 하면서 GitOps 를 진행 할때는 aws s3 backend 가 있고 비교적 최근에 나온 Terraform Cloud backend 가 있다.
https://cloud.hashicorp.com/products/terraform
Terraform | HashiCorp Cloud Platform
Standardize infrastructure as code across your business with Terraform Cloud’s multi-cloud compliance, management and provisioning capabilities.
cloud.hashicorp.com
로그인하여 이용할 수 있다.
한번에 포스팅에서 문법, 사용하는 이유를 설명하기에는 길어질것 같아서 왜 사용하는지만 적어봤다.
Terraform과 Ansible을 세트로 사용할 필요는 없다. 본인이 필요한것만 사용하면 된다.
다음 포스팅에서는 Terraform, Ansible 각자 설명하면서 문법, 사용이유를 제대로 포스팅해야 겠다.
TONY07나는 신발이 없음을 한탄했는데, 길에서 발이 없는 사람을 만났다. -데일카네기-