【问题标题】:How to share a Google Cloud SQL instance between two projects using private IP?如何使用私有 IP 在两个项目之间共享 Google Cloud SQL 实例?
【发布时间】:2019-09-10 10:53:27
【问题描述】:

我在 GCP 中有两个项目,它们都在使用 Node.js 运行 App Engine 柔性环境。其中一个项目附加了一个使用私有 IP 运行的 Cloud SQL 实例。我希望另一个项目中的 App Engine 也能够使用这个 Cloud SQL 实例 (PostgreSQL),但它没有建立连接。

  • 所有实例都在同一区域中运行
  • 我查看了两个 VPC
  • Service Networking API 已在两个项目中激活
  • 需要连接的项目的服务帐号对创建 SQL 实例的项目具有“Cloud SQL Client”权限

据我了解,Cloud SQL 实例位于其自己的 VPC 中,该 VPC 通过自动创建的对等连接和路由到创建它的项目进行对等。但似乎没有办法为另一个 VPC 创建这些路由和对等点以连接它,对吧?

或者是否有另一种可能将两个项目连接到同一个 Cloud SQL?

【问题讨论】:

    标签: node.js google-app-engine google-cloud-platform google-cloud-sql google-appengine-node


    【解决方案1】:

    根据the docs网络要求中的第一点:

    您只能通过私有 IP 地址访问 Cloud SQL 实例 来自单个 VPC 网络。

    这意味着您只能从具有 Cloud SQL 网络对等互连的项目进行连接。

    这来自对the VPC peering docs的第6个限制:

    只有直接对等的网络才能进行通信。传递对等是 不支持。换句话说,如果 VPC 网络 N1 与 N2 对等,并且 N3,但是N2和N3没有直连,VPC网络N2不能 通过 VPC 网络对等互连与 VPC 网络 N3 通信。

    【讨论】:

      【解决方案2】:

      关于网络要求:“您只能从单个 VPC 网络通过私有 IP 地址访问 Cloud SQL 实例。”

      欲了解更多信息,请参阅关于私有 ip 的文档:https://cloud.google.com/sql/docs/mysql/private-ip#network_requirements

      您只能从具有 Cloud SQL 网络对等互连的项目进行连接: “只有直接对等的网络可以通信。不支持传递对等。也就是说,如果 VPC 网络 N1 与 N2 和 N3 对等,但 N2 和 N3 没有直接连接,则 VPC 网络 N2 无法通过 VPC 网络与 VPC 网络 N3 通信对等。

      有关更多信息,请参阅有关 VPC 对等互连的文档:https://cloud.google.com/vpc/docs/vpc-peering#restrictions

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-05
        • 2015-01-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多