Наша облачная серверная установка содержит 5 Cloud SQL для экземпляров Postgres.Мы управляем нашей инфраструктурой с помощью Terraform.Мы используем соединение их из GKE с использованием общедоступного IP-адреса и Cloud SQL-контейнера .
. Чтобы упростить нашу настройку, мы хотим избавиться от прокси-контейнеров, перейдя на частный IP-адрес.,Я пытался следовать руководству Terraform .Хотя создание отдельного экземпляра работает нормально, попытка создания 5 экземпляров одновременно заканчивается 4 неудачными и один успешным:
Ошибка, которая появляется в консоли Google Clod наНеудачные случаи: «Произошла неизвестная ошибка»:
Ниже приведен код, который воспроизводит ее.Обратите внимание на строку count = 5
:
resource "google_compute_network" "private_network" {
provider = "google-beta"
name = "private-network"
}
resource "google_compute_global_address" "private_ip_address" {
provider = "google-beta"
name = "private-ip-address"
purpose = "VPC_PEERING"
address_type = "INTERNAL"
prefix_length = 16
network = "${google_compute_network.private_network.self_link}"
}
resource "google_service_networking_connection" "private_vpc_connection" {
provider = "google-beta"
network = "${google_compute_network.private_network.self_link}"
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = ["${google_compute_global_address.private_ip_address.name}"]
}
resource "google_sql_database_instance" "instance" {
provider = "google-beta"
count = 5
name = "private-instance-${count.index}"
database_version = "POSTGRES_9_6"
depends_on = [
"google_service_networking_connection.private_vpc_connection"
]
settings {
tier = "db-custom-1-3840"
availability_type = "REGIONAL"
ip_configuration {
ipv4_enabled = "false"
private_network = "${google_compute_network.private_network.self_link}"
}
}
}
provider "google-beta" {
version = "~> 2.5"
credentials = "credentials.json"
project = "PROJECT_ID"
region = "us-central1"
zone = "us-central1-a"
}
Я попробовал несколько альтернатив:
- Подождите минуту после создания
google_service_networking_connection
и затем одновременно создайте все экземпляры, ноЯ получил ту же ошибку. - Создание диапазона адресов и
google_service_networking_connection
на экземпляр, но я получил ошибку, что google_service_networking_connection
не может быть создан одновременно. - Создание диапазона адресов на экземпляри один
google_service_networking_connection
, который ссылается на все из них, но я получил ту же ошибку.