728x90
반응형
서버·네트워크·DB 같은 인프라를 “설명서처럼 코드로 적어두는 것”이야.
사람이 콘솔에서 클릭하는 대신, 코드 한 번으로 동일한 인프라를 언제든 재현할 수 있게 해주는 방식이지.
한 줄로 정리하면
테라폼 코드 = 인프라를 코드로 정의한 설계도 (Infrastructure as Code, IaC)
왜 굳이 코드로 해?
콘솔 클릭은 편해 보여도 실제 운영에선 지옥이야 😅
테라폼 코드를 쓰면 이런 장점이 있어:
- ✅ 같은 환경을 100번 만들어도 동일
- ✅ 누가 뭘 바꿨는지 Git으로 이력 추적
- ✅ 장애 시 빠른 복구
- ✅ 리뷰(PR) 기반으로 변경 통제 가능
- ✅ 사람 실수 ↓ 자동화 ↑
그래서 요즘은 운영팀/SRE/플랫폼팀에선 거의 필수야.
테라폼 코드 예시 (AWS EC2)
provider "aws" {
region = "ap-northeast-2"
}
resource "aws_instance" "web" {
ami = "ami-0abcdef12345"
instance_type = "t3.micro"
tags = {
Name = "web-server"
}
}
이 코드의 의미는 딱 이거야:
“서울 리전에 t3.micro EC2 한 대 만들고, 이름은 web-server로 해줘”
테라폼 코드로 할 수 있는 것들
- EC2, ALB, AutoScaling
- VPC, Subnet, Route, SG
- RDS, Aurora, ElastiCache/Valkey
- IAM Role, Policy
- EKS, NodeGroup
- 거의 모든 AWS 리소스 🔥
테라폼의 기본 흐름
terraform init # 초기화 (플러그인 다운로드)
terraform plan # 뭐가 바뀌는지 미리보기
terraform apply # 실제 반영
운영에선 보통:
- plan → PR 리뷰
- 승인 후 apply
이렇게 가.
그래서 누가 쓰냐?
- 클라우드 운영팀
- SRE / 플랫폼팀
- 대규모 서비스 운영 조직
그리고 이 도구는 HashiCorp에서 만든 거야.
콘솔 vs 테라폼 한 문장 비교
구분콘솔 클릭테라폼 코드
| 재현성 | ❌ | ✅ |
| 변경 이력 | ❌ | ✅ |
| 리뷰 | ❌ | ✅ |
| 자동화 | ❌ | ✅ |
| 대규모 운영 | 😭 | 😎 |
728x90
반응형