본문 바로가기
IaC/Terraform

[Terraform] Terraformer로 AWS 리소스 terraform import하기

by chan10 2025. 9. 7.
terraformer란?
terraform import를 손쉽게 도와주는 도구로 aws, azure 등 다양한 provider를 제공합니다.

 

Terraformer 설치

brew install terraformer

 

AWS CLI 로그인 (sso login)

terraformer를 실행하기 위해 aws cli 로그인을 합니다.

(사전에 aws cli, profile 설정이 적용되어 있어야합니다.)

[aws sso login]
aws sso login --profile aws-sso-profile

[환경변수 적용]
aws-sso-env    <- 환경변수 alias 사용

 

Terraformer 실행

`terraformer import` 명령어를 실행하여 aws 리소스를 terraform state로 가져올 수 있습니다.

현재 실행 경로의 하위 폴더가 생성되어 import 후 관련 파일들이 생성됩니다.

terraformer import aws --resources=vpc --regions=ap-northeast-2 --profile=aws-sso-profile

`--resources` : import를 원하는 리소스 지정

`--profile` : 로그인 시 사용했던 profile 입력

 

만약 명령어 실행 시 플러그인 경로가 존재하지 않을 경우 다운로드가 필요합니다.

➜  import git:(main) ✗ terraformer import aws --resources=vpc --regions=ap-northeast-2 --profile=aws-sso-profile
2025/08/22 15:24:57 aws importing region ap-northeast-2
2025/08/22 15:24:57 open /Users/chan/.terraform.d/plugins/darwin_arm64: no such file or directory

 

아래 명령어를 순차적으로 입력하여 플러그인을 다운로드합니다. (버전은 선택)

wget <https://releases.hashicorp.com/terraform-provider-aws/6.10.0/terraform-provider-aws_6.10.0_darwin_arm64.zip>

mkdir -p ~/.terraform.d/plugins/darwin_arm64

mv terraform-provider-aws_6.10.0_darwin_arm64.zip ~/.terraform.d/plugins/darwin_arm64

cd ~/.terraform.d/plugins/darwin_arm64

unzip terraform-provider-aws_6.10.0_darwin_arm64.zip

rm -r terraform-provider-aws_6.10.0_darwin_arm64.zip

 

다시 `terraformer import` 명령어를 실행하면 아래와 같이 파일들이 생기면서 기존 aws 리소스가 .tfstate 파일로 import된 것을 확인할 수 있습니다.

cd ~/terraform/import

➜  import git:(main) ✗ terraformer import aws --resources=vpc --regions=ap-northeast-2 --profile=aws-sso-profile
2025/08/22 16:37:34 aws importing region ap-northeast-2
2025/08/22 16:37:38 aws importing... vpc
2025/08/22 16:37:39 aws done importing vpc
2025/08/22 16:37:39 Number of resources for service vpc: 5
2025/08/22 16:37:39 Refreshing state... aws_vpc.tfer--vpc-0663231d27084f6a0
2025/08/22 16:37:39 Refreshing state... aws_vpc.tfer--vpc-00c7e4d80b525440b
2025/08/22 16:37:39 Refreshing state... aws_vpc.tfer--vpc-04d01f7ecc68d75eb
2025/08/22 16:37:39 Refreshing state... aws_vpc.tfer--vpc-000b6a7c3f7583152
2025/08/22 16:37:39 Refreshing state... aws_vpc.tfer--vpc-0c1635f570768cc40
2025/08/22 16:37:40 Filtered number of resources for service vpc: 5
2025/08/22 16:37:40 aws Connecting....
2025/08/22 16:37:40 aws save vpc
2025/08/22 16:37:40 aws save tfstate for vpc
import
└── generated
    └── aws
        └── vpc
            ├── outputs.tf
            ├── provider.tf
            ├── terraform.tfstate
            └── vpc.tf

 

 

[참고 블로그]

[terrfafomer docs] - import 지원 리소스 확인

https://github.com/GoogleCloudPlatform/terraformer/blob/master/docs/aws.md

https://teichae.tistory.com/entry/terraformer를-이용하여-aws-resource-import-해보기

https://velog.io/@dongminlee94/Terraform-Import-with-Terraformer

'IaC > Terraform' 카테고리의 다른 글

[Terraform] Terraform으로 EC2 생성하기  (0) 2025.08.04
[Terraform] MacOS에 Terraform 설치 하기  (1) 2025.07.20