本页面介绍 AlloyDB for PostgreSQL 如何使用专用服务访问通道在 AlloyDB 实例与它们正常运行所需的各种内部资源之间建立网络连接。
如需大致了解 AlloyDB 中的网络连接实现,请参阅连接概览。
集群与内部资源之间的连接
通过专用服务访问通道,AlloyDB 集群可以与受支持的内部资源进行通信。
实例与内部资源
您在Google Cloud 项目中创建的 AlloyDB 集群和实例依赖于诸多内部的低层级 Google Cloud资源。这些资源包括充当 AlloyDB 节点和负载均衡器的虚拟机 (VM) 实例,或用于存储数据的存储卷。为集群提供支持的所有资源都在 Google 内部且由 Google 管理的Google Cloud 项目中运行。
一般来说,您不会直接连接到这些内部资源。您可以通过 Google Cloud 控制台或 Google Cloud CLI 管理集群和实例。您的应用通过 AlloyDB 实例的专用 IP 地址连接到这些实例,以便查询和修改数据。AlloyDB 使用内部 API 根据需要将管理请求或数据查询传递给集群的资源。
AlloyDB 实例充当这一复杂部件集合中的逻辑抽象角色。由于 AlloyDB 可为您提供专用静态 IP 地址和一致的 PostgreSQL 兼容数据库接口,因此可以自由更新活跃实例的内部网络路由或重定位其内部资源。这样一来,您便可以获得经过优化的吞吐量和高可用性,而不会出现任何停机或中断情况。
集群如何使用专用服务访问通道
您项目中的 AlloyDB 集群和实例通过专用服务访问通道与其内部资源进行通信。这会在您自己项目中的虚拟私有云 (VPC) 网络与托管内部资源的 Google 管理的项目所使用的单独 VPC 之间建立永久的对等互连连接。通过此连接,您项目中的 AlloyDB 集群和实例便可以使用专用 IP 地址连接到其内部资源,就像它们位于您自己项目的 VPC 中一样。
如要通过 Google Cloud VPC 网络配置专用服务访问通道,您需要预留一个或多个连续的专用 IP 地址块。在Google Cloud 建立项目 VPC 与内部项目 VPC 之间的对等互连连接后,AlloyDB 会将预留 IP 地址块中的地址应用于实例所需的低层级资源。这样,集群的所有工作部件之间便可实现专用网络连接。
在创建 AlloyDB 集群时,您需要在项目中指定一个已设置专用服务访问通道的 VPC 网络。您的项目可能已有符合条件的 VPC 网络,尤其是如果您的项目已经使用过 AlloyDB 或其他需要专用服务访问通道的 Google Cloud 产品。如果您的项目还没有设置了专用服务访问通道的 VPC 网络,则必须先配置该网络,之后再创建 AlloyDB 集群。
在 AlloyDB 创建集群后,您将无法再更改集群的专用服务访问通道配置。
支持的专用服务访问通道配置
AlloyDB 可以使用与 AlloyDB 位于同一项目中的 VPC 网络中的专用服务访问通道配置,也可以使用位于其他项目中的相应配置。
与集群位于同一项目中的 VPC 网络
至于应如何使用与 AlloyDB 集群位于同一 Google Cloud 项目中的 VPC 网络来配置 AlloyDB 连接,取决于相应 VPC 网络中是否已存在专用服务访问通道配置。
如果该 VPC 网络尚未配置专用服务访问通道,请创建一个专用服务访问通道配置。
如果该 VPC 网络已有现有的专用服务访问通道配置,请确保该配置具有足够的 IP 地址空间供 AlloyDB 使用,并在必要时增加地址空间。
共享 VPC 网络
如需使用位于与 AlloyDB 集群所在项目不同的 Google Cloud 项目中的 VPC 网络配置 AlloyDB 连接,请完成以下步骤:
为 VPC 网络所在的项目配置共享 VPC,其中 VPC 网络所在的项目为宿主项目,AlloyDB 所在的项目为服务项目。
确保 VPC 网络的专用服务访问通道配置具有足够的 IP 地址空间供 AlloyDB 使用,并在必要时增加地址空间。
将可以创建 AlloyDB 资源的用户配置为服务项目管理员,并授予其对专用服务访问通道配置中相应已分配 IP 地址范围的访问权限。
使用 Google Cloud CLI 创建具有共享 VPC 网络的 AlloyDB 实例时,请确保使用 VPC 网络的完全限定路径,例如
projects/cymbal-project/global/networks/shared-vpc-network
。
如需详细了解共享 VPC,请参阅共享 VPC 概览和预配共享 VPC。
IP 地址范围大小方面的注意事项
请务必选择具有足够容量的专用服务访问通道地址范围,以满足 AlloyDB 以及任何其他需要使用同一地址池中 IP 地址的Google Cloud 服务的需求。您可以随时调整此地址池的大小。
AlloyDB 会在您部署集群的每个区域中使用大小为 /24
的子网。大小下限为一个 /24 地址块(256 个地址),但建议大小为一个 /16 地址块(65,536 个地址)。这样一来,您就可以在多个区域中创建集群和实例,同时仍有充足的 IP 地址可供其他 Google Cloud 服务使用。
在配置了专用服务访问通道的集群中预配新实例时,AlloyDB 会在新建的子网或之前由 AlloyDB 创建的现有区域子网中部署资源。如果现有子网已满,AlloyDB 会在同一区域创建一个新子网,前提是先前分配的 IP 地址范围足够大,可以创建大小为 /24
的额外子网。如果 AlloyDB 可以使用的现有 IP 地址空间不够用来创建新子网,则您尝试创建集群或实例的操作都会失败。您必须先增加 IP 地址空间来解决地址短缺问题,然后再重新尝试创建集群或实例。如需详细了解如何增加 IP 地址空间,请参阅增加项目中可供 AlloyDB 使用的 IP 地址空间。
以非公开方式使用的公共 IP 范围
使用专用服务访问通道时,AlloyDB 不支持使用以非公开方式使用的公共 IP 范围 (PUPI)。如要从使用以非公开方式使用的公共 IP 范围 (PUPI) 的工作负载连接到 AlloyDB,您必须使用 Private Service Connect。
限制
- 专用服务访问通道连接仅限于 RFC 1918 IP 范围。