Google cloud platform 从Cloud Composer连接到PosgreSQL的云SQL

Google cloud platform 从Cloud Composer连接到PosgreSQL的云SQL,google-cloud-platform,google-cloud-sql,google-kubernetes-engine,google-cloud-composer,Google Cloud Platform,Google Cloud Sql,Google Kubernetes Engine,Google Cloud Composer,我的问题是关于配置GoogleCloudComposer以在同一个GoogleCloud项目中使用相同的网络配置访问GoogleCloudSQL 云SQL配置有与默认网络关联的专用IP。 云编写器已配置网络ID=默认值 执行使用配置有专用IP和默认端口(5432)的PostgresOperator进行连接的DAG时,我们总是会遇到相同的连接错误: 错误-无法连接到服务器:连接超时ou是 在主机“private_ip”上运行的服务器和上的acceptin TCP/ip连接 端口5432 我

我的问题是关于配置GoogleCloudComposer以在同一个GoogleCloud项目中使用相同的网络配置访问GoogleCloudSQL

  • 云SQL配置有与默认网络关联的专用IP

  • 云编写器已配置网络ID=默认值

执行使用配置有专用IP和默认端口(5432)的PostgresOperator进行连接的DAG时,我们总是会遇到相同的连接错误:

错误-无法连接到服务器:连接超时ou是 在主机“private_ip”上运行的服务器和上的acceptin TCP/ip连接 端口5432


我们希望应该建立连接,因为我们已经配置了相同的网络,并且我们正在使用私有IP从Composer访问云SQL server。

根据这些,仍然有两个独立的网段(请参见此处的可视化方案)。因此,为了获得一个可路由的专用IP,需要使用。请参阅,其中也介绍了此场景。

来自Composer的请求来自pod的IP地址,该地址在VPC之外不可路由。因此,它必须伪装成10.0.0.0/8中节点接口的IP(使用默认网络时)

如果在设置私有IP连接时将CloudSQL实例配置为使用自动生成的IP范围,则该IP可能也位于10.0.0.0/8中,但不在同一VPC中

如果连接到10.0.0.0/8且不在VPC中,则无法路由。作为一种解决方法,您可以创建一个自定义的,例如192.168.X.X:

gcloud beta compute addresses create [RESERVED_RANGE_NAME] \
    --global \
    --purpose=VPC_PEERING \
    --addresses=192.168.0.0 \
    --prefix-length=16 \
    --description=[DESCRIPTION] \
    --network=[VPC_NETWORK] \

并将您的云SQL实例的私有IP配置在该范围内。

云SQL代理是一个很好的方法,如果不是相同的话,我们已经回答了一个问题,并提供了有关设置的详细信息

要解决内部IP问题,请参阅:

您可以使用云SQL代理连接到也配置为使用私有IP的实例。代理可以使用专用IP地址或公用IP地址进行连接。如果使用云SQL代理连接到同时分配了公共和私有IP地址的实例,则默认情况下代理使用公共IP地址


这是有道理的,因为库伯恩斯工人是代表作曲家创作的。我们将尝试并对结果进行评论。谢谢。您还可以定期查看Composer的更新,了解Composer可用的集群。