如何通过 google 云中的对等 vpc 连接导出特定路由?

How to export specific routes over a peered vpc connection in google cloud?

我在 google 云中有以下 VPC 连接:

VPC A <===== VPC 对等连接 =====> VPC B(google 通过私有服务连接为 cloudsql 管理 VPC)

VPC A 路由 table:

Destination Next hop
10.2.4.0/24 VPN connection 1
10.2.5.0/24 VPN connection 2

我想从 VPC A 导出特定的自定义路由 (for eg 10.2.4.0/24) 到 VPC B,但是在 VPC 对等选项上,它只显示 export custom routes 选项。有没有办法导出特定路线? Google 云的 auth-cloudsql-proxy 似乎是可行的方法,但我想从其他人那里了解这一点。

目前,最好的解决方案是在客户端和您的 Cloud SQL 实例之间的中间 VPC 中设置一个 SOCKS5 代理。 Cloud SQL Auth 代理支持通过 SOCKS5 代理进行链接,SOCKS5 代理是一种将 TCP 数据包转发到目标 IP 地址的协议。此方法允许中间节点将加密流量从 Cloud SQL Auth 代理转发到目标 Cloud SQL 实例。

调用 Cloud SQL Auth 代理时,可以通过在 ALL_PROXY 环境变量中指定 SOCKS url 来配置 SOCKS5 支持。用户可以使用以下命令指示 Cloud SQL Auth 代理使用 SOCKS5 代理:

ALL_PROXY=socks5://localhost:8000 cloud_sql_proxy -instances=$INSTANCE_CONNECTION_NAME=tcp:5432

对等VPC时,只能导出(或导入)自定义路由。你不能select一个你想要的,一个你不想要的。

此外,1个VPC的所有子网在peering后会自动在另一个VPC中路由。

不过,peering isn't transitive。那意味着你无法实现那个

VPC A -> PEERING -> VPC B -> PEERING -> VPC Managed by Google (Cloud SQL)

VPC A 中的虚拟机(或 VPN 或任何登陆)将无法访问私有 IP 上的云 SQL 数据库(有或没有云 SQL 代理,这是网络限制)

一个解决方案是在VPC B中设置一个代理VM,帮助您跳转并突破这个限制。 Kurtisvg 答案非常适合此解决方法。

您也可以选择共享 VPC 而不是 VPC 对等互连。