选择连接到 AlloyDB 的方式

本页面介绍了 AlloyDB for PostgreSQL 连接选项,可帮助您选择最适合您的工作负载、网络拓扑和安全连接要求的选项。如需了解详情,请参阅连接概览

在本文档中,您将了解以下内容:

  • 要将哪种网络设置与 AlloyDB 搭配使用。
  • 如何安全连接。
  • 连接最佳实践。
  • 工作负载位置对连接要求有何影响。

推荐的网络连接选项

请使用下表了解建议的工作负载连接选项:

评估您的工作负载

在选择连接选项之前,请评估您的工作负载。 AlloyDB 支持以下工作负载环境的连接:

  • Cloud Run、Cloud Shell 和非 Google SaaS 产品
  • Cloud Functions v2
  • App Engine 柔性环境和 App Engine 标准环境
  • Google Kubernetes Engine 和 Compute Engine
  • 本地设置

工作负载环境 专用 IP 公共 IP 说明
直接 连接器 直接 连接器
Cloud Shell Cloud Shell 需要公共 IP 地址。
Cloud Run、Cloud Functions v2 需要无服务器 VPC 访问通道连接器或直接 VPC 出站流量。
App Engine 标准环境、柔性环境 需要无服务器 VPC 访问通道连接器。
GKE、Compute Engine 我们建议您使用专用 IP。如果您不需要传递性 VPC 对等互连,请使用专用服务访问通道。否则,请使用 Private Service Connect。
本地 专用 IP 需要从本地到目标实例的网络路径。使用语言连接器或 Auth 代理的公共 IP 是一种安全替代方案,无需进行广泛的网络设置。

根据工作负载选择连接方式的最佳实践

连接到 AlloyDB 时,请根据您的工作负载环境考虑以下事项。

Cloud Shell

  • 使用 Auth 代理公共 IP 与 Cloud Shell 建立连接。Cloud Shell 不支持连接到 VPC。它无法连接到专用服务访问通道或 Private Service Connect 实例。此外,Cloud Shell 没有稳定的出站 IP 地址,无法用于授权网络。

Cloud Run 和 Cloud Functions v2

  • 对于专用 IP,直接连接和语言连接器或身份验证代理都必须使用直接 VPC 出站流量。
  • 对于公共 IP,您必须使用语言连接器Auth 代理

App Engine 标准环境和 App Engine 柔性环境

  • 使用无服务器 VPC 访问通道连接器进行专用 IP 连接,无论您使用的是语言连接器还是 Auth 代理。
  • 对于公共 IP,您必须使用语言连接器或 Auth 代理。

GKE 和 Compute Engine

  • 您可以使用直接连接、语言连接器或 Auth Proxy 连接到 AlloyDB。

本地

  • 您可以使用直接连接、语言连接器或 Auth Proxy 连接到 AlloyDB。语言连接器和 Auth 代理不会创建网络路径。确保工作负载与 AlloyDB 实例之间存在网络路径。

评估您的安全连接需求

AlloyDB 的语言连接器或 Auth Proxy 提供增强的安全功能,例如 IAM 集成mTLS,但这些功能需要额外的设置。直接连接虽然默认情况下会加密,但不支持客户端证书或更高级别的 SSL 模式(verify-caverify-full)。我们建议您将语言连接器或 Auth 代理与公共 IP 搭配使用,并且仅在语言连接器或 Auth 代理不可行时才使用专用 IP 进行直接连接。

加密连接 IAM 身份验证 IAM 授权 mTLS
直接连接
语言连接器或 Auth 代理

安全连接的最佳实践

  • 创建集群时,您必须指定专用 IP 接口,以便创建集群。如果您想使用公共 IP,建议您选择 Private Service Connect 作为专用 IP 接口。
  • 使用语言连接器或身份验证代理可实现 IAM 授权和身份验证以及 mTLS 等安全功能,即使这些功能需要进行一些设置。例如,如果您想将 Auth 代理作为边车运行,或者想使用语言连接器,则此方法非常适合。如果您使用语言连接器或 Auth 代理,数据库连接的延迟时间可能会略有增加。
  • 使用直接连接可获得最佳性能,并且在无法使用语言连接器或 Auth Proxy 时,也应使用直接连接。直接连接默认情况下会进行加密 (sslmode=require),但不支持客户端证书或更高级别的 SSL 模式。仅在无法使用语言连接器或 Auth 代理时使用直接连接。

评估网络拓扑

对于网络拓扑,我们建议您使用 AlloyDB 专用服务访问通道连接。使用 Private Service Connect 可避免多个 VPC 之间的传递性对等互连问题。公共 IP 适用于来自非Google Cloud SaaS 产品的连接,尤其是在专用 IP 不切实际的情况下。

多 VPC 连接 非 Google SaaS 客户端 支持本地连接 说明
专用服务访问通道 默认情况下,不支持传递性 VPC 连接。您可以手动运行 socks5 代理来实现跨 VPC 连接,但这种方法很复杂。
Private Service Connect 如果您想从多个 VPC 连接到 AlloyDB,此模式可提供最简单的配置。
公共 IP 为了避免必须为授权网络确定来源工作负载的 CIDR 范围,最好将公共 IP 与语言连接器身份验证代理搭配使用。

根据网络拓扑选择连接方式的最佳实践

  • 默认使用专用服务访问通道
  • 处理多个 VPC 时,请使用 Private Service Connect 来规避传递性对等互连问题。
  • 对于非Google Cloud SaaS 产品,在与未托管在 Google Cloud上的软件即服务 (SaaS) 产品集成时,请选择公共网络拓扑,尤其是在专用 IP 连接不可行的情况下。专用 IP 默认处于启用状态,因此在这些场景中,您必须明确配置公共 IP。
  • 如果可能,请在使用公共 IP 时使用语言连接器或 Auth Proxy,以实现安全连接,而无需配置授权网络。

后续步骤