在 Azure 虛擬網路中部署 AD DS

Active Directory Domain Services
虛擬網路

此架構示範如何將內部部署的 Active Directory網域延伸至 Azure,以提供分散式驗證服務。

Secure hybrid network architecture with Active Directory

下載這個架構的 Visio 檔案

如果您的應用程式部分裝載于內部部署和部分位於 Azure 中,在 Azure 中複寫ACTIVE DIRECTORY 網域服務 (AD DS) 可能會更有效率。 此複寫可減少將驗證要求從雲端傳送回內部部署執行的 AD DS 所造成的延遲。

當內部部署網路與 Azure 虛擬網路透過 VPN 或 ExpressRoute 連線連接時,通常會使用這個架構。 此架構也支援雙向複寫,也就是說,您可以在內部部署或雲端上進行變更,而且這兩個來源會保持一致。 此架構的典型用途包括在內部部署與 Azure 之間散佈功能的混合式應用程式,以及使用 Active Directory 執行驗證的應用程式和服務。

如需詳細資訊,請參閱選擇整合內部部署的 Active Directory與 Azure 的解決方案

架構

此架構會使用 VPN 閘道將連線內部部署網路所顯示的混合式網路架構延伸至 Azure。 其元件如下。

  • 內部部署網路。 內部部署網路包括可以針對內部部署元件執行驗證和授權的本機 Active Directory 伺服器。
  • Active Directory 伺服器。 這些網域控制站是雲端中執行的 VM,負責實作目錄服務 (AD DS)。 這些伺服器可以驗證在 Azure 虛擬網路中執行的元件。
  • Active Directory 子網路。 AD DS 伺服器會裝載在不同的子網路中。 網路安全性群組 (NSG) 規則可保護 AD DS 伺服器,並提供防火牆以防禦來自非預期來源的流量。
  • Azure 閘道和 Active Directory 同步處理。 Azure 閘道會提供內部部署網路與 Azure VNet 之間的連線。 此連線可以是 VPN 連線 或透過 Azure ExpressRoute。 雲端與與內部部署環境中 Active Directory 伺服器之間的所有同步處理要求都會通過閘道。 使用者定義的路由 (UDR) 會針對傳送至 Azure 的內部部署流量處理路由傳送。

建議

下列建議適用於大部分的案例。 除非您有特定的需求會覆寫它們,否則請遵循下列建議。

VM 建議

根據預期的驗證要求量,決定您的 VM 大小需求。 針對在內部部署環境中裝載 AD DS 的電腦,使用其規格作為起點,以比對 Azure VM 的大小。 一旦部署之後,請根據 VM 上的實際負載,監視使用量並相應增加或減少。 如需有關調整 AD DS 網域控制站大小的詳細資訊,請參閱 Active Directory Domain Services 的容量規劃

建立個別的虛擬磁片,以儲存 Active Directory 的資料庫、記錄和 sysvol 資料夾。 請勿將這些專案儲存在與作業系統相同的磁片上。 根據預設,連結至 VM 的資料磁片會使用寫入快取。 不過,這種形式的快取可能會與 AD DS 的需求發生衝突。 因此,請將資料磁碟上的 [主機快取偏好設定] 設定設為 [無]

將至少兩部執行 AD DS 的 VM 部署為網域控制站,並將其新增至不同的可用性區域。 如果區域中無法使用,請在 可用性設定組中部署。

網路功能的建議

使用靜態私人 IP 位址,設定每個 AD DS 伺服器的 VM 網路介面 (NIC),以獲得完整的網域名稱服務 (DNS) 支援。 如需詳細資訊,請參閱如何在 Azure 入口網站中設定靜態私人 IP 位址

注意

請勿針對具有公用 IP 位址的任何 AD DS 設定 VM NIC。 如需詳細資料,請參閱安全性考量

Active Directory 子網 NSG 需要規則,以允許來自內部部署的連入流量和內部部署的連出流量。 如需有關 AD DS 使用之連接埠的詳細資訊,請參閱 Active Directory 和 Active Directory Domain Services 連接埠需求

如果新的已部署網域控制站 (DC) VM 也會有 DNS 伺服器的角色,建議您在 Azure 虛擬網路 層級將它們設定為自訂 DNS 伺服器,如本文所述。 這應該針對裝載新 DC 和對等互連網路的虛擬網路完成,其中其他 VM 需要解析 Active Directory 功能變數名稱。 如需有關如何設定混合式 DNS 名稱解析的詳細資訊,請參閱 本文

Active Directory 站台

在 AD DS 中,站台代表裝置的實體位置、網路或集合。 AD DS 月臺可用來管理 AD DS 資料庫複寫,方法是將位於彼此附近的 AD DS 物件分組在一起,並透過高速網路連線。 AD DS 包含邏輯,可選取在月臺之間複寫 AD DS 資料庫的最佳策略。

建議您建立一個 AD DS 站台,其中包括針對 Azure 中應用程式所定義的子網路。 接著,設定內部部署 AD DS 站台之間的站台連結,AD DS 就會自動執行最有效率的資料庫複寫。 此資料庫複寫需要比初始設定還少。

Active Directory Operations Masters

操作主機角色可以指派給 AD DS 網域控制站,以支援複寫 AD DS 資料庫執行個體之間的一致性檢查。 FSMO (有五個作業主機角色) :架構主機、網網域命名主機、相對識別碼主機、主要網域控制站主機模擬器和基礎結構主機。 如需這些角色的詳細資訊,請參閱 Planning Operations Master Role Placement。 此外,建議至少為兩個新的 Azure DC 提供通用類別目錄 (GC) 角色。 如需 GC 放置的詳細資訊,請參閱 這裡

監視

監視網域控制站 VM 的資源以及 AD DS 服務,並建立計劃以快速修正任何問題。 如需詳細資訊,請參閱監視 Active Directory。 您也可以在監視伺服器上安裝 Microsoft Systems Center 之類的工具 (請參見架構圖表),以協助執行這些工作。

延展性考量

AD DS 是針對延展性而設計。 您不需要設定負載平衡器或流量控制器,就可以將要求導向到 AD DS 網域控制站。 唯一的延展性考量是要以適合您網路負載需求的正確大小來設定執行 AD DS 的 VM、監視 VM 的負載,以及視需要相應增加或減少。

可用性考量

將執行 AD DS 的 VM 部署到至少兩個可用性區域。 如果區域中無法使用,請使用 可用性設定組。 此外,請考慮將待命操作主機的角色指派到至少一部伺服器,且數量取決於您的需求。 待命作業主機是作業主機的作用中複本,可在容錯移轉期間取代主要作業主機伺服器。

管理性考量

執行 AD DS 定期備份。 請勿複製網域控制站的 VHD 檔案,而不是執行一般備份,因為 VHD 上的 AD DS 資料庫檔案在複製時可能不會處於一致的狀態,因此無法重新開機資料庫。

我們不建議您使用 Azure 入口網站 關閉網域控制站 VM。 而是從客體作業系統來關機並重新啟動。 透過Azure 入口網站關閉會導致 VM 解除配置,這會導致網域控制站 VM 重新開機時產生下列影響:

  1. 重設 Active VM-GenerationID Directory 存放庫的 和 invocationID
  2. 捨棄目前 Active Directory 相對識別碼 (RID) 集區
  3. 將 sysvol 資料夾標示為非授權

第一個問題相當良性。 重複重設 invocationID 會導致複寫期間使用次要的額外頻寬使用量,但這通常並不重要。

第二個問題可能會導致網域中的 RID 集區耗盡,特別是當 RID 集區大小已設定為大於預設值時。 請考慮網域已過很長的時間,或用於需要重複建立和刪除帳戶的工作流程,則網域可能已經接近 RID 集區耗盡。 監視 RID 集區耗盡警告事件的網域是很好的作法– 請參閱 管理 RID 發行 一文。

只要 Azure 中的網域控制站 VM 重新開機時,第三個問題是相對良性的。 如果網域中的所有網域控制站都在 Azure 中執行,而且它們全都會同時關閉並解除配置,則重新開機時,每個 DC 都會找不到授權複本。 修正此條件需要手動介入 – 請參閱 如何強制 DFSR 複寫 sysvol 複寫的授權和非授權同步 處理一文。

安全性考量

AD DS 伺服器負責提供驗證服務,容易引來攻擊。 為保護其安全,請將 AD DS 伺服器放在不同的子網路,並使用 NSG 當作防火牆,以防止直接網際網路連線。 關閉 AD DS 伺服器上的所有連接埠,但驗證、授權及伺服器同步處理所需的連接埠除外。 如需詳細資訊,請參閱 Active Directory 和 Active Directory Domain Services 連接埠需求

使用 BitLocker 或 Azure 磁碟加密,將裝載 AD DS 資料庫的磁碟加密。

DevOps 考量

  • 使用基礎結構即程式碼 (IaC) 實務,來布建及設定網路和安全性基礎結構。 其中一個選項是Azure Resource Manager 範本

  • 隔離工作負載,讓DevOps能夠執行持續整合和持續傳遞 (CI/CD) ,因為每個工作負載都會與其對應的DevOps小組相關聯和管理。

在此架構中,包含不同應用層、管理 jumpbox 和 Azure AD Domain Services 的整個虛擬網路會識別為單一隔離的工作負載。

虛擬機器是使用虛擬機器擴充功能和其他工具來設定,例如Desired State Configuration (DSC) ,用來在虛擬機器上設定 AD DS。

  • 請考慮使用Azure DevOps或任何其他 CI/CD 解決方案,將部署自動化。 Azure Pipelines是Azure DevOps Services的建議元件,可為解決方案建置和部署帶來自動化,它也在 Azure 生態系統中高度整合。

  • 使用 Azure 監視器 來分析基礎結構的效能。 它也可讓您監視和診斷網路問題,而不需登入虛擬機器。 應用程式Insights提供豐富的計量和記錄,以驗證基礎結構的狀態。

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

成本考量

使用 Azure 定價計算機來估計成本。 Microsoft Azure Well-Architected Framework中的成本一節會說明其他考慮。

以下是此架構中使用的服務成本考慮。

AD Domain Services

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

Azure VPN 閘道

此架構的主要元件是 VPN 閘道服務。 您須根據閘道上所佈建及可用時間量支付費用。

所有輸入流量是免費的,所有輸出流量都會收費。 網際網路頻寬成本適用於 VPN 輸出流量。

如需詳細資訊,請參閱 VPN 閘道價格

Azure 虛擬網路

Azure 虛擬網路是免費的。 每個訂用帳戶可在所有區域建立多達 50 個虛擬網路。 虛擬網路界限內發生的所有流量都是免費的。 因此,同一個虛擬網路中兩個 VM 之間的通訊是免費的。

後續步驟