与this和this有些相关。这是一个非常基本且可能是菜鸟的问题。
我想在 GCP(一个组织)中设置几个服务(GCE、GAE、GCR 和 GCF 的组合)。其中一些需要相互交流,而另一些则不需要。当然,我不想在没有充分理由的情况下向互联网公开任何服务,因此它们应该在内部进行通信(通过它们的内部 IP/DNS)。不同的服务属于不同的团队,因此我想把它们放到不同的项目中。
当然,我做了一些研究,我看到的三个选项是:
A)将所有内容放在一个项目中
B)选择一个项目作为宿主项目并使用共享 VPC
C)在需要时使用对等互连
每个都有优点和缺点。
A -简单但也违反了最小权限,没有明确的服务分离
B - 也很简单,但一切都可以连接到其他一切,不太清楚哪个项目应该是主机,主机决定 FW 规则等单独 - 如果,例如,我需要从本地机器连接到数据库吗?
C - 看起来不错,但仅限于 25 个对等点 - 如果服务需要连接到更多点怎么办?
我觉得我缺少一些基本的东西。默认情况下,项目是相互隔离的,对吗?它们从默认VPC 开始,如果我要在两个 vanilla 项目中创建两个 VM,它们将收到相同的内部 IP。您可能已经注意到我在网络设计方面没有很强的背景。
什么是好的选择,这种情况的最佳实践是什么(以及为什么)?我错过了一些选择吗?