본문 바로가기
INFRA/Operation

Terraform 리소스의 개념 이해 - GCP 2편

by BTC_Dana 2022. 11. 1.

안녕하세요! 하씨가문의 영광입니다!
지난번까지 Terraform GCP Provider 및 기본 구성에 대해서 알아보았는데요!

이번에는 GCP의 subnetwork와 address에 대해서 다뤄보도록 하겠습니다:)
Don't have a good day, Have a great day!

목차

  1. google_compute_subnetwork
  2. google_compute_address

1. google_compute_subnetwork
resource "google_compute_subnetwork" "network-with-private-secondary-ip-ranges" {
  name          = "test-subnetwork"
  ip_cidr_range = "10.2.0.0/16"
  region        = "us-central1"
  network       = google_compute_network.custom-test.id
  secondary_ip_range {
    range_name    = "tf-test-secondary-range-update1"
    ip_cidr_range = "192.168.10.0/24"
  }
}

resource "google_compute_network" "custom-test" {
  name                    = "test-network"
  auto_create_subnetworks = false
}
필수 설명 옵션 설명
ip_cidr_range 네트워크가 소유한 내부 주소의 범위를 입력합니다.
예를 들어, 10.0.0.0/8, 192.168.0.0/16입니다.
description 현재 자원에 대한 설명을 입력하는 곳입니다.
purpose 리소스의 목적을 입력하는 곳입니다.
name 리소스를 처음 생성할 때 클라이언트가 제공한 리소스의 이름입니다. role 네트워크 역할, Active 하위 네트워크는 현재 내부 HTTP(S) 부하 분산에 사용중인 하위 네트워크입니다.
secondary_ip_range 네트워크에 포함된 VM 인스턴스의 보조 IP 범위에 대한 구성입니다.
network 현재 서브넷이 속한 네트워크를 입력하는 곳입니다. private_ip_google_access 사용하도록 설정하면 외부 IP 주소가 없는 이 하위 네트워크의 VM이 비공개 Google 액세스를 사용하여 Google API 및 서비스에 액세스할 수 있습니다.
region GCP 지역을 입력합니다.
2. google_compute_address
resource "google_compute_network" "default" {
  name = "my-network"
}

resource "google_compute_subnetwork" "default" {
  name          = "my-subnet"
  ip_cidr_range = "10.0.0.0/16"
  region        = "us-central1"
  network       = google_compute_network.default.id
}

resource "google_compute_address" "internal_with_subnet_and_address" {
  name         = "my-internal-address"
  subnetwork   = google_compute_subnetwork.default.id
  address_type = "INTERNAL"
  address      = "10.0.42.42"
  region       = "us-central1"
}
필수 설명 옵션 설명
name 리소스의 이름을 입력하는 곳입니다. address 리소스가 나타내는 고정 외부 IP 주소입니다.
address_type 예약할 주소 유형입니다. 기본값은 EXTERNAL입니다.
purpose 리소스의 목적을 입력하는 곳으로,
VM 인스턴스, 별칭 IP 범위, 내부 부하 분산기 및 유사한 리소스에서 사용하는 주소의 경우 GCE_ENDPOINT입니다.
network_tier 주소를 구성하는 데 사용되는 네트워킹 계층입니다.
subnetwork 주소를 예약할 하위 네트워크 URL입니다.
labels 이 주소에 적용할 레이블값입니다.
network 주소를 예약할 네트워크의 URL입니다.
이렇게 Terraform 기반 GCP를 다뤄보았는데요!
네트워크 구성은 필수적으로 사용되니 참고하시면 좋을 거 같아요!
오늘도 읽어주셔서 감사합니다:)

댓글