Google cloud platform 使用公共和私有IP从VM连接到云SQL实例-如何确保为连接选择正确的网络接口? 我正在尝试设置的内容: 私有IP云SQL实例,Postgresql数据库 具有公共IP的VM,但也具有一个私有IP,位于与SQL实例所在的VPC网络上(VM、SQL实例和VPC都位于同一区域) VM有一个具有足够云SQL客户端/查看器权限的服务帐户 可以从VM连接到SQL实例 会发生什么? 任何实际使用连接的尝试,例如psql client或db migrate,都会挂起-例如psql--host 10.78.0.3-U gcp network issue demo staging db user gcp network issue demo staging database不会提示输入密码,只需坐在那里即可 如果我从安装程序中删除虚拟机的公共IP地址,它连接良好。但是,我需要一个可公开访问的VM,以便其他服务连接到它

Google cloud platform 使用公共和私有IP从VM连接到云SQL实例-如何确保为连接选择正确的网络接口? 我正在尝试设置的内容: 私有IP云SQL实例,Postgresql数据库 具有公共IP的VM,但也具有一个私有IP,位于与SQL实例所在的VPC网络上(VM、SQL实例和VPC都位于同一区域) VM有一个具有足够云SQL客户端/查看器权限的服务帐户 可以从VM连接到SQL实例 会发生什么? 任何实际使用连接的尝试,例如psql client或db migrate,都会挂起-例如psql--host 10.78.0.3-U gcp network issue demo staging db user gcp network issue demo staging database不会提示输入密码,只需坐在那里即可 如果我从安装程序中删除虚拟机的公共IP地址,它连接良好。但是,我需要一个可公开访问的VM,以便其他服务连接到它,google-cloud-platform,google-compute-engine,google-cloud-sql,Google Cloud Platform,Google Compute Engine,Google Cloud Sql,我假设psql连接尝试通过错误的网络接口或其他东西(这可能只是我对网络内容的无知)——我如何才能让它工作?我错过了什么 PS:这基本上和问题相同,但那个里的评论者似乎想要一个与地形相关的问题和一个与连接相关的问题 一些截图: 虚拟机IP: 数据库IP: 虚拟机的网络配置: 数据库实例的专用IP配置: 这是专用网络的设置: 我不明白为什么DB实例的专用IP(10.78.0.3)不是专用网络范围内的IP(10.2.0.0-10.2.0.24,对吧?)。。?这是我的问题吗?回答你的问题: 我

我假设psql连接尝试通过错误的网络接口或其他东西(这可能只是我对网络内容的无知)——我如何才能让它工作?我错过了什么

PS:这基本上和问题相同,但那个里的评论者似乎想要一个与地形相关的问题和一个与连接相关的问题

一些截图:

虚拟机IP:

数据库IP:

虚拟机的网络配置:

数据库实例的专用IP配置:

这是专用网络的设置:


我不明白为什么DB实例的专用IP(
10.78.0.3
)不是专用网络范围内的IP(
10.2.0.0
-
10.2.0.24
,对吧?)。。?这是我的问题吗?

回答你的问题:

我不明白为什么DB实例(10.78.0.3)的私有IP不是私有网络范围内的IP(10.2.0.0-10.2.0.24,对吗?)

云SQL实例从中分配了一个IP地址。当您设置VPC时,将在您的VPCgcp网络问题演示暂存网络使用分配范围10.78.0.0/16的服务提供商VPC网络之间创建VPC对等

另外,查看您的VM网络配置,我看到VM在两个不同的VPC中有两个NIC(默认值gcp网络问题演示暂存网络)。在您的情况下,只能使用一个Nic

作为下一步,请确保您的虚拟机仅使用您用于创建虚拟机的专有网络。完成后,您应该能够使用以下命令连接到云SQL实例IP:

telnet 10.78.0.3 3306

云SQL私有IP地址是否与计算引擎实例位于同一VPC中?(提示:并非如此)。如果没有,则需要使用云SQL代理进行连接。你能分享更多关于你的环境的信息吗?您是否更改了路由配置?您是否配置了NAT?您是否执行了特殊任务,或者这是一个默认项目?请问,为演示登台网络配置的IP范围是多少?为什么说DB实例的私有IP不是私有网络范围内的IP?@JohnHanley有没有办法确保云SQL实例的私有IP来自私有网络?当我告诉SQL实例与该私有网络“关联”时,我有点期待这种情况发生,但这种假设似乎是错误的。@guillaumeblaquiere我添加了一些配置的屏幕截图。它都是由中描述的地形代码设置的,我没有设置NAT或路由之类的东西。也许这就是我需要补充的?谢谢你的回答!这是否仅仅意味着我试图做的事情(一个VM通过专用网络连接到DB,但也有一个公共IP)根本不可能?因为如果我按照建议“确保您的虚拟机仅使用您用于创建专用连接的VPC网络”-虚拟机将不再具有公共IP,对吗?通过专用网络连接到DB但也具有公共IP的虚拟机肯定可以工作。我可以设置它,但我创建的VM只使用了一个NIC。我的问题是:1-您创建gcp网络问题演示暂存网络以及您的虚拟机使用2个NIC的具体原因是什么?2-您是否使用gcp网络问题演示暂存网络来创建专用服务连接?但是,如果您已设置了与“默认”子网的专用服务连接,则只能使用具有专用IP 10.166.0.2和公用IP 35.228.223.46的nic0。我认为这是正确的方法(我想我对网络的了解刚好足以让人近乎绝望地困惑……)。我现在已经将设置更改为具有一个网络接口,它引用VPC,并且还具有短暂的公共IP地址。我认为它现在需要的是一个允许SSH访问的防火墙规则,我已经找到了我想要的配置。这里是一个很好的工具,可以帮助您在计算引擎VM上设置SSH防火墙规则。非常感谢您的帮助!我在相应的问题中找到了修复地形代码的方法,并自我回答了这个问题