gpt4 book ai didi

google-cloud-platform - terraform GCP https) 负载均衡器

转载 作者:行者123 更新时间:2023-12-04 04:19:02 25 4
gpt4 key购买 nike

我正在尝试在 GCP 上使用 terraform 创建一个 HTTP(S) 负载均衡器。我希望它同时为 HTTP 和 HTTPS 客户端提供服务。我正在使用以下方法来创建 LB 的前端部分(google_compute_global_forwarding_rule)。

// 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。
但是当我在 GCP 上手动创建负载均衡器时(没有 terraform),我可以创建一个 IP 地址并选择协议(protocol)。通过这样做,我可以在创建下一个前端规则时使用相同的 IP 地址。
adding-an-image

创建了地形;

enter image description here

手动创建;

enter image description here

感谢您帮助创建只有一个 IP 地址的负载均衡器。

最佳答案

您还可以使用以下方法动态分配外部 IP:

resource "google_compute_global_address" "L7LB_IP_ADDRESS" {
name = "l7lb-external-ip-address"
}
然后在转发规则(前端)中,设置ip地址:
resource "google_compute_global_forwarding_rule" "EXTERNAL_FWD_RULE_HTTP" {
name = "frontend-80"
ip_address = google_compute_global_address.L7LB_IP_ADDRESS.address
port_range = "80"
}
resource "google_compute_global_forwarding_rule" "EXTERNAL_FWD_RULE_HTTPS" {
name = "frontend-443"
ip_address = google_compute_global_address.L7LB_IP_ADDRESS.address
port_range = "443"
}

关于google-cloud-platform - terraform GCP https) 负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59865355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com