ABTCEFG♪ 안녕하세요, 여러분!
BTC_김쿼카입니다.
이번 시간에는 terraform의 data 사용법에 대해 알아보도록 할게요!
1. Data
리소스 정보를 가져오는 것
Data source, 정보를 가져오는 곳을 정의하여 remote state, provider 등 다양한 정보를 data로 끌어올 수 있음
data <type> <name> <attribute> 의 형태로 사용할 수 있음
이해를 돕기 위해 간단한 실습을 진행해볼 텐데요.
먼저 현재 사용하고 있는 테라폼 버전은 가장 최신 버전인 v1.3.4 입니다. 버전을 다 확인하셨다면 아래의 코드처럼 provider 구문을 작성하고 terraform init 을 진행해줄게요.
aws.tf
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
provider "aws" {
region = "ap-northeast-2"
profile = "kej-test"
}
성공적으로 init이 된 걸 확인하셨다면 다음은 간단하게 data 구문 작성 전과 후를 비교해봐야겠죠? 이해를 돕기 위해 간단하게 vpc를 불러와보도록 할게요.
현재 제 vpc는 총 5개, 그 중 service = pre 라는 태그를 가진 vpc는 test-vpc 하나입니다. 예제는 service = pre 라는 aws vpc의 id를 가져오는 구문입니다.
data.tf
data "aws_vpcs" "all" {
tags = {
"service" = "pre"
}
}
작성 전에는 init만 한 상태기 때문에 tf 파일이 없습니다. plan으로 위 코드에 오류가 있는지 확인해본 뒤 terraform apply를 진행해본다면 어떻게 바뀔까요?
단순히 가져오기만 하는 구문이기 때문에 제 인프라에는 변경사항이 없겠죠? 하지만 tfstate 파일을 확인하면 vpc id가 저장되어있는 것을 확인할 수 있습니다.
이런 식으로 기존에 만들어진 리소스들을 가져올 수 있다는 점 참고해주시고 다음 시간에 더 유익한 포스팅으로 찾아오겠습니다~!
'INFRA > Operation' 카테고리의 다른 글
Terraform 리소스의 개념 이해 - GCP 4편 (0) | 2022.11.29 |
---|---|
Terraform 리소스의 개념 이해 - GCP 3편 (0) | 2022.11.10 |
terraform init, plan, apply 그리고 state file 알아보기 (0) | 2022.11.04 |
Terraform 리소스의 개념 이해 - GCP 2편 (0) | 2022.11.01 |
Terraform 리소스의 개념 이해 - GCP 1편 (0) | 2022.10.29 |
댓글