【发布时间】:2018-03-09 16:23:00
【问题描述】:
我想创建一个负载均衡器,用于处理 GCP 中同一区域的多个区域上的两个或多个实例
我是这样开始的: - 创建一个处理两个实例组的后端服务:
resource "google_compute_backend_service" "www-service" {
name = "${var.environment}-www-service"
protocol = "HTTP"
port_name = "http"
backend {
group = "${google_compute_instance_group.instance-group-0.self_link}"
}
backend {
group = "${google_compute_instance_group.instance-group-1.self_link}"
}
health_checks = ["${google_compute_health_check.health-check1.self_link}"]
}
然后我有两个实例组,每个实例组都有一个具有该语法的实例:
resource "google_compute_instance_group" "instance-group-0" {
count = "${var.web_count}"
name = "${var.environment}-instance-group-0"
instances = ["${google_compute_instance.www.self_link}"]
named_port {
name = "http"
port = "80"
}
network = "${google_compute_network.platform-network.self_link}"
}
我收到一个错误:
google_compute_backend_service.www-service: Resource 'google_compute_instance_group.instance-group-0' not found for variable 'google_compute_instance_group.instance-group-0.self_link'
我看到在 backend_service 中切换 backend/group 声明会将错误移至 group-1,因此我可以猜测这不是正确的语法,尽管您可以在 Google GUI 中创建具有多个实例组的 backend_service。
我有两个问题:
第一季度。如何使用多个实例组创建 backend_service? 什么是正确的语法?
第二季度。是否可以通过如下语法引用 compute_instance_group 中的 compute_instance:
instances = ["${google_compute_instance.www.[count.index].self_link}"]
(上面的语法不起作用)
【问题讨论】:
标签: google-cloud-platform terraform