📂 IaC/Terraform

[Terraform] data source

dhyuck 2022. 9. 4. 22:05
반응형

Data Source

  • data source를 사용하면 API나 다른 terraform state backend에서 데이터를 가져올 수 있습니다.

    사용 예시는 AWS의 AMI ID, 다른 테라폼 구성의 output 등을 예로 들 수 있습니다.

  • data source는 configurationd을 보다 유연하고 동적으로 만들수 있습니다.

  • data source는 data.<NAME>.<ATTRIBUTE>으로 참조할 수 있습니다.

data source 블럭

  • aws_availability_zones는 aws에서 가용영역을 조회하는 data source입니다.
data "aws_availability_zones" "available" {
  state = "available"

  filter {
    name   = "zone-type"
    values = ["availability-zone"]
  }
}

terraform_remote_state

  • terraform_remote_state를 사용하여 로컬 백엔드(local backend)나 원격 백엔드(remote backend)에서 데이터를 가져올 수 있습니다.

  • data.terraform_remote_state.<NAME>.outputs.<ATTRIBUTE>로 참조가 가능합니다.

      data "terraform_remote_state" "vpc" {
        backend = "local"
    
        config = {
          path = "../learn-terraform-data-sources-vpc/terraform.tfstate"
        }
      }
    
      provider "aws" {
        region = data.terraform_remote_state.vpc.outputs.aws_region
      }

반응형

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

[Terraform] Provider  (0) 2022.09.09
[Terraform] 의존성(dependency) 관리  (0) 2022.09.05
[Terraform] Output 출력 변수  (0) 2022.09.03
[Terraform] Variable 입력 변수  (0) 2022.09.03
[Terraform] Error: Incompatible provider version  (0) 2022.08.23