💡 핵심 요약 (Executive Summary)
본 가이드는 terraform 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
📑 Table of Contents
Pages
Concept
- Provider with RBAC
- Module화 구성
main.tfvariables.tfoutputs.tf- state 기반 비교 및 업데이트
멀티 프로바이더 관리시 추천하는 Directory 규칙 예시
bash
project-root/
│
├── main.tf # 주요 Terraform 설정 파일
├── variables.tf # 공통 변수 정의
├── outputs.tf # 공통 출력값 정의
│
├── providers/ # 프로바이더 설정 디렉토리
│ ├── aws/ # AWS 관련 설정 및 모듈
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── modules/ # AWS 전용 모듈
│ │ ├── vpc/
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── outputs.tf
│ │ ├── ec2/
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── outputs.tf
│ │ └── ... # 추가 AWS 모듈
│ ├── cloudflare/ # Cloudflare 관련 설정 및 모듈
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── modules/ # Cloudflare 전용 모듈
│ │ ├── dns/
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── outputs.tf
│ │ └── ... # 추가 Cloudflare 모듈
│ ├── kubernetes/ # Kubernetes 관련 설정 및 모듈
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── modules/ # Kubernetes 전용 모듈
│ │ ├── deployments/
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── outputs.tf
│ │ ├── services/
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── outputs.tf
│ │ └── ... # 추가 Kubernetes 모듈
│ ├── helm/ # Helm 관련 설정 및 모듈
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ ├── outputs.tf
│ │ └── modules/ # Helm 전용 모듈
│ └── kubevirt/ # KubeVirt 관련 설정 및 모듈
│ ├── main.tf
│ ├── variables.tf
│ ├── outputs.tf
│ └── modules/ # KubeVirt 전용 모듈
│
└── environments/ # 환경별 구성 (dev, staging, prod)
├── dev/
│ ├── main.tf
│ └── backend.tf
├── staging/
│ ├── main.tf
│ └── backend.tf
└── prod/
├── main.tf
└── backend.tf
기존 인프라를 HCL로 마이그레이션
GCP: Terraformer
Reference & Guidelines (NOTE)
terraformer는 GCP를 위하여 설계되었으나, AWS용 공식문서가 존재한다.
AWS: Terraformer with AWS
Cloudflare: CF-Terraforming
Leave a Reply