我们的设置包括-一个主要的VPC,我们拥有使用专用IP创建的计算引擎和Postgres数据库。我们将其称为main-network
,-将保管箱部署在自己的VPC中,并可以通过Loadbalancer进行访问(按照最佳做法)。让我们将其称为vault-network
。
在main-network
内,计算实例能够在创建时以私有IP作为以main-network
作为父网络创建的DB访问具有私有IP的DB。查看VPC的各种详细信息,似乎创建过程会自动创建in the docs.中所述的私有服务访问。
问题-对于保管库database secret-engine,保管库需要能够访问数据库以动态生成机密。我尝试创建在main-network
和vault-network
之间建立对等关系的VPC网络,并验证(通过netcat)可以从main-network
中的计算机成功访问vault-network
中的计算机。
但是,我无法从vault-network
中的节点访问数据库实例。
是否可以与对等的vpc网络共享对私有服务的访问?
除非这是唯一的方法,否则我不想公开数据库。
由于您的Cloud SQL不在您的VPC中,但是在Cloud SQL和VPC之间执行了VPC对等,因此您无法通过对等访问另一个VPC网络。正如约翰所说,它被称为传递性,并在VPC peering restrictions
中进行了描述仅直接对等网络可以通信。不支持传递对等。换句话说,如果VPC网络N1与N2和N3对等,但是N2和N3没有直接连接,则VPC网络N2无法通过VPC网络对等与VPC网络N3通信。
[遗憾的是,您无法按照John的建议在Cloud SQL与另一个项目的VPC网络(您的保管库网络)之间创建对等关系。我只有2种解决方案可以解决此问题