从另一个GCP项目访问Cloud SQL

时间:2019-06-24 18:27:53

标签: google-cloud-platform google-cloud-sql google-cloud-networking

我想从另一个GCP项目连接到Cloud SQL。

Cloud SQL位于ProjectSQL中,而VPC网络位于ProjectSQL项目中,名称为sql_vpc

还有另一个项目ProjectDataflow,它有一个vpc dataflow_vpc。我想使用ProjectDataflow项目中启动的VM从ProjectSQL连接到cloudSQL

我尝试过的成功和失败的事情。

私人访问:

VPC对等:

Enable Private IP access in Cloud with the vpc sql_vpc
Creating VPC peering between dataflow_vpc and sql_vpc
This solution does not work because you can not access the Peered Network.
https://cloud.google.com/sql/docs/mysql/private-ip
Status: FAILED

共享网络

As per doc I can create the CloudSQL in shared VPC network, that says I 
have to create the CloudSQL in host project, and to access the Cloud 
SQL from  VM instance, it has be in the same network as of authorized 
private ip network of Cloud SQL
Status: NOT TRIED but looks to be Negative

公共访问:

Create a Cloud NAT in ProjectDataflow with dataflow_vpc with manual IP
Use the Cloud NAT public ip to whitelist in CloudSQL instance
Now I can access the CloudSQL from project ProjectDataflow using CloudSQL Public IP
STATUS: Success

请分享您从另一个项目访问Cloud SQL的经验。 是否有最佳实践来连接来自另一个gcp项目的云SQL?

1 个答案:

答案 0 :(得分:3)

documentation之后,将Cloud SQL与另一个GCP项目互连的过程非常简单。为了使其正常运行,您需要考虑的唯一一件事是,您将必须请求Google Cloud Support来为运行Cloud SQL的Cloud SQL散斑伞实例启用自定义路由,否则您将不会能够在GCP项目中访问Cloud SQL。

以下步骤将为您工作:

-为Cloud SQL实例配置VPC

  

在拥有Cloud SQL实例的项目中,创建一个   VPC网络具有您想要的ip地址范围。选择相同   您的实例所在的VPC的区域。

-为GCP项目配置VPC

  

现在切换到CloudDataflow实例所在的项目   并遵循相同的过程。小心创建VPC网络   IP范围不会相互冲突。您可以使用following tool来   检查IP地址范围是否冲突。也要考虑   两个VPC网络必须位于同一区域。

-通过对等连接两个项目的VPC

  

一旦创建了两个VPC网络,就需要配置VPC   两个项目的网络对等。在Cloud SQL实例方面,   将指定项目和VPC网络名称的对等配置为   连接并选择导出自定义路线的选项。这个   对等的另一部分(在本例中为您的GCP项目)将   可以了解您的Cloud SQL实例。现在,从GCP项目   方面,配置对等连接并指定Cloud SQL项目名称,并   要连接的VPC网络名称。我们对   Cloud SQL对等,我们必须设置对等才能导入自定义   路由,因为它将接收来自另一端的导出路由   连接,在我们的例子中是您的Cloud SQL实例。

Here,您可以检查有关在任何VPC网络对等体之间导入和导出路由的更多信息。

-请求Google Cloud支持以为您启用Cloud SQL的交换自定义路由

  

达到Google Cloud支持并要求他们启用以下功能:   与您的散斑伞VPC网络相关的自定义路由   您根据Cloud SQL自动创建的实例   实例已创建。

请注意,这最后一步非常重要,所有SQL项目都在伞式项目下运行,因此,无需请求Google Cloud Support为您的实例启用交换自定义路由,这将永远无法进行。

共享的VPC

对于共享VPC,您唯一需要考虑的就是创建Cloud SQL实例后就需要启用该选项,因为以后将无法添加它。

您将在以下link中找到Shared VPC的配置指南。