连接概览

本页面总结了如何连接到 AlloyDB for PostgreSQL 提供的数据库:

  • 网络:AlloyDB 实例使用 Virtual Private Cloud (VPC) 上的公共 IP 或专用 IP。您可以使用多种方法,从在 VPC 之外运行的应用建立安全连接。

  • 授权:借助 AlloyDB Auth Proxy,您可以使用 Identity and Access Management (IAM) 来控制哪些人有权访问您的数据。您可以使用 VPC 的防火墙进一步调整对 AlloyDB 资源的访问权限。

  • 身份验证:使用标准 PostgreSQL 用户身份验证方法登录实例。AlloyDB 还支持使用标准 PostgreSQL 用户角色进行基于 IAM 的身份验证。

网络

即使 AlloyDB 实例包含多个节点,您的应用也通过单个静态 IP 地址连接到实例。此地址可以是您在首次设置实例集群时指定的 VPC 的专用地址,也可以是允许从 VPC 外部直接连接的公共 IP 地址。

专用 IP

使用专用 IP 配置 AlloyDB 时,您的实例会在 VPC 中获得一个专用 IP 地址。

专用 IP 地址会以两种方式影响与应用的连接:

  • 在项目 VPC 中的其他位置运行的应用可以连接到该实例(或代表该实例的代理),而无需执行额外的步骤或使用额外的资源。

    例如,将 psql 客户端连接到实例介绍了如何在 VPC 内的 Compute Engine 虚拟机上运行 psql 命令行程序,以连接到 AlloyDB 实例。

  • 在 VPC 外部运行的应用需要通过中介服务连接到 AlloyDB 实例。解决方案包括在实例 VPC 内的虚拟机上运行代理服务,或使用其他Google Cloud 产品在应用与 VPC 之间建立永久连接。

    如需了解详情,请参阅从 VPC 外部连接到集群

通过专用 IP 地址建立的连接通常可缩短延迟时间并限制攻击途径,因为它们不需要遍历互联网。

如需详细了解 AlloyDB 中的专用 IP,请参阅专用 IP 概览

公共 IP

使用公共 IP 配置 AlloyDB 时,您的实例会获得一个可供公众访问的公共 IP 地址,以便接收传入连接。您还可以使用授权的外部网络以 CIDR 格式指定可以访问您的实例的 IP 地址范围。

我们建议将公共 IP 与 AlloyDB 语言连接器搭配使用,以确保客户端与实例之间的连接安全。

如需详细了解如何向实例添加公共 IP 地址和授权外部网络,请参阅使用公共 IP 进行连接

AlloyDB 还支持与实例建立出站连接。您可以启用出站公共 IP,以便使用 Database Migration Service 或自行管理的 pglogical 设置直接将数据库从外部来源迁移到 AlloyDB。AlloyDB 还支持使用外部数据封装容器(例如 postgres_fdworacle_fdw)连接到外部数据源。

如需详细了解如何启用出站公共 IP,请参阅向实例添加出站连接

授权

您可以使用 AlloyDB 语言连接器、AlloyDB Auth Proxy 或 VPC 防火墙规则来控制对 AlloyDB 集群的访问权限。

AlloyDB 语言连接器

AlloyDB 语言连接器是在连接到 AlloyDB 集群时使用 TLS 1.3 和 IAM 授权提供自动 mTLS 的客户端库。

您可以直接在相应的编程语言中使用这些库。它们提供与 AlloyDB 代理相同的功能,而无需外部进程。这提高了安全性并减少了连接到 AlloyDB 的配置要求。

如需了解详情,请参阅 AlloyDB 语言连接器概览

使用 IAM 和 AlloyDB Auth 代理控制访问权限

虽然您可以通过实例的 IP 地址直接连接到实例,但我们建议在生产环境中使用 AlloyDB Auth 代理。它可在代理与集群之间提供基于 IAM 的访问权限控制和端到端加密。

如需了解详情,请参阅 AlloyDB Auth 代理简介

使用防火墙规则限制 VPC 访问权限

与任何基于云的项目一样,您应调整 VPC 的防火墙规则,以将网络访问权限限制为仅限应用连接的 IP 网段或子网。对于外部应用,这一点尤为重要,如从集群的 VPC 外部连接到集群中所详述。

如需详细了解如何配置 VPC 的防火墙,请参阅 VPC 防火墙规则

身份验证

AlloyDB 支持两种数据库用户,每种用户都有自己的数据库身份验证方式:

  • 标准 PostgreSQL 用户角色使用用户名和密码进行身份验证。您可以使用常规的 PostgreSQL 用户管理方法来管理这些账号。如需了解详情,请参阅管理 AlloyDB 用户角色

  • IAM 用户账号和服务账号使用 OAuth 2.0 令牌以数据库用户身份进行身份验证。您可以使用Google Cloud IAM 系统管理这些账号。如需了解详情,请参阅管理 IAM 身份验证

使用 AlloyDB 实例进行身份验证后,应用可以将该实例视为普通 PostgreSQL 服务器。建立到实例的网络和授权路线后,您可以使用标准 PostgreSQL 技术登录实例并访问数据。无论是使用 psql 等工具手动登录,还是使用 PostgreSQL 代码库以编程方式连接到数据库,都适用这一点。

通常,首次对新的 AlloyDB 集群进行身份验证时,需要使用您在创建集群时指定的密码,以 postgres 用户身份登录其主实例。然后,您应为应用创建无管理员权限的数据库用户。

后续步骤