你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

已启用 Azure Arc 的 SQL 托管实例的网络连接

已启用 Azure Arc 的数据服务支持两种不同的连接模式。 直接连接和间接连接模式使用 Azure Arc 控制平面部署一个在已启用 Azure Arc 的 Kubernetes 群集上运行的已启用 Azure Arc 的 SQL 托管实例。

已启用 Arc 的数据服务组件为:

  • Azure Arc 数据控制器
  • Azure Arc Active Directory 连接器
  • 已启用 Azure Arc 的 SQL 托管实例

这些组件与在本地和其他云环境中运行的 Azure Arc 终结点、Active Directory 域控制器和域名系统 (DNS) 服务器通信。

本文介绍有关从本地或其他云基础结构连接到 Azure 控制平面的网络体系结构、设计注意事项和设计建议。 你将了解如何管理和操作已启用 Arc 的数据服务,以及在本地和其他云环境中已启用 Arc 的 Kubernetes 群集上运行的已启用 Arc 的 SQL 托管实例。

体系结构

下图显示了支持直接连接和间接连接网络模式的已启用 Arc 的数据服务网络体系结构。

显示已启用 Azure Arc 的数据服务网络体系结构的示意图。

以下方案示意图显示了安全访问已启用 Arc 的 SQL 托管实例的各种使用者服务的示例。

显示已启用 Azure Arc 的数据服务安全访问网络体系结构的示意图。

设计注意事项

  • 查看 Azure 登陆区域的网络拓扑和连接设计领域,使已启用 Arc 的数据服务网络连接与组织采用的登陆区域设计相一致。

  • 查看已启用 Azure Arc 的 Kubernetes 的网络连接来了解网络体系结构和建议,以便做出有关在已启用 Arc 的 Kubernetes 群集上部署和操作已启用 Arc 的数据服务的正确设计决策。 已启用 Arc 的数据服务使用已启用 Azure Arc 的 Kubernetes 网络连接进行服务部署和操作。

  • 查看在不同连接模式下可用的已启用 Azure Arc 的数据服务功能和已启用 Arc 的数据服务的网络要求。 确定直接连接模式或间接连接模式是否最符合本地网络或其他云提供商的组织网络安全策略。

  • 直接连接模式需要直接连接到 Azure,并通过这种连接的性质提供其他优势。 根据组织的安全性和合规性要求,考虑启用这种直接连接所带来的弊端。

  • 根据已启用 Arc 的 Kubernetes 群集的运行位置,考虑使用 Kubernetes LoadBalancerNodePort 类型。 这些服务公开数据控制器和 SQL 托管实例等已启用 Arc 的数据服务。 负载均衡器在多个实例中保留相同的端口号,而节点端口要求每个已启用 Arc 的 SQL 托管实例使用不同的端口号。

  • 对于已启用 Arc 的 SQL 托管实例服务,考虑在本地环境中部署软件负载均衡器类型(例如 MetalLB),并在基于云的环境中部署内部负载均衡器。 负载均衡器提供一致的 IP 地址和 SQL 服务器端口(例如 1433)或自定义端口,并对 Kubernetes 群集中的节点进行负载均衡。 节点 IP 在自动缩放群集中会更改。 当 pod 从一个 Kubernetes 工作器节点移动到另一个节点时,这些 IP 不能提供高可用性。 例如,在故障转移、升级和维护 Kubernetes 群集、数据控制器和已启用 Arc 的 SQL 托管实例期间就是如此。

  • 考虑对 Active Directory 域服务使用传输层安全性 (TLS) 端口(例如 636 和 3269),而不是非 TLS 端口 389 和 3268。 在已启用 Azure Arc 的 SQL 托管实例中使用 AD 身份验证时,TLS 端口可确保连接安全。

  • 使用 Azure 密钥保管库保护已启用 Arc 的 SQL 托管实例的、用于 AD 身份验证的 Kubernetes 机密时,请考虑使用 Azure 密钥保管库专用终结点来确保连接的私密性。 请参阅 Azure 密钥保管库机密提供程序扩展,了解如何将机密提取到已启用 Azure Arc 的 Kubernetes 群集,以及有关将 Azure 密钥保管库与已启用 Arc 的 Kubernetes 群集配合使用的更多详细信息。

  • 在使用 Azure 存储帐户存档 Blob 长期保留已启用 Arc 的 SQL 托管实例数据库备份文件时,评估是要使用公共终结点还是专用终结点。

设计建议

  • 查看已启用 Azure Arc 的 Kubernetes 网络设计建议,因为已启用 Arc 的 SQL 托管实例部署在现有的已启用 Arc 的 Kubernetes 群集上。

  • 使用已启用 Arc 的数据服务和已启用 Arc 的 SQL 托管实例的直接连接模式部署而不是间接连接模式部署,以获取直接连接模式部署的功能优势

  • 为数据控制器、仪表板和已启用 Arc 的 SQL 托管实例等已启用 Arc 的数据服务选择 Kubernetes LoadBalancer 服务类型,而不是 NodePort 服务类型。 在升级和维护 Kubernetes 群集期间发生 Kubernetes 节点故障、节点重启和节点删除时,LoadBalancer 类型可提供复原能力。

  • 将公有云基础结构用于已启用 Arc 的数据服务部署时,使用内部负载均衡器而不是外部负载均衡器。 内部负载均衡器从虚拟网络分配专用 IP 地址,并使发往内部网络的数据库流量保持私密性。

  • 对于本地部署,使用 MetalLB 等容器化负载均衡器来支持负载均衡器服务类型。 容器化负载均衡器使用标准 SQL 端口 1433 来简化防火墙规则。 与使用 NodePort 服务类型的随机端口相比,此端口更容易记住。 请务必分配子网 CIDR 大小,以支持部署在已启用 Azure Arc 的 Kubernetes 群集上的已启用 Arc 的 SQL 托管实例数量。

  • 在系统管理或客户管理的密钥表模式下为已启用 Arc 的 SQL 托管实例使用 AD 身份验证时,请务必为已启用 Arc 的 SQL 托管实例终结点自动完成 DNS 注册。 自动化可帮助你使用本地或其他云 DNS 服务器发现服务。 它还可以消除操作开销,并在 IP 地址发生更改或删除了服务实例时自动更新 IP 地址。

  • 使用防火墙规则限制对已启用 Arc 的 SQL 托管实例、数据控制器和仪表板终结点的网络访问,以防止从不受信任的源进行访问。 防火墙规则可以缩小已启用 Arc 的 SQL 托管实例的攻击面并防止数据外泄。

  • 将 Azure 专用终结点用于 Microsoft 工件注册表(也称为 Microsoft 容器注册表或 MCR)、Azure 密钥保管库、Azure Log Analytics 和存储帐户时,请将本地 DNS 服务器配置为向 Azure 中的 DNS 转发器转发 DNS 查询。 通过这种方法,可以使用 DNS 名称自动发现这些专用终结点,并且无需在本地 DNS 服务器中使用主机条目或 DNS 条目注册。

  • 已启用 Arc 的 SQL 托管实例的 AD 身份验证需要连接到 Active Directory 域服务。 设置与主站点和灾难恢复站点中的域控制器的连接以实现高可用性。 由于许多企业跨地理区域部署站点恢复林,因此请使用最近的站点来降低连接到域控制器时存在的网络延迟。 查看已启用 Arc 的 SQL 托管实例业务连续性和灾难恢复以获取更多指导。

后续步骤

有关混合云和多云旅程的详细信息,请参阅以下文章: