1

を使用して、GCP コンソールでグローバル (マルチリージョン) TCP (プロキシ) LB を作成しました

  1. 単一のフロントエンド構成
  2. バックエンド タイプの4 つのバックエンド構成: 4 つの異なるリージョンのインスタンス グループ。
  3. 完全なバックエンド構成のための1 つのヘルス チェック

以下は私の完全なコードです:

問題:ロードバランサが名前で作成されていません: google_compute_target_tcp_proxy で名前:作成されます:バックエンドが 1 つだけ渡された場合はgoogle_compute_backend_serviceのみ。複数のバックエンドを単一のgoogle_compute_target_tcp_proxyに接続する方法を提案できますか? Terraform は初めてで、Terraform のドキュメントに詳細が見つかりませんでした。

 provider "google" {
  credentials = file(var.credentials_file)
  project     = var.project_id
}

provider "google-beta" {
  credentials = file(var.credentials_file)
  project     = var.project_id
}


resource "google_compute_global_forwarding_rule" "default" {
  #count      = length(var.zones)
  name       = "frontend-service-mig-test" #We can have single FE IP
  #target     = google_compute_target_tcp_proxy.default[count.index].id
  target     = google_compute_target_tcp_proxy.default.id
  port_range = "443"
  load_balancing_scheme = "EXTERNAL"
}

resource "google_compute_target_tcp_proxy" "default" {
  #count       = length(var.zones)
  name            = "test-proxy" # This name wont be visible on gui.
  #backend_service = google_compute_backend_service.default[count.index].id
  backend_service = google_compute_backend_service.default.id
}

resource "google_compute_backend_service" "default" {
  count       = length(var.zones)
  name        = "mig-test-${count.index}-backend-service"
  load_balancing_scheme = "EXTERNAL"
  protocol    = "TCP"
  timeout_sec = 10
  port_name   = "https"
  health_checks = [google_compute_health_check.default.id]
  backend {
  #group       = "https://www.googleapis.com/compute/v1/projects/terraform-playground-301207/zones/northamerica-northeast1-a/instanceGroups/mig-test-0"
  group       = "https://www.googleapis.com/compute/v1/projects/terraform-playground-301207/zones/${var.zones[count.index]}/instanceGroups/mig-test-${count.index}"
  balancing_mode  = "UTILIZATION"
  capacity_scaler = 1
  max_utilization = 0.8
  }
}

resource "google_compute_health_check" "default" {
  count               = length(var.zones)
  provider            = google-beta
  name                = "health-check-mig-test-${count.index}"
  timeout_sec         = 5
  check_interval_sec  = 5
  healthy_threshold   = 2
  unhealthy_threshold = 2
  
  log_config  {
    enable = false
  }            
  tcp_health_check {
    port = "443"
  }

}
4

1 に答える 1