在 Azure 中執行高可用性 SharePoint Server 2016 伺服器數位

Azure ExpressRoute
Azure 受控磁碟
Azure 虛擬機器
Azure 虛擬網路
Azure VPN 閘道

此參考架構示範使用 MinRole 拓撲和 SQL Server Always On 可用性群組,在 Azure 上部署高可用性 SharePoint Server 2016 伺服器陣列的實證做法。 SharePoint 伺服器陣列部署在沒有因特網對應端點或存在的安全虛擬網路中。

架構

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

下載此架構的 Visio 檔案

此架構是以 [執行多層式應用程式的 Windows VM][windows-n-tier] 中顯示的架構為基礎。 它會在 Azure 虛擬網路內部署具有高可用性的 SharePoint Server 2016 伺服器陣列。 此架構適用於測試或生產環境、具有 Microsoft 365 的 SharePoint 混合式基礎結構,或作為災害復原案例的基礎。

元件

  • 資源群組 是保存相關 Azure 資源的容器。 一個資源群組用於 SharePoint 伺服器,另一個資源群組則用於與虛擬機(VM)無關的基礎結構元件,例如虛擬網路和負載平衡器。

  • Azure 虛擬網絡 是 Azure 中專用網的基本建置組塊。 VM 會部署在具有唯一內部網路位址空間的虛擬網路中。 虛擬網路會進一步細分為子網。

  • VM 是隨選、可調整的計算資源,可供 Azure 使用。 VM 會部署至虛擬網路,並將私人靜態 IP 位址指派給所有 VM。 針對執行 SQL Server 和 SharePoint Server 2016 的 VM,建議使用靜態 IP 位址,以避免重新啟動後 IP 位址快取和地址變更的問題。

  • 可用性設定組 是 VM 的邏輯群組。 將每個 SharePoint 角色的 VM 放入個別的可用性設定組中,併為每個角色布建至少兩部 VM。 此設定可讓 VM 符合較高的服務等級協定 (SLA) 資格。

  • Azure Load Balancer 會將 SharePoint 要求流量從內部部署網路散發至 SharePoint 伺服器數位的前端網頁伺服器。 此解決方案會使用內部負載平衡器。 您可以使用 HTTP 流量 Azure 應用程式閘道。

  • 網路安全組 會篩選 Azure 虛擬網路中的流量。 針對包含 VM 的每個子網,會建立網路安全組。 使用網路安全組來限制虛擬網路內的網路流量,以隔離子網。

  • Azure ExpressRoute 或站對站 VPN,例如 Azure VPN 閘道 提供內部部署網路與 Azure 虛擬網路之間的連線。 如需詳細資訊,請參閱將內部部署網路 連線 至 Azure

  • Windows Server Active Directory (AD) 域控制器 會驗證網域內的使用者。 此參考架構中的域控制器會在 Azure 虛擬網路中執行,並與內部部署 Windows Server AD 樹系有信任關係。 SharePoint 伺服器數位資源的用戶端 Web 要求會在虛擬網路中驗證,而不是透過網關聯機傳送該驗證流量至內部部署網路。 在 DNS 中,會建立內部網路 A 或 CNAME 記錄,讓內部網路使用者可以將 SharePoint 伺服器陣列的名稱解析為內部負載平衡器的私人 IP 位址。

    SharePoint Server 2016 也支援使用 Microsoft Entra Domain Services。 Microsoft Entra Domain Services 提供受控網域服務,因此您不需要在 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上的兩個 Active Directory 域控制器 (每個 1 個核心) = 2 個核心
  • Standard_DS3_v2 上的兩部 SQL Server VM = 8 個核心
  • Standard_DS1_v2上的一個多數節點 = 1 個核心
  • Standard_DS1_v2上的一部管理伺服器 = 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 服務帳戶
  • 設定用戶帳戶
  • 伺服器數位帳戶
  • Search Service 帳戶
  • 內容存取帳戶
  • 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 Apps 和 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 可用性群組,以指定一組資料庫來一起故障轉移,使其具有高可用性且可復原。 如需詳細資訊,請參閱 建立可用性群組並新增 SharePoint 資料庫

我們也建議將接聽程式IP位址新增至叢集,這是SQL Server VM內部負載平衡器的私人IP位址。

如需在 Azure 中執行之 SQL Server 的建議 VM 大小和其他效能建議,請參閱 Azure 中 SQL Server 的效能最佳做法 虛擬機器。 另請遵循 SharePoint Server 2016 伺服器陣列中 SQL Server 最佳做法中的建議。

建議大部分節點伺服器位於與復寫夥伴不同的計算機上。 伺服器可在高安全性模式會話中啟用次要復寫夥伴伺服器,以辨識是否要起始自動故障轉移。 與兩個夥伴不同,多數節點伺服器不會為資料庫提供服務,而是支援自動故障轉移。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

延展性

若要相應增加現有的伺服器,請變更 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 分鐘備份事務歷史記錄。 另一個做法是在停用內建 SharePoint 資料庫時,在資料庫上實作 SQL Server 維護工作。 如需詳細資訊,請參閱 儲存體 和 SQL Server 容量規劃和設定

安全性

安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱 安全性要素概觀。

用來執行 SharePoint Server 2016 的網域層級服務帳戶需要 Windows Server AD 域控制器或 Microsoft Entra Domain Services 以進行網域加入和驗證程式。 不過,為了擴充內部網路中已經存在的 Windows Server AD 身分識別基礎結構,此特定架構會使用兩部 VM 作為現有內部部署 Windows Server AD 樹系的 Windows Server AD 複本域控制器。

此外,規劃安全性強化一律是明智的。 其他建議包括:

  • 將規則新增至網路安全組,以隔離子網和角色。
  • 請勿將公用IP位址指派給VM。
  • 若要對承載進行入侵偵測和分析,請考慮在前端 Web 伺服器前使用網路虛擬設備,而不是內部 Azure 負載平衡器。
  • 您可以選擇使用 IPsec 原則來加密伺服器之間的純文字流量。 如果您也進行子網隔離,請更新網路安全組規則以允許IPsec流量。
  • 安裝 VM 的反惡意代碼代理程式。

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

使用 Azure 定價計算機來預估成本。 以下是優化此架構成本的一些因素。

Active Directory Domain Services

請考慮將 Active Directory 網域服務 作為多個工作負載所取用的共用服務,以降低成本。 如需詳細資訊,請參閱 Active Directory 網域服務 定價以取得詳細資訊。

VPN 閘道

計費模型是以閘道布建且可供使用的時間量為基礎。 請參閱 VPN 閘道 定價

所有輸入流量都是免費的。 所有輸出流量都會計費。 因特網頻寬成本會套用至 VPN 輸出流量。

虛擬網路

虛擬網絡 是免費的。 每個訂用帳戶可跨所有區域建立最多 50 個虛擬網路。 所有源自虛擬網路界限的流量都是免費的。 因此,相同虛擬網路中的兩部 VM 之間的通訊是免費的。

此架構是以 [執行多層式應用程式的 Windows VM][windows-n 層] 中所部署的架構為基礎。

如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework 中的成本一節。

DevOps

請考慮針對生產環境、開發和測試環境使用不同的資源群組。 不同的資源群組可讓您更輕鬆地管理部署、刪除測試部署,以及指派訪問許可權。 一般而言,將具有相同生命周期的資源放在相同的資源群組中。 使用開發人員層進行開發和測試環境。 若要將生產前成本降至最低,請部署生產環境的複本、執行測試,然後關閉。

使用 Azure Resource Manager 樣本或 Azure Bicep 範本 來定義基礎結構。 在這兩種情況下,您會遵循基礎結構即程序代碼 (IaC) 練習來部署資源。 若要自動化基礎結構部署,您可以使用 Azure DevOps Services 或其他 CI/CD 解決方案。 部署程式也是等冪的 ,也就是說,可重複產生相同的結果。 Azure Pipelines 是 Azure DevOps Services 的一部分,並執行自動化組建、測試和部署。

遵循工作負載準則來建構您的部署範本、識別單一工作單位,並將其包含在自己的範本中。 在此案例中,至少有七個工作負載會在自己的範本中識別並隔離:Azure 虛擬網路和 VPN 閘道、管理跳躍方塊、AD 域控制器和 SQL Server VM、故障轉移叢集和可用性群組,以及其餘 VM、Sharepoint 主要節點、Sharepoint 快取和網路安全組規則。 工作負載隔離可讓您更輕鬆地將工作負載的特定資源與小組產生關聯,讓小組可以獨立管理這些資源的所有層面。 此隔離可讓 DevOps 執行持續整合和持續傳遞 (CI/CD)。 此設定也可讓您暫存工作負載,這表示部署至各種階段,並在每個階段執行驗證,然後再移至下一個階段。 如此一來,您就可以以高度控制的方式將更新推送至生產環境,並將未預期的部署問題降到最低。

請考慮使用 Azure 監視器 來分析和優化基礎結構的效能、監視和診斷網路問題,而不需要登入 VM。

如需詳細資訊,請參閱 Azure Well-Architected Framework 中的 DevOps 一節。

下一步

如需解決方案架構個別部分的詳細資訊,請參閱下列主題: