IT/cloud

[AWS] 테라포밍: AWS 인프라를 Terraform으로 exporting

lakedata 2025. 2. 28. 11:59

환경설정

1. Mac 기준 설치 목록 - Terraform, Terraformer, AWS CLI 설치

brew install terraform
terraform -v  # 설치 확인

brew install terraformer
terraformer -v  # 설치 확인

brew install awscli

 

2. AWS 자격증명 설정

aws configure

AWS Access Key ID:
AWS Secret Access Key:
엑세스 코드를 AWS에서 생성한 키를 작성합니다.

3. Terraformer로 리소스 가져오기

terraformer import aws --resources=ec2,lambda,vpc,route53,cloudfront,nat_gateway,igw,alb,auto_scaling_group,sns,sqs,cloudtrail,cloudwatch,ecr,s3,elasticache,aurora,kms,acm,iam,waf,bastion --regions=ap-northeast-2

 

--resources 뒤에 나열된 서비스들은 Terraform으로 관리하려는 AWS 리소스들입니다. 여러 리소스를 한번에 지정할 수 있습니다.

4. Terraform 초기화 및 실행

terraform init  # Terraform 초기화
terraform plan  # 실행 계획 확인
terraform apply  # 변경 사항 적용

 

만약 Terraformer가 제대로 작동하지 않는다면, 플러그인 디렉토리를 수동으로 생성하고, Terraformer를 업그레이드할 수 있습니다.

mkdir -p /Users/사용자이름/.terraform.d/plugins/darwin_arm64  # 플러그인 디렉토리 생성
brew upgrade terraformer  # Terraformer 업그레이드

 

결과

generated/폴더가 생긴 후 정보들이 보입니다.

 

Terraform으로 AWS 리소스를 관리됩니다~

테라포밍 git에 업로드

git에 올리기 위해서는  푸시하려는 커밋에 민감한 정보(예: AWS Access Key ID)가 포함되어 있으면 커밋도 안되고 위험하기 때문에 

.gitnore을 생성하여 추가해주세요.

.terraform/
.terraform/
terraform.tfstate
terraforhttp://m.tfstate.backup
generated/aws/iam/terraform.tfstate