베하~~
안녕하세요 항상 웃음이 나는 픠식팀 입니다.
terraform import 명령어는 기존의 인프라스트럭처의 특정 리소스를 Terraform 상태를 가져오는데 사용한다.
1. import 블럭 방법
provider "aws" {
region = "ap-northeast-2"
profile = "mfa"
}
terraform {
required_version = ">= 1.0.0, < 2.0.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
import {
to = aws_s3_bucket.test_bucket
id = "import-bucket-s3"
}
resource "aws_s3_bucket" "test_bucket" {
bucket = "import-bucket-s3"
/* force_destroy = true
tags = {
Environment = "test"
} */
}
terraform plan
terraform apply
import를 통해서 가져오는 리소스에 대한 상태를 출력하고 apply 하게 되면 상태 파일에 가져온 리소스를 반영한다.
앞에 방법보다 더 편하고 간편하게 사용할 수 있다.
resource "aws_s3_bucket" "test_bucket" {
bucket = "import-bucket-s3"
/* force_destroy = true
tags = {
Environment = "test"
} */
}
그리고 위에 처럼 해당 가져올 리소스를 직접 적지 않거나 잘 모를 수도 있다.
terraform plan -generate-config-out=generated.tf
이 명령어를 사용하게 되면 자동으로 generated.tf 파일에서 리소스 코드를 가져오게 된다.
2. Import 명령어 방법
1. Terraform 구성 작성:
먼저, 아래와 같이 main.tf 파일을 작성하여 AWS S3 버킷 리소스의 유형과 이름을 정의합니다.
provider "aws" {
region = "ap-northeast-2"
#profile = "사용하는 profile"
}
terraform {
required_version = ">= 1.0.0, < 2.0.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
resource "aws_s3_bucket" "test_bucket" {
# 이 구성은 예시를 위한 것이며 실제 구성에는 버킷 이름이 필요합니다.
bucket = "import-bucket-s3"
force_destroy = true
tags = {
Environment = "test"
}
}
2. 리소스 가져오기:
그런 다음 terraform import 명령을 사용하여 기존 AWS S3 버킷을 Terraform 상태에 가져옵니다.
terraform import aws_s3_bucket.example_bucket import-bucket-s3
3. 구성 확인 및 업데이트
가져온 리소스의 Terraform 구성을 terraform.tfstate 파일에서 확인하고 필요한 경우 업데이트합니다. 예를 들어, 버킷의 태그 또는 정책과 같은 추가 속성을 구성에 추가할 수 있습니다.
4. Terraform 계획 및 적용
terraform plan 및 terraform apply 명령을 사용하여 변경 사항을 검토하고 적용합니다.
변경사항을 추가하고 적용을 할 수 있다.
다른 리소스 유형에 대한 terraform import 명령어의 사용은 리소스 유형과 프로바이더에 따라 약간 다를 수 있습니다.
Registry 사이트에서 참고하여 사용하시면 됩니다.
'INFRA > DevOps' 카테고리의 다른 글
[K8S] Environment (1) | 2023.11.12 |
---|---|
[K8S] SecurityContext (1) | 2023.10.28 |
[K8S] Resource (0) | 2023.10.16 |
[K8S] SideCar (0) | 2023.10.16 |
kind (1) | 2023.10.13 |
댓글