本页面总结了如何连接到 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_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
用户身份登录。然后,您应为应用创建无管理员权限的数据库用户。
后续步骤
了解如何使用
psql
命令行 shell 连接到 AlloyDB 实例。其中包括在 VPC 中设置虚拟机并在其中安装psql
的说明。了解如何创建数据库。
了解如何安装和使用 AlloyDB Auth Proxy 以与 AlloyDB 实例建立安全连接。
了解如何使用 AlloyDB 语言连接器进行连接。