DevOps/Google Cloud Platform

IaC (Infrastructure as Code)란? 그리고 Terraform

숄구-ml 2022. 9. 22. 16:17

IaC는 코드형 인프라로

코드를 작성 및 실행하여 인프라를 생성, 배포, 수정, 정리하는 것을 의미한다.

서버를 물리적으로 설치하는 등의 하드웨어적인 측면을 포함, 운영의 모든 측면을 소프트웨어적으로 전환해준다.

인프라 사양을 담은 구성 파일을 생성하기 때문에 후에 편집, 배포가 용이하고 매번 동일한 환경을 프로비저닝 하도록 보장한다. 

IaC로 인프라 프로비저닝을 자동화하면 애플리케이션을 개발하거나 배포할 때 개발자가 수동으로 서버, 운영 체제, 스토리지, 기타 인프라 구성 요소를 관리할 필요가 없다. 인프라를 코드화하여 템플릿을 만들고 프로비저닝 할 때 이 템플릿을 사용한다. 

https://www.youtube.com/watch?v=zWw2wuiKd5o 

 

 

 

 

 

 

 

Terraform은 오픈소스 툴로 hashicorp에서 개발되었고, Infrastructure를 효율적으로 구축, 변경, 관리하기 위해 개발되었다.

테라폼 사용에 필요한 3가지 과정 

1. Create 단계. 테라폼 Code 파일을 생성한다 (Declarative 방식). 이 파일에는 생성하고자 하는 resource와 관련된 코드가 담길 것이다. 예를 들어, k8s cluster, vm, vpc 등에 대한 것이 담긴다. 

2. Plan 단계. 작성한 테라폼 코드에 있는 리소스가 새로 생성이 되어야 하는지, 이미 존재하는지에 대하여 확인해 보는 단계이다.  

3. Apply 단계. 이제 코드대로 필요한 Resource들을 만드는 단계이다. 

이 과정은 테라폼 module을 통해 쉽게 처리될 수 있다. 

https://www.youtube.com/watch?v=HmxkYNv1ksg 

 

 

 

 

728x90

'DevOps > Google Cloud Platform' 카테고리의 다른 글

Virtual CPU (vCPU)에 대해 알아보자  (1) 2022.10.05
Google Cloud Load Balancing (GCLB) 에 대해 알아보자  (0) 2022.10.03
IaaS vs PaaS vs SaaS vs FaaS  (0) 2022.09.22
API & SDK  (0) 2022.09.21
SQL vs NOSQL  (0) 2022.09.21