Azure Cosmos DB for PostgreSQL 中的专用访问

适用对象:PostgreSQL 的 Azure Cosmos DB (由 PostgreSQL 的 Citus 数据库扩展提供支持)

Azure Cosmos DB for PostgreSQL 支持三种网络选项:

  • 无访问权限
    • 这是新创建的群集的默认选项(如果未启用公共或专用访问权限)。 任何计算机(无论位于 Azure 内部或外部)都无法连接到数据库节点。
  • 公共访问权限
    • 将公共 IP 地址分配给协调器节点。
    • 访问协调器节点受防火墙的保护。
    • 可以选择启用访问所有工作器节点。 在这种情况下,会将公共 IP 地址分配给工作器节点,并使用同一防火墙保护该节点。
  • 专用访问权限
    • 仅将专用 IP 地址分配给群集的节点。
    • 每个节点都需要一个专用终结点,以允许所选虚拟网络中的主机访问节点。
    • Azure 虚拟网络的安全功能(如网络安全组)可用于访问控制。

在创建群集时,可以启用公共或专用访问,或选择默认的“无访问权限”。 创建群集后,可以选择在公共或专用访问之间进行切换,或将二者同时激活。

此页介绍专用访问选项。 有关公共访问,请参阅此处

定义

虚拟网络。 Azure 虚拟网络 (VNet) 是适用于 Azure 中专用网络的基本构建块。 虚拟网络允许多种类型的 Azure 资源(例如数据库服务器和 Azure 虚拟机 (VM))以安全方式相互通信。 虚拟网络支持本地连接,允许多个虚拟网络中的主机通过对等互连相互交互,并提供缩放、安全选项和隔离等附加优势。 群集的每个专用终结点都需要具有关联的虚拟网络。

子网。 子网将虚拟网络划分为一个或多个子网。 每个子网都获取一部分地址空间,从而提高地址分配效率。 可以使用网络安全组保护子网中的资源。 有关详细信息,请参阅网络安全组。

为群集的专用终结点选择子网时,请确保该子网中有足够的专用 IP 地址可用于满足当前和未来的需求。

专用终结点。 专用终结点是使用虚拟网络中的专用 IP 地址的网络接口。 此网络接口以私密且安全的方式连接到由 Azure 专用链接提供支持的服务。 专用终结点将服务引入虚拟网络中。

为 Azure Cosmos DB for PostgreSQL 启用专用访问将为群集协调器节点创建专用终结点。 该终结点允许所选虚拟网络中的主机访问协调器。 还可选择为辅助角色节点创建专用终结点。

专用 DNS 区域。 Azure 专用 DNS 区域解析链接的虚拟网络中的主机名,以及任何对等互连的虚拟网络中的主机名。 节点的域记录是在为其群集选择的专用 DNS 区域中创建的。 请务必为节点的 PostgreSQL 连接字符串使用完全限定的域名 (FQDN)。

可以为群集使用专用终结点,以便虚拟网络 (VNet) 上的主机能够通过专用链接安全地访问数据。

群集的专用终结点使用虚拟网络地址空间中的 IP 地址。 虚拟网络上的主机与节点之间的流量通过 Microsoft 主干网络上的专用链接,因此不会向公共 Internet 泄露。

虚拟网络中的应用程序可使用通过其他方式连接时所用的相同连接字符串和授权机制,通过专用终结点无缝地连接到节点。

可在群集创建过程中选择专用访问,也可随时从公共访问切换到专用访问。

使用专用 DNS 区域

将自动为每个专用终结点预配新的专用 DNS 区域,除非选择 Azure Cosmos DB for PostgreSQL 之前创建的专用 DNS 区域之一。 有关详细信息,请参阅专用 DNS 区域概述

Azure Cosmos DB for PostgreSQL 服务在所选专用 DNS 区域中为每个具有专用终结点的节点创建 DNS 记录,例如 c-mygroup01.12345678901234.privatelink.postgres.cosmos.azure.cn。 通过专用终结点从 Azure VM 连接到节点时,Azure DNS 会将节点的 FQDN 解析为专用 IP 地址。

专用 DNS 区域设置和虚拟网络对等互连彼此独立。 如果要从在另一个虚拟网络(位于相同或不同的区域)中预配的客户端连接到群集中的节点,必须将专用 DNS 区域链接到虚拟网络。 有关详细信息,请参阅链接虚拟网络

注意

该服务还始终为每个节点创建公共 CNAME 记录,例如 c-mygroup01.12345678901234.postgres.cosmos.chinacloudapi.cn。 但是,只有当数据库管理员启用对群集的公共访问时,公共 Internet 上所选的计算机才能连接到公共主机名。

如果使用自定义 DNS 服务器,则必须使用 DNS 转发器来解析节点的 FQDN。 转发器 IP 地址应为 168.63.129.16。 自定义 DNS 服务器应位于虚拟网络内,或可通过虚拟网络的 DNS 服务器设置访问。 有关详细信息,请参阅使用自己的 DNS 服务器的名称解析

建议

为群集启用专用访问时,请考虑:

  • 子网大小:为群集选择子网大小时,请考虑当前需求(例如适用于协调器的 IP 地址或该服务器组中的所有节点)和未来需求(例如该群集的增长)。

    请确保有足够的专用 IP 地址用于当前和未来需求。 请记住,Azure 会在每个子网中保留 5 个 IP 地址。

    请参阅此 FAQ 中的更多详细信息。

  • 专用 DNS 区域:具有专用 IP 地址的 DNS 记录将由 Azure Cosmos DB for PostgreSQL 服务维护。 请确保不会删除用于群集的专用 DNS 区域。

限制和局限性

请参阅 Azure Cosmos DB for PostgreSQL 限制和局限性页。

后续步骤