在 GCP 中与其他项目共享一个 VPN 网关

In GCP share a VPN gateway with other projects

我正在开始设计网络(VPC、子网等),作为将相当复杂的组织内部部署结构迁移到云端的过程的一部分。

选择的提供商是 GCP,我阅读并参加了课程,成为副工程师。但是,我学习的课程并没有详细介绍执行此类操作的技术方面,只是向您展示了可能的选择。

我的背景是高级后端,然后是全栈开发人员。因此,不幸的是,我缺乏一些非常有趣和有用的系统管理员知识。

我们的案例如下:

现在,我可以为 Hybrid Connectivity -> VPN 中的每个项目创建一个新的 VPN 连接,但我宁愿创建一个专用于设置 VPN 网关并允许其他项目使用该资源的项目。

这是一种可能的配置吗?这是一个有效的设计吗?就我探索 VPN 的创建而言,似乎我必须创建一个 VM 来公开一个充当网关的 IP,如果是这样的话,我想使用 VPC 对等互连来允许其他项目退出到本地 VPN。不知道我是不是在胡言乱语。在尝试任何事情之前,我仍在等待一些信息(IKE 共享密钥等),所以我现在很迷茫。

你要考虑几个方面:

  • 成本:如果每个项目都设置一个VPN,如果非要double your connectivity for HA,会很贵。如果您只有 1 个网关项目,则更便宜

  • 便宜,意味着折衷。 VPN 有 limited bandwidth: 3Gbps(也有 Cloud Interconnect,但更高更贵)。如果你的所有项目都使用相同的 VPN 由于相互化,请注意这个瓶颈。

如果你想互助,至少对于 DEV/UAT 个项目,我建议你使用 VPC Peering,我的意思是 1 个 VPN 项目,其他的 VPC peering. Take care at your IP range assign for peering. If you are interested, I wrote an article on this

还可以用Shared VPC,太棒了!但是与一些产品的兼容性较低(例如,用于 Cloud Function 和 App Engine 的无服务器 VPC 连接器尚未与共享 VPC 兼容)。