【问题标题】:Why is Service Networking not getting routed by VPC Network Peering?为什么 VPC 网络对等互连不路由服务网络?
【发布时间】:2022-01-26 10:41:27
【问题描述】:

我有一个默认网络:

resource "google_compute_network" "default" {
  description = "Default network for the project"
  name = "default"
}

在该网络中,我有许多子网和一个无服务器 VPC 连接器。我还有一个服务网络地址,以便 Cloud SQL 可以连接到我的 VPC:

# private VPC IP address for the SQL DB.
resource "google_compute_global_address" "private_ip_address" {
  provider = google-beta

  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 24
  address       = "10.0.2.0"
  network       = google_compute_network.default.id
}

我在另一个 GCP 项目中有一个暂存 VPC,因此我配置了 VPC 网络对等互连。一切都是“路由的”(我不知道这是否是正确的术语,但所有其他 IP 都可以从我的其他 VPN 中看到)。问题是我的服务网络地址 (10.0.2.0) 不可见。我想这可能与服务网络本身也是一个对等连接这一事实有关,但这都是猜测。为什么那个 IP 没有被“路由”?

【问题讨论】:

  • 为什么要为 Cloud SQL 私有 IP 地址创建资源
  • @JohnHanley 我只是按照 Terraform 文档中的说明进行操作:registry.terraform.io/providers/hashicorp/google/latest/docs/…
  • 您在该资源上方的评论让我相信您正在尝试将该地址分配给 Cloud SQL。编辑您的问题并包含整个 HCL。

标签: google-cloud-platform terraform-provider-gcp


【解决方案1】:

当您为 Cloud SQL 设置 VPC 连接器时,它在后台使用网络对等互连,并且由于 GCP 不支持传递性对等互连 - 您无法使用两个 VPC 访问它:

只有直接对等的网络才能进行通信。传递对等 不支持。换句话说,如果 VPC 网络 N1 与 N2 对等 和N3,但是N2和N3没有直连,VPC网络N2不能 通过 VPC 网络对等互连与 VPC 网络 N3 通信。客户在 一个项目可以连接多个项目中的 Cloud SQL 实例 使用共享 VPC 网络。

来自the documentation 中的“传递对等”主题。

我不记得 Cloud SQL 是否支持多个 VPC 连接器,但如果您没有任何限制,另一种解决方法是使用共享 VPC。

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2014-05-26
    • 1970-01-01
    • 2017-09-13
    • 2018-07-19
    相关资源
    最近更新 更多