本页面介绍与 Private Service Connect 相关的概念。您可以将 Private Service Connect 用于以下用途:
- 您可以从属于不同群组、团队、项目或组织的多个 VPC 网络连接到 Cloud SQL 实例。
- 连接到主实例或其任何只读副本
Private Service Connect 端点
您可以使用 Private Service Connect 端点从使用方 VPC 网络通过专用连接访问 Cloud SQL 实例。这些端点是与转发规则关联的内部 IP 地址,该转发规则引用 Cloud SQL 实例的服务连接。
您可以让 Cloud SQL 自动为您创建端点,也可以手动创建端点。
如需让 Cloud SQL 自动创建端点,请执行以下操作:
- 在 VPC 网络中创建服务连接政策。
创建一个启用 Private Service Connect 的 Cloud SQL 实例,并将该实例配置为自动创建端点。在创建实例时,指定 VPC 网络和项目等自动连接参数。
Cloud SQL 会在这些网络中找到服务连接政策,并创建一个指向实例服务连接的 Private Service Connect 端点。
在您创建实例并且 Cloud SQL 创建端点后,相应 VPC 网络中的客户端可以通过 IP 地址或 DNS 记录从端点连接到实例。
如需手动创建端点,请执行以下操作:
- 创建一个 Cloud SQL 实例,并为该实例启用 Private Service Connect。
- 获取手动创建端点所需的服务连接 URI。
在 VPC 网络中为端点预留一个内部 IP 地址,并使用该地址创建端点。
在您创建实例并且 Cloud SQL 创建端点后,相应 VPC 网络中的客户端可以通过 IP 地址或 DNS 记录从端点连接到实例。
服务连接政策
服务连接政策可让您授权指定的服务类在 VPC 网络之间创建 Private Service Connect 连接。因此,您可以自动预配 Private Service Connect 端点。
您最多可以为每个服务类、区域和 VPC 网络组合创建一个政策。政策决定了该特定组合的服务连接自动化。配置政策时,您需要选择子网。子网用于为您通过政策创建的端点分配 IP 地址。如果多个服务连接政策共享同一区域,那么您可以为所有政策重复使用同一子网。
例如,如果您要为两个服务在三个不同区域中使用服务连接自动化,请创建六个政策。您至少可以使用三个子网,每个区域一个。
创建服务连接政策后,您只能更新该政策的子网和连接限制。如果您需要更新其他字段,请执行以下操作:
- 移除使用该政策的所有连接。
- 删除政策。
- 创建新政策。
服务连接
当您创建 Cloud SQL 实例并将实例配置为使用 Private Service Connect 时,Cloud SQL 会自动为实例创建一个服务连接。服务连接是 VPC 网络用于访问实例的连接点。
创建一个 Private Service Connect 端点,VPC 网络使用该端点连接到服务连接。这样网络就可以访问该实例。
每个 Cloud SQL 实例都有一个服务连接,Private Service Connect 端点可以通过 VPC 网络连接到该服务连接。如果有多个网络,则每个网络都有自己的端点。
DNS 名称和记录
对于启用了 Private Service Connect 的实例,我们建议您使用 DNS 名称,因为不同的网络可以连接到同一实例,并且每个网络中的 Private Service Connect 端点可能具有不同的 IP 地址。此外,Cloud SQL Auth 代理需要 DNS 名称才能连接到这些实例。
Cloud SQL 不会自动创建 DNS 记录。建议的 DNS 名称是通过实例查找 API 响应提供的。我们建议您在相应 VPC 网络的专用 DNS 区域中创建 DNS 记录。这提供了一种从不同网络进行连接的一致方式。
允许的 Private Service Connect 项目
允许的项目与 VPC 网络关联,特定于每个 Cloud SQL 实例。如果实例未包含在任何允许的项目中,则无法为该实例启用 Private Service Connect。
对于这些项目,您可以为每个实例创建 Private Service Connect 端点。如果未明确允许项目,您仍然可以为项目中的实例创建端点,但端点会保持 PENDING
状态。
Private Service Connect 端点传播
默认情况下,Private Service Connect 连接不会从对等互连的 VPC 网络传递。您必须在需要连接到 Cloud SQL 实例的每个 VPC 网络中创建 Private Service Connect 端点。例如,如果您有三个需要连接到实例的 VPC 网络,则必须创建三个 Private Service Connect 端点,每个 VPC 网络一个端点。
不过,在通过 Network Connectivity Center hub 传播 Private Service Connect 端点后,同一 hub 中的任何其他spoke VPC 网络都可以访问这些端点。hub 提供一个集中式连接管理模型,可将 spoke VPC 网络互连到 Private Service Connect 端点。
Network Connectivity Center 中的连接传播功能有利于 Private Service Connect 部署的以下用例:
您可以使用一个共用服务 VPC 网络创建多个 Private Service Connect 端点。通过将一个共用服务 VPC 网络添加到 Network Connectivity Center hub,VPC 网络中的所有 Private Service Connect 端点便可通过该 hub 以传递方式供其他 spoke VPC 网络访问。这种连接使您无需单独管理每个 VPC 网络中的每个 Private Service Connect 端点。
如需了解如何使用 Network Connectivity Center hub 将 Private Service Connect 端点传播到 spoke VPC 网络,请参阅 Network Connectivity Center - Private Service Connect 传播 Codelab。
Private Service Connect 后端
您可以使用 Private Service Connect 后端(作为 Private Service Connect 端点的替代方案)来访问 Cloud SQL 实例。 为了便于使用,我们建议您使用 Private Service Connect 端点连接到 Cloud SQL 实例。为了进一步控制和提高可见性,您可以使用 Private Service Connect 后端进行连接。
如需使用 Private Service Connect 后端,您必须为要访问给定 Cloud SQL 实例的每个服务端口设置以下资源:
- Private Service Connect 网络端点组 (NEG),必须引用 Cloud SQL 实例的服务连接和服务端口。
- 内部代理网络负载均衡器(由后端服务、目标 TCP 代理和转发规则组成),其后端为 Private Service Connect NEG。
- 用于直接连接到 PostgreSQL 数据库服务器的 TCP 端口 5432。
- 使用托管式连接池时,用于直接连接到 PgBouncer 服务器的 TCP 端口 6432。
- 用于通过 Cloud SQL Auth 代理建立连接的 TCP 端口 3307。
Private Service Connect 出站连接
您可以使用网络连接将 Private Service Connect 接口附加到现有的已启用 Cloud SQL Private Service Connect 的实例,以允许 Cloud SQL 实例与您的网络建立出站连接。如需连接到网络的 Private Service Connect 接口,您需要在 Google Cloud 项目中创建新的或使用现有的网络连接。
您可以使用出站连接从网络中的外部服务器迁移数据,使用需要出站连接到 Cloud SQL 实例的 PostgreSQL 扩展程序,或者使用 Database Migration Service 执行同构迁移。
将 Private Service Connect 接口与网络连接搭配使用从 Cloud SQL 实例创建到您的网络的出站连接时,请注意以下限制:
- 启用或停用 Private Service Connect 出站连接需要停机。此操作预计需要大约 8 分钟才能完成,停机时间约为 3 分钟。
- 如果您使用主机名或 DNS 进行出站连接,则 DNS 名称必须可公开解析,并且解析为 RFC-1918 IP 范围。
- 不支持 IPv6 地址。
- 不支持公共 IP 地址。
- 无法在读取副本实例上启用 Private Service Connect 出站连接。
- 对于启用了 Private Service Connect 出站连接的实例,不支持切换。
- 您无法为具有灾难恢复副本的实例启用 Private Service Connect 出站连接。
- 您无法将启用了 Private Service Connect 出站连接的实例的副本转换为灾难恢复副本。
- 如果出站连接 IP 地址与
eth0
IP 或 Private Service Connect 转发规则冲突,则该 IP 地址可能无法正确连接。如需了解详情,请参阅 Private Service Connect 概览。 - 如果您的实例配置为专用服务访问通道和 Private Service Connect,则无法为该实例启用 Private Service Connect 出站连接。
如需详细了解如何为 Cloud SQL 实例设置出站连接,请参阅配置出站连接。
后续步骤
- 详细了解专用 IP。
- 详细了解如何使用 Private Service Connect 连接到实例。