を使用して、GCP コンソールでグローバル (マルチリージョン) TCP (プロキシ) LB を作成しました
- 単一のフロントエンド構成
- バックエンド タイプの4 つのバックエンド構成: 4 つの異なるリージョンのインスタンス グループ。
- 完全なバックエンド構成のための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"
}
}