ОП формулирует ответ:
Оба этих типа ресурсов расположены в одной зоне, они имеют поле zone
соответственно, чтобы указать, где их предоставлять. Поскольку зона расположена в одном регионе, достаточно указать запрошенную зону для ресурса, поскольку она также неявно указывает регион. Невозможно указать регион для этих типов ресурсов, поскольку это будет избыточно вместе с указанием зоны, и указание только региона будет недостаточным.
Оригинальный ответ предоставлен:
Оба ресурса, которые вы связали, имеют тег zone
, в котором должны быть расположены экземпляры и диски виртуальных машин, поскольку они не относятся к региону. Зоны расположены внутри региона, и обычно для каждой области есть две или три зоны.
Например, взяв регион us-west1
, в этом списке вы можете видеть, что он имеет зоны a
, b
и c
, которые при указании в теге зоны нужны записывается как us-west1-a
, us-west1-b
или us-west1-c
.
Редактировать
В этом примере показан пример файла конфигурации terraform
, который создает два разных экземпляра виртуальной машины Compute Engine в двух разных зонах, расположенных в двух разных регионах:
provider "google" {
project="YOUR-PROJECT" # Project ID
region="europe-west2" # Default resource region
zone="europe-west2-b" # Default resource zone
}
/*
* Create instance in region Europe West 1, zone b
*/
resource "google_compute_instance" "europe_instance"{
name = "europe-instance-1"
machine_type = "n1-standard-1"
zone = "europe-west1-b"
boot_disk {
initialize_params {
image = "debian-cloud/debian-9"
}
}
network_interface {
network = "default"
}
}
/*
* Create instance in US West 1, zone c
*/
resource "google_compute_instance" "us_instance"{
name = "us-instance-2"
machine_type = "n1-standard-1"
zone = "us-west1-c"
boot_disk {
initialize_params {
image = "debian-cloud/debian-9"
}
}
network_interface {
network = "default"
}
}