我想创建一个指向我的 VPC 中特定子网的私有 postgresql 实例。我有 2 个资源:
resource "google_compute_global_address" "private_ip_address_some_name" {
name = "private-ip-address-some-name"
purpose = "VPC_PEERING"
address_type = "INTERNAL"
prefix_length = 16
network = module.vpc.vpc.id
}
resource "google_service_networking_connection" "some_other_name" {
network = module.vpc.vpc.id
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = [google_compute_global_address.private_ip_address_some_name.name]
}
我确实知道这会在我的 VPC 中创建 IP,但我希望在我的 VPC 内的特定子网内创建 postgres 实例。
VPC 看起来像这样:
dev-01 : {
vpc_cidr = "x.x.x.x/16"
subnets = {
"subnet-a" : ["10.2.1.0/24", "secondary_ip_range/20", "x.x.x.x/20"],
"subnet-b" : ["10.2.2.0/24", "secondary_ip_range/20", "x.x.x.x/20"],
}
我的 postgresql 模块上的 ip_configuration 如下所示:
ip_configuration = {
ipv4_enabled = true # Disable public IP
private_network = module.vpc.vpc.id
allocated_ip_range = var.network_map[local.env].vpc_cidr
require_ssl = true
authorized_networks = [
{
name = "vpc"
value = "10.2.1.0/24"
}
]
}
我将子网配置为输出:
output "subnet-a" {
value = google_compute_subnetwork.db_a
}
我尝试像这样引用它:
private_network = module.vpc.subnet-a.id
但没有任何运气。
我对此有点迷失,因为我尝试指向子网的每一次尝试都失败了,任何帮助将不胜感激。