与this和this有些相关。这是一个非常基本且可能是菜鸟的问题。
我想在 GCP(一个组织)中设置几个服务(GCE、GAE、GCR 和 GCF 的组合)。其中一些需要相互交流,而另一些则不需要。当然,我不想在没有充分理由的情况下向互联网公开任何服务,因此它们应该在内部进行通信(通过它们的内部 IP/DNS)。不同的服务属于不同的团队,因此我想把它们放到不同的项目中。
当然,我做了一些研究,我看到的三个选项是:
A)将所有内容放在一个项目中
B)选择一个项目作为宿主项目并使用共享 VPC
C)在需要时使用对等互连
每个都有优点和缺点。
A -简单但也违反了最小权限,没有明确的服务分离
B - 也很简单,但一切都可以连接到其他一切,不太清楚哪个项目应该是主机,主机决定 FW 规则等单独 - 如果,例如,我需要从本地机器连接到数据库吗?
C - 看起来不错,但仅限于 25 个对等点 - 如果服务需要连接到更多点怎么办?
我觉得我缺少一些基本的东西。默认情况下,项目是相互隔离的,对吗?它们从默认VPC 开始,如果我要在两个 vanilla 项目中创建两个 VM,它们将收到相同的内部 IP。您可能已经注意到我在网络设计方面没有很强的背景。
什么是好的选择,这种情况的最佳实践是什么(以及为什么)?我错过了一些选择吗?
对于所述情况,我会推荐共享 VPC。
通常建议将最集中的项目用作共享 VPC 中的宿主项目,但对于大型组织来说,创建一个单独的项目作为宿主项目也是一个好主意,然后将其附加到一个或多个服务项目.
当与云 IAM、防火墙规则和身份感知代理结合使用时,共享 VPC 可实现出色的隔离、访问控制和数据传输。
有关共享 VPC 的详细信息,请参阅以下链接 -
https://www.youtube.com/watch?v=WotV3D01tJA
https://cloud.google.com/vpc/docs/shared-vpc
共享 VPC 也可以与 VPC 对等互连一起使用,以提供两全其美的功能,请参阅此链接以获取详细信息 -
https://cloud.google.com/vpc/docs/vpc-peering#shared_vpc
您在 RBAC 框架 (IAM) 和网络/防火墙方面缺少很多进展。单一项目将为您提供最佳的安全性和可操作性。