Google cloud platform 如何在第三个项目的两个独立项目上启用到两个云SQL实例的私有IP连接?
我的场景一开始需要从构建服务器(在同一项目中作为计算引擎实例运行)对云SQL进行私有IP访问。对于某些上下文,如果部署的工件需要新行/表,则我的构建服务器连接到云SQL以执行DDL SQL语句(基于Google cloud platform 如何在第三个项目的两个独立项目上启用到两个云SQL实例的私有IP连接?,google-cloud-platform,google-cloud-sql,vpc,Google Cloud Platform,Google Cloud Sql,Vpc,我的场景一开始需要从构建服务器(在同一项目中作为计算引擎实例运行)对云SQL进行私有IP访问。对于某些上下文,如果部署的工件需要新行/表,则我的构建服务器连接到云SQL以执行DDL SQL语句(基于init.SQL之间的差异的自动SQL迁移,该差异是我的存储库和目标数据库上的模式的一部分)。我在云SQL数据库使用的VPC GCP和为我的计算引擎实例显式创建的VPC之间使用VPC对等连接完成了这一点 我的场景最终演变为将构建服务器移动到一个单独的项目中。因为,我创建了一个共享VPC,其中我的云SQ
init.SQL
之间的差异的自动SQL迁移,该差异是我的存储库和目标数据库上的模式的一部分)。我在云SQL数据库使用的VPC GCP和为我的计算引擎实例显式创建的VPC之间使用VPC对等连接完成了这一点
我的场景最终演变为将构建服务器移动到一个单独的项目中。因为,我创建了一个共享VPC,其中我的云SQL项目被视为主机项目,而我的构建服务器项目被视为服务项目。这一切都很好
我已经将构建服务器移动到一个单独的项目中,最终目标是为我的登台环境创建第三个项目。然后我计划在我的构建服务器和另外两个项目之间启用私有IP连接。然而,现在我正在尝试添加我的登台环境,我发现这是不可能的,因为根据以下内容:
可以创建和使用多个主体项目;但是,每个服务项目只能附加到单个主项目
然而,我希望生产项目和临时项目都是构建服务器服务项目的宿主项目
是否有满足这两个要求的方法
我也愿意接受关于我在这里概述的设置的批评/反馈,因为在一天结束时,我仅从我所知道的和迄今为止设置的内容中得出上述要求。解决方案是为构建服务器和两个数据库(prod和staging)提供相同的VPC。问题在于可能导致问题的环境的非隔离性 我有两个建议来改变/调整设计:
- 保持环境相同:1个用于生产,1个用于暂存。2个不同的项目,隔离性强,易于复制,因为两种环境的设计相同。但是更贵
- 在云SQL数据库上保留公共IP,并使用云SQL代理访问它们。您获得了一个加密的通道,您的网络不再与对等网络、私有网络和共享专有网络紧密相连。拥有公共IP并不意味着拥有授权网络。您不授权网络(类似于防火墙规则0.0.0.0/0拒绝所有),您只有一个公共IP