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