민한의 블로그

Terraformer - terraform provider 에러 처리하기 본문

인프라/Terraform

Terraformer - terraform provider 에러 처리하기

minhan2 2022. 10. 5. 15:31
728x90
반응형
현재 최신 버전

terrafomer : v0.8.22
terraform : v1.3.1

본문

terraformer를 aws에서 사용할때,

$terraformer import aws --resources=s3 --profile=minhan --regions=ap-northeast-2

를 사용하여 s3 폴더가 만들어졌다고 해보자.
s3 폴더로 이동하여 terraform init을 터미널에 입력해본다.

$terraform init

Initializing the backend...
╷
│ Error: Invalid legacy provider address
│ 
│ This configuration or its associated state refers to the unqualified provider "aws".
│ 
│ You must complete the Terraform 0.13 upgrade process before upgrading to later versions.

이러한 에러가 뜬다.

$terraform version
Terraform v1.2.5

나는 분명 0.13버전 이상의 테라폼 버전을 쓰고있는데 이게 무슨일일까 싶다.

#/generated/aws/s3
{
    "version": 3,
    "terraform_version": "0.12.31",
...

s3의 terraform.tfstate가 terraform_version을 0.12버전으로 사용되고 있기 때문에 나오는 에러이다.
현재 최신 버전의 terraformer는 import할때 기본적으로 Terraform v0.12을 사용하고 있어서 생기는 문제이다.

$terraform state replace-provider -auto-approve "registry.terraform.io/-/aws" "hashicorp/aws"

provider를 replace해주면

{
  "version": 4,
  "terraform_version": "1.2.5",
...

현재 나의 terraform 버전으로 terraform.tfstate의 구조 및 provider가 변경된다.

이제 plan이던 apply던 진행하면 된다.

$terraform init
$terraform plan
$terraform apply
728x90
반응형
Comments