本页面介绍了如何连接到 AlloyDB for PostgreSQL 提供的数据库。如需了解详情,请参阅选择连接到 AlloyDB 的方式。
网络: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_fdw
或 oracle_fdw
)连接到外部数据源。
如需详细了解如何启用出站公共 IP,请参阅向实例添加出站连接。
授权
您可以使用 AlloyDB 语言连接器、AlloyDB Auth Proxy 或 VPC 防火墙规则来控制对 AlloyDB 集群的访问权限。
AlloyDB 语言连接器
AlloyDB 语言连接器是一些客户端库,可在连接到 AlloyDB 集群时提供使用 TLS 1.3 和 IAM 授权的自动 mTLS。
您可以直接在各自的编程语言中使用这些库。它们提供与 AlloyDB 代理相同的功能,而无需外部进程。这提高了安全性并减少了连接到 AlloyDB 的配置要求。
如需了解详情,请参阅 AlloyDB 语言连接器概览。
使用 IAM 和 AlloyDB Auth Proxy 控制访问权限
虽然您可以通过实例的 IP 地址直接连接到该实例,但我们建议您在生产环境中使用 AlloyDB Auth Proxy。它提供基于 IAM 的访问权限控制,并在代理与集群之间实现端到端加密。
如需了解详情,请参阅 AlloyDB Auth Proxy 简介。
使用防火墙规则限制 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
用户身份登录其主实例。然后,您应为应用创建没有管理员权限的数据库用户。
后续步骤
- 选择连接到 AlloyDB 的方式。
了解如何使用
psql
命令行 shell 连接到 AlloyDB 实例。这包括有关在 VPC 中设置虚拟机并在其上安装psql
的说明。了解如何创建数据库。
了解如何安装和使用 AlloyDB Auth Proxy 以与 AlloyDB 实例建立安全连接。
了解如何使用 AlloyDB 语言连接器进行连接。