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

在 Azure 中运行具有高可用性的 SharePoint Server 2016 场

Azure ExpressRoute
Azure 托管磁盘
Azure 虚拟机
Azure 虚拟网络
Azure VPN 网关

此参考体系结构演示有关使用 MinRole 拓扑和 SQL Server Always On 可用性组在 Azure 中部署具有高可用性的 SharePoint Server 2016 场的成熟做法。 无需提供面向 Internet 的终结点,即可在安全的虚拟网络中部署 SharePoint 场。

体系结构

Architecture diagram that shows a highly available SharePoint Server 2016 farm in Azure.

下载此体系结构的 Visio 文件

此体系结构是在[运行用于 N 层应用程序的][windows-n-tier] Windows VM 中所示的体系结构的基础上构建的。 它在 Azure 虚拟网络中部署一个具有高可用性的 SharePoint Server 2016 场。 此体系结构适合用于测试或生产环境、包含 Microsoft 365 的 SharePoint 混合基础结构,或用作灾难恢复方案的基础。

组件

  • 资源组是包含相关 Azure 资源的容器。 一个资源组用于 SharePoint 服务器,另一个资源组用于独立于虚拟机 (VM) 的基础结构组件,如虚拟网络和负载均衡器。

  • Azure 虚拟网络是 Azure 中专用网络的基本构建块。 VM 部署在具有唯一 Intranet 地址空间的虚拟网络中。 虚拟网络进一步细分为子网。

  • VM 是 Azure 按需提供的可缩放计算资源。 VM 会部署到虚拟网络中,并将专用静态 IP 地址分配给所有 VM。 建议对运行 SQL Server 和 SharePoint Server 2016 的 VM 使用静态 IP 地址,以免重启后 IP 地址缓存出现问题以及地址发生更改。

  • 可用性集是 VM 的逻辑分组。 将每个 SharePoint 角色的 VM 放入单独的可用性集中,并为每个角色至少预配两个 VM。 此配置使 VM 可以满足更高的服务级别协议 (SLA)。

  • Azure 负载均衡器将 SharePoint 请求流量从本地网络分发到 SharePoint 场的前端 Web 服务器。 本解决方案使用内部负载均衡器。 可以使用 HTTP 流量的替代项,Azure 应用程序网关

  • 网络安全组在 Azure 虚拟网络中筛选流量。 对于包含 VM 的每个子网,均会创建一个网络安全组。 使用网络安全组来限制虚拟网络内的网络流量,以隔离子网。

  • Azure ExpressRoute 或站点到站点 VPN(例如 Azure VPN 网关)提供本地网络与 Azure 虚拟网络之间的连接。 有关详细信息,请参阅将本地网络连接到 Azure

  • Windows Server Active Directory (AD) 域控制器对域中的用户进行身份验证。 此参考体系结构中的域控制器在 Azure 虚拟网络中运行,并与本地 Windows Server AD 林建立了信任关系。 针对 SharePoint 场资源发出的客户端 Web 请求在虚拟网络中进行身份验证,而不是跨网关连接将该身份验证流量发送到本地网络。 在 DNS 中创建 Intranet A 或 CNAME 记录,使 Intranet 用户能够将 SharePoint 场的名称解析成内部负载均衡器的专用 IP 地址。

    SharePoint Server 2016 也支持使用 Microsoft Entra 域服务。 Microsoft Entra 域服务提供托管域服务,因此不需在 Azure 中部署和管理域控制器。

  • SQL Server Always On 可用性组提供高可用性和灾难恢复解决方案。 建议使用它们来实现 SQL Server 数据库的高可用性。 两个 VM 用于 SQL Server。 一个虚拟机包含主数据库副本,另一个虚拟机包含次要副本。

  • 多数节点 VM 允许故障转移群集建立仲裁。 有关详细信息,请参阅了解故障转移群集中的仲裁配置

  • SharePoint Server 提供一个共享访问的平台。 SharePoint 服务器执行 Web 前端、缓存、应用程序和搜索角色。

  • 跳转盒也称为堡垒主机,是网络上的安全 VM,供管理员用于连接到其他 VM。 跳转盒中的某个网络安全组只允许来自安全列表中的公共 IP 地址的远程流量。 该网络安全组应允许远程桌面 (RDP) 流量。

建议

你的要求可能不同于此处描述的体系结构。 请使用以下建议作为入手点。

有关资源组的建议

我们建议根据服务器角色区分资源组,并针对属于全局资源的基础结构组件单独创建一个资源组。 在此体系结构中,SharePoint 资源组来自一个组,SQL Server 和其他实用工具资产来自另一个组。

有关虚拟网络和子网的建议

对每个 SharePoint 角色使用一个子网,此外,对网关和跳转盒各使用一个子网。

网关子网必须命名为 GatewaySubnet。 从虚拟网络地址空间的最后一个部分中分配网关子网地址空间。 有关详细信息,请参阅使用 VPN 网关将本地网络连接到 Azure

VM 建议

此体系结构至少需要 44 个核心:

  • Standard_DS3_v2 上有 8 个 SharePoint 服务器(每个服务器需要 4 个核心)= 32 个核心
  • Standard_DS1_v2 上有 2 个 Active Directory 域控制器(每个域控制器需要 1 个核心)= 2 个核心
  • Standard_DS3_v2 上有 2 个 SQL Server VM = 8 个核心
  • Standard_DS1_v2 上有 1 个多数节点 = 1 个核心
  • Standard_DS1_v2 上有 1 个管理服务器 = 1 个核心

对于除搜索索引器以外的所有 SharePoint 角色,我们都建议使用 Standard_DS3_v2 VM 大小。 搜索索引器应至少使用 Standard_DS13_v2 大小。 有关详细信息,请参阅 SharePoint Server 2016 的硬件和软件要求。 对于 SQL Server VM,建议至少配备 4 个核心和 8 GB RAM。 有关详细信息,请参阅存储和 SQL Server 容量规划与配置 (SharePoint Server)

网络安全组建议

建议为每个包含 VM 的子网创建一个网络安全组,以实现子网隔离。 若要配置子网隔离,请添加网络安全组规则,为每个子网定义允许或拒绝的入站或出站流量。 有关详细信息,请参阅使用网络安全组筛选网络流量

请勿将网络安全组分配到网关子网,否则网关将停止运行。

有关存储的建议

场中 VM 的存储配置应该符合对本地部署使用的相应最佳做法。 SharePoint 服务器应该单独提供一个磁盘用于日志。 托管搜索索引角色的 SharePoint 服务器需要提供额外的磁盘空间用于存储搜索索引。 对于 SQL Server,标准做法是将数据和日志区分开来。 为数据库备份存储添加更多磁盘,并为 tempdb 单独使用一个磁盘。

为了使可靠性达到最佳,我们建议使用 Azure 托管磁盘。 托管磁盘可确保隔离可用性集中 VM 的磁盘,以避免单一故障点。

为所有 SharePoint 和 SQL Server VM 使用高级托管磁盘。 可为多数节点服务器、域控制器和管理服务器使用标准托管磁盘。

有关 SharePoint Server 的建议

在配置 SharePoint 场之前,请确保为每个服务创建了一个 Windows Server Active Directory 服务帐户。 对于此体系结构,至少需要提供以下域级帐户才能隔离每个角色的特权:

  • SQL Server 服务帐户
  • 安装用户帐户
  • 服务器场帐户
  • 搜索服务帐户
  • 内容访问帐户
  • Web 应用池帐户
  • 服务应用池帐户
  • 缓存超级用户帐户
  • 缓存超级读取者帐户

为了满足每秒最低 200 MB 磁盘吞吐量的支持要求,请确保规划好搜索体系结构。 请参阅在 SharePoint Server 2013 中规划企业搜索体系结构。 另请遵照有关在 SharePoint Server 2016 中爬网的最佳做法中的准则。

此外,请将搜索组件数据存储在高性能的独立存储卷或分区中。 为了减少负载并提高吞吐量,请配置此体系结构中所需的对象缓存用户帐户。 将 Windows Server 操作系统文件、SharePoint Server 2016 程序文件和诊断日志拆分到具有普通性能的三个独立存储卷或分区中。

有关这些建议的详细信息,请参阅 SharePoint Server 2016 中的初始部署管理帐户和服务帐户

混合工作负荷

此参考体系结构部署一个可用作 SharePoint 混合环境的 SharePoint Server 2016 场,也就是说,要将 SharePoint Server 2016 扩展成 SharePoint Online。 如果已安装 Office Online Server,请参阅 Azure 中的 Office Web 应用和 Office Online Server 支持能力

此解决方案中的默认服务应用程序旨在支持混合工作负载。 可以将所有 SharePoint Server 2016 和 Microsoft 365 混合工作负荷都部署到此服务器场而无需对 SharePoint 基础结构进行更改,但有一个例外:云混合搜索服务应用程序不能部署到托管现有搜索拓扑的服务器。 因此,必须将一个或多个基于搜索角色的 VM 添加到该场,以支持此混合方案。

SQL Server Always On 可用性组

这种体系结构使用 SQL Server VM,因为 SharePoint Server 2016 无法使用 Azure SQL 数据库。 为了支持 SQL Server 中的高可用性,建议使用 Always On 可用性组。Always On 可用性组指定一组可共同故障转移的数据库,使这些数据库具有高可用性和可恢复性。 有关详细信息,请参阅创建可用性组和添加 SharePoint 数据库

我们还建议将侦听器 IP 地址(SQL Server VM 内部负载均衡器的专用 IP 地址)添加到群集。

有关建议的 VM 大小,以及有关 Azure 中运行的 SQL Server 的其他性能建议,请参阅有关 Azure 虚拟机中 SQL Server 的性能最佳做法。 另请遵循有关 SharePoint Server 2016 场中 SQL Server 的最佳做法中的建议。

我们建议将多数节点服务器放在复制伙伴的独立计算机上。 通过该服务器,高安全模式会话中的辅助复制伙伴服务器可以判断是否要启动自动故障转移。 与两个伙伴不同,多数节点服务器不会为数据库提供服务,但只是为自动故障转移提供支持。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

可伸缩性

若要纵向扩展现有的服务器,请更改 VM 大小。

使用 SharePoint Server 2016 中的 MinRoles 功能,可以基于服务器的角色横向扩展服务器,以及从角色中删除服务器。 将服务器添加到某个角色时,可以指定任意单个角色或一个组合角色。 但是,如果将服务器添加到搜索角色,则还必须使用 PowerShell 重新配置搜索拓扑。 还可以使用 MinRoles 转换角色。 有关详细信息,请参阅在 SharePoint Server 2016 中管理 MinRole 服务器场

SharePoint Server 2016 不支持使用虚拟机规模集进行自动缩放。

可用性

此参考体系结构支持 Azure 区域中的高可用性,因为在一个可用性集中至少为每个角色部署了两个 VM。

为了防范区域性故障,请在不同的 Azure 区域中单独创建一个灾难恢复场。 恢复时间目标 (RTO) 和恢复点目标 (RPO) 确定了设置要求。 有关详细信息,请参阅选择 SharePoint 2016 的灾难恢复策略。 次要区域应该是与主要区域配对的区域。 如果发生大范围的服务中断,会优先恢复每个配对中的一个区域。 有关详细信息,请参阅业务连续性和灾难恢复 (BCDR):Azure 配对区域

可管理性

若要操作和维护服务器、服务器场和站点,请遵循有关 SharePoint 操作的建议做法。 有关详细信息,请参阅 针对 SharePoint Server 2016 的操作

在 SharePoint 环境中管理 SQL Server 时要考虑的任务可能与通常要对数据库应用程序考虑的任务不同。 最佳做法是使用夜间增量备份,每周完全备份所有的 SQL 数据库。 每隔 15 分钟备份一次事务日志。 另一种做法是针对数据库执行 SQL Server 维护任务,同时禁用内置的 SharePoint 任务。 有关详细信息,请参阅存储和 SQL Server 容量计划与配置

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

用于运行 SharePoint Server 2016 的域级服务帐户需要使用 Windows Server AD 域控制器或 Microsoft Entra 域服务来执行域加入和身份验证过程。 但是,为了扩展已在 Intranet 中部署的 Windows Server AD 标识基础结构,此特定体系结构使用了两个 VM 作为现有本地 Windows Server AD 林的 Windows Server AD 副本域控制器。

此外,做好安全巩固规划始终是明智的做法。 其他建议包括:

  • 向网络安全组添加规则以隔离子网和角色。
  • 不要向 VM 分配公共 IP 地址。
  • 为了检测入侵和分析工作负荷,请考虑在前端 Web 服务器的前面使用网络虚拟设备,而不要使用内部 Azure 负载均衡器。
  • 可以选择使用 IPsec 策略来加密服务器之间的明文流量。 如果同时还在进行子网隔离,请更新网络安全组规则,以允许 IPsec 流量。
  • 为 VM 安装反恶意软件代理。

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

使用 Azure 定价计算器估算成本。 下面是为此体系结构优化成本的一些因素。

Active Directory 域服务

请考虑将 Active Directory 域服务用作由多个工作负荷用来降低成本的共享服务。 有关详细信息,请参阅 Active Directory 域服务定价

VPN 网关

计费模型基于预配和提供网关的时间量。 请参阅 VPN 网关定价

所有入站流量都是免费的。 所有出站流量都是计费的。 Internet 带宽费用适用于 VPN 出站流量。

虚拟网络

虚拟网络是免费的。 允许每个订阅在所有区域中最多创建 50 个虚拟网络。 源于虚拟网络边界内的所有流量都是免费的。 因此,同一虚拟网络中两个 VM 之间的通信是免费的。

此体系结构构建在[运行用于 N 层应用程序][windows-n-tier]的 Windows VM 中部署的体系结构基础之上。

有关详细信息,请参阅 Microsoft Azure 架构良好的框架中的“成本”部分。

DevOps

考虑为生产、开发和测试环境使用单独的资源组。 使用单独的资源组可以更方便地管理部署、删除测试部署,以及分配访问权限。 一般情况下,应将具有相同生命周期的资源放入同一个资源组。 对开发和测试环境使用开发人员层。 为了尽量降低预生产期间的成本,请部署生产环境的副本、运行测试,然后关闭。

使用 Azure 资源管理器模板或 Azure Bicep 模板来定义基础结构。 在这两种情况下,都需要遵循用于部署资源的基础结构即代码 (IaC) 实践。 若要自动化基础结构部署,可使用 Azure DevOps Services 或其他 CI/CD 解决方案。 部署过程也是幂等的,也就是说可以重复生成相同的结果。 Azure PipelinesAzure DevOps Services 的一部分,可运行自动化的生成、测试和部署。

按工作负载条件构造部署模板,确定单个工作单元,并将其包含在各自的模板中。 在这种场景中,标识了至少七个工作负载并将其隔离在各自的模板中:Azure 虚拟网络和 VPN 网关、管理跳转盒、AD 域控制器、SQL Server VM、故障转移群集和可用性组及剩余 VM、Sharepoint 主节点、Sharepoint 缓存和网络安全组规则。 通过工作负荷隔离,可以更轻松地将工作负荷的特定资源关联到某个团队,使该团队能够独立管理这些资源的所有方面。 这种隔离可使 DevOps 执行持续集成和持续交付 (CI/CD)。 此配置还允许对工作负载划分阶段,这意味着需要向各个阶段进行部署,并且需要在每个阶段运行验证,然后才能进入下一阶段。 这样便能以高度受控的方式将更新推送到生产环境,并最大程度地减少意外的部署问题。

请考虑使用 Azure Monitor 来分析和优化基础结构的性能,在不登录到 VM 的情况下监视和诊断网络问题。

有关详细信息,请参阅 Azure 架构良好的框架中的“DevOps”部分。

后续步骤

要详细了解解决方案体系结构的各个组成部分,请参阅以下主题: