Google cloud platform Google Cloud-无法从另一个VPC网络访问一个VPC网络中的私有CloudSQL数据库

Google cloud platform Google Cloud-无法从另一个VPC网络访问一个VPC网络中的私有CloudSQL数据库,google-cloud-platform,google-cloud-sql,vpc,hashicorp-vault,Google Cloud Platform,Google Cloud Sql,Vpc,Hashicorp Vault,我们的设置包括 -一个主要的VPC,其中我们有使用私有IP创建的计算引擎和Postgres数据库。我们将其称为主网络, -Vault部署在自己的专有网络中,可通过Loadbalancer访问(根据最佳实践)。我们将其称为保险库网络 在主网中,计算实例能够使用专用IP作为DBs访问DBs,其中在创建时使用主网作为父网创建。查看各种VPC详细信息,似乎创建过程会自动创建所述的私有服务访问 问题在于,对于Vault,Vault需要能够访问数据库以动态生成机密。 我已尝试在主网和保险库网络之间创建VPC

我们的设置包括 -一个主要的VPC,其中我们有使用私有IP创建的计算引擎和Postgres数据库。我们将其称为主网络, -Vault部署在自己的专有网络中,可通过Loadbalancer访问(根据最佳实践)。我们将其称为
保险库网络

主网
中,计算实例能够使用专用IP作为DBs访问DBs,其中在创建时使用
主网
作为父网创建。查看各种VPC详细信息,似乎创建过程会自动创建所述的私有服务访问

问题在于,对于Vault,Vault需要能够访问数据库以动态生成机密。 我已尝试在
主网
保险库网络
之间创建VPC网络对等,并验证(通过netcat)我可以从
保险库网络
中的机器成功访问
主网
中的机器

但是,我无法从
vault网络中的节点访问DB实例

是否可以与对等vpc网络共享对专用服务的访问


我不想公开DBs,除非这是唯一的方法。

因为您的云SQL不在您的VPC中,但在云SQL和您的VPC之间执行VPC对等,您无法通过对等访问另一个VPC网络。正如John所说,它被命名为及物性,并在

只有直接对等网络才能通信。不支持传递对等。换句话说,如果VPC网络N1与N2和N3对等,但N2和N3未直接连接,则VPC网络N2无法通过VPC网络对等与VPC网络N3通信

遗憾的是,您无法按照John的建议在您的云SQL和另一个项目的VPC网络(您的vault网络)之间创建对等。我只看到两种解决方案

  • 设置一个只转发流量的通道VM。微型虚拟机就足够了,但您必须维护它,以保证高可用性,(…)
  • 设置一个包含两个项目的区域。将您的云SQL专用IP设置到共享VPC子网中
我联系了我们帐户的谷歌支持人员,询问他们这个问题,他们确认不可能有可传递的VPC对等

VPC对等是不可传递的,在VPC网络之间使用VPC对等是不可能的:

云SQL专有网络“主网络”专有网络“保险库网络”

创建共享专有网络首先会破坏创建单独网络的目的,因为这会使vault节点直接可在共享专有网络中访问

谷歌人建议创建一个VPN:

作为一种解决方法,您可以在VPC网络“主网络”和“保险存储网络”之间创建VPN:

云SQL专有网络“主网络”专有网络“保险库网络”

我需要一些时间来思考我们是否愿意走这条路

现在,我已经在数据库实例的
设置.IP\u配置.authorized\u networks
配置中白名单出了vault群集的NAT IP,以访问vault网络。 缺点是数据库现在有一个公共IP,这并不一定是坏的,因为防火墙阻止了对它的公共访问


感谢大家的建议。

VPC对等不是可传递的。这意味着您可以从VPC A连接到VPC B。您无法通过VPC B从VPC A连接到云SQL所在的VPC。您需要将云SQL对等到VPC A。将vault网络对等到云SQL网络是我尝试的第一件事。不幸的是,它不起作用,因为在任何地方都没有选择特定cloudSql网络的选项。如果您能添加步骤,我将不胜感激。我解释了问题所在,以便您了解原因。回顾一下Guillaume的回答。我想我从概念上理解了你所说的设置直通VM的意思,但我不确定什么是最好的方法。如果你有这方面的经验,你能分享一下你是如何做到的吗?将保险存储网络设置到共享专有网络中是不可取的,因为这样会使保险存储节点直接可访问,并且首先会破坏创建单独网络的目的。