Я пытаюсь создать HTTP (S) Loadbalancer, используя terraform на GCP. Я хочу, чтобы сервер и HTTP и HTTPS клиенты. Я использую следующие методы для создания части внешнего интерфейса (google_compute_global_forwarding_rule) LB.
// SSL
resource "google_compute_global_forwarding_rule" "default-ssl" {
name = "frontend-https"
target = google_compute_target_https_proxy.default-ssl.self_link
port_range = "443"
}
resource "google_compute_target_https_proxy" "default-ssl" {
provider = google-beta
name = "target-proxy-ssl"
description = "a description"
ssl_certificates = ["mysslcert"]
url_map = google_compute_url_map.default.self_link
}
// non SSL
resource "google_compute_global_forwarding_rule" "default" {
name = "frontend-http"
target = google_compute_target_http_proxy.default.self_link
port_range = "80"
}
resource "google_compute_target_http_proxy" "default" {
project = var.project_id
provider = google-beta
name = "target-proxy"
description = "a description"
url_map = google_compute_url_map.default.self_link
}
Проблема заключается в том, что он выделяет два IP-адреса; Один для HTTP и один для HTTPS. Но когда я создаю Loadbalancer на GCP вручную (без terraform), я могу создать IP-адрес и выбрать протокол. тем самым я могу использовать тот же IP-адрес при создании следующего правила веб-интерфейса.
создан терраформ;
создан вручную;
apprecetere ваша помощь по созданию балансировщика нагрузки, который имеет только один IP-адрес.