본문 바로가기
AEWS2기

[이론] 테라폼 동작 원리

by yeongki0944 2024. 4. 26.
 

NAVER D2

네이버 클라우드 플랫폼 Terraform Provider 개발기

tv.naver.com

[N DEVIEW 2021] 네이버 클라우드 플랫폼 Terraform Provider 개발기 (https://deview.kr/2021/sessions/519

5_네이버 클라우드 플랫폼 Terraform Provider 개발기.pdf
2.71MB

 

terraform plan flow chart

 

 

테라폼 동작 원리 - Terraform architecture

  • Terraform provider
    • go CLIENT LIBRARY
    • 실제 cloud CRUD API를 호출하는 코드

 

 

Terraform plan (최초 리소스 생성 시)

 

 

Terraform apply (최초 리소스 생성 시)

 

1. terraform apply 명령어 입력

 

2. Call Create API → VPC 생성

 

3. Call Create API → Subnet 생성

 

4. Call Create API → 서버 생성

 

5. Call Read API → terraform.tfstate 파일 업데이트

 

Terraform plan (코드에서 리소스 삭제)

0.tf 코드에서 server 블록 주석 처리

 

1. terraform plan 명령어 입력

 

2. provider에 프로비저닝된 리소스들의 상태를 Call Read API로 읽고, tfstate파일을 업데이트한다.

 

3. tf 코드와 state를 diff 비교를 통해 삭제 되는 것을 찾고, 이것을 콘솔로 알려준다.

 

Terraform apply (코드에서 리소스 삭제)

0. terraform apply 명령어 입력
1. Call delete API → 서버를 삭제 → tfstate파일 업데이트

 

 

Terraform plan (코드에서 리소스 추가)

0. terraform plan → 삭제 했던 서버 다시 추가
1. Call Read API → tfstate 파일 업데이트
2. config와 tfstate간 diff를 통해 추가될 부분 체크 → 콘솔을 통해 추가됨을 알려준다.

 

Terraform apply (코드에서 리소스 추가)

0. terraform apply → plan을 통해 추가될 부분 확인

 

1. call create API → 서버 생성
2. Call Read API → tfstate 값 갱신