編輯

共用方式為


使用 Azure 設計混合式網域名稱系統解決方案

Azure Bastion
Azure DNS
Azure ExpressRoute
Azure 虛擬網路

此參考架構說明如何設計混合式域名系統 (DNS) 解決方案,以解析裝載於內部部署和 Microsoft Azure 中的工作負載名稱。 此架構適用於從內部部署和公用因特網連線的使用者和其他系統。

架構

顯示混合式域名系統 (DNS) 的圖表。

下載此架構的 Visio 檔案

工作流程

此架構由下列元件組成:

  • 內部部署網路。 內部部署網路代表透過 Azure ExpressRoute虛擬專用網 (VPN) 連線連線到 Azure 的單一資料中心。 在此案例中,下列元件組成內部部署網路:
    • DNS 伺服器。 這些伺服器代表已安裝 DNS 服務的兩部伺服器,這些伺服器會作為解析程式/轉寄站。 這些 DNS 伺服器會作為 DNS 伺服器用於內部部署網路中的所有電腦。 這些伺服器上必須針對 Azure 和內部部署中的所有端點建立記錄。
    • 閘道。 網關代表用來連線到 Azure 的 VPN 裝置或 ExpressRoute 連線。
  • 中樞訂用帳戶。 中樞訂用帳戶代表用來裝載跨多個 Azure 裝載工作負載共用之連線、管理和網路資源的 Azure 訂用帳戶。 這些資源可以細分成多個訂用帳戶,如企業級架構中所述

    注意

    中樞虛擬網路可以取代為 虛擬廣域網 (WAN) 中樞,在此情況下,DNS 伺服器必須裝載在不同的 Azure 虛擬網路 (VNet) 中。 在企業級架構中,該 VNet 會以名為 Identity 訂用帳戶的專屬訂用帳戶進行維護。

    • Azure Bastion 子網。 中樞虛擬網路中的 Azure Bastion 服務用於將中樞和輪輻 VNet 中的虛擬機遠端處理,以供維護之用。
    • 私人端點子網。 私人端點子網會在未對等互連至中樞的 VNet 中裝載 Azure 裝載工作負載的私人端點。 使用這種類型的已中斷連線的 VNet,其 IP 位址可能會與其他在 Azure 和內部部署中使用的 IP 位址發生衝突。
    • 閘道子網。 閘道子網會裝載 Azure VPN 或 ExpressRoute 閘道,用來提供內部部署資料中心的連線能力。
    • 共用服務子網。 共用服務子網會裝載多個 Azure 工作負載之間共用的服務。 在此案例中,此子網會裝載執行 Windows 或 Linux 的虛擬機,這些虛擬機也會作為 DNS 伺服器使用。 這些 DNS 伺服器會裝載與內部部署伺服器相同的 DNS 區域。
  • 已連線的訂用帳戶。 線上的訂用帳戶代表需要虛擬網路和連線回到內部部署網路的工作負載集合。
    • VNet 對等互連。 此元件是 回到中樞 VNet 的對等互連 連線。 此連線允許從內部部署網路連線到輪輻,並透過中樞 VNet 重新連線。
    • 默認子網。 默認子網包含範例工作負載。
      • web-vmss。 此範例 虛擬機擴展集 會在 Azure 中裝載可從內部部署、Azure 和公用因特網存取的工作負載。
      • 負載平衡器負載平衡器可讓您存取一系列 VM 主機的工作負載。 默認子網中此負載平衡器的IP位址必須用來從 Azure 和內部部署資料中心存取工作負載。
    • AppGateway 子網。 此子網是 Azure 應用程式閘道 服務的必要子網。
      • AppGateway 應用程式閘道 提供預設子網中範例工作負載的存取權給來自公用因特網的使用者。
      • wkld1-pip。 此位址是用來從公用因特網存取範例工作負載的公用IP位址。
  • 已中斷連線的訂用帳戶。 已中斷連線的訂用帳戶代表不需要連線回內部部署數據中心且使用 私人連結服務的工作負載集合。
    • PLSSubnet。 私人連結服務子網 (PLSSubnet) 包含一或多個私人鏈接服務資源,可連線到聯機訂用帳戶中裝載的工作負載。
    • 默認子網。 默認子網包含範例工作負載。
      • web-vmss。 此範例虛擬機擴展集會在 Azure 中裝載可從內部部署、Azure 和公用因特網存取的工作負載。
      • 負載平衡器。 負載平衡器可讓您存取一系列 VM 主機的工作負載。 此負載平衡器會連線到私人鏈接服務,以提供來自 Azure 和內部部署資料中心的使用者存取權。
    • AppGateway 子網。 此子網是 應用程式閘道 服務的必要子網。
      • AppGateway。 應用程式閘道 提供預設子網中範例工作負載的存取權,以存取來自公用因特網的使用者。
      • wkld2-pip。 此位址是用來從公用因特網存取範例工作負載的公用IP位址。
    • Azure Bastion 子網。 已中斷聯機虛擬網路中的 Azure Bastion 服務可用來遠端傳送至中樞中的 VM,以及從公用因特網輪輻 VNet 進行維護。

元件

  • 虛擬網路。 Azure 虛擬網路 (VNet) 是私人網路在 Azure 中的基本建置組塊。 VNet 可讓多種類型的 Azure 資源 (例如 Azure 虛擬機器 (VM)) 安全地彼此通訊,以及與網際網路和內部部署網路通訊。

  • Azure Bastion。 Azure Bastion 是一項完全受控的服務,可為虛擬機器 (VM) 提供更安全且流暢的遠端桌面通訊協定 (RDP) 和安全殼層通訊協定 (SSH) 存取,而不會透過公用 IP 位址來公開。

  • VPN 閘道。 VPN 閘道 透過公用因特網在 Azure 虛擬網路與內部部署位置之間傳送加密流量。 您也可以使用 VPN 閘道,透過 Microsoft 網路來傳送 Azure 虛擬網路之間的已加密流量。 VPN 閘道是特定類型的虛擬網路閘道。

  • Azure Private Link。 Azure Private Link 提供從虛擬網路到 Azure 平台即服務 (PaaS)、客戶所擁有的服務,或是 Microsoft 合作夥伴服務的私人連線。 其可簡化網路架構,並透過消除公用網際網路上的資料暴露,來保護 Azure 中端點之間的連線。

  • 應用程式閘道。 Azure 應用程式閘道是網路流量負載平衡器,可讓您管理 Web 應用程式的流量。 傳統負載平衡器會在傳輸層 (OSI 第 4 層 - TCP 和 UDP) 上運作,並根據來源 IP 位址和連接埠來路由目的地 IP 位址和連接埠的流量。

建議

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

注意

針對下列建議,我們將工作負載 1 稱為已連線的工作負載,並將工作負載 2 視為已中斷連線的工作負載。 我們也將參考以內部部署使用者、因特網使用者和 Azure 系統身分存取這些工作負載的使用者系統

將 AD DS 擴充至 Azure(選擇性)

使用 AD DS 中的整合式 DNS 區域來裝載內部部署資料中心和 Azure 的 DNS 記錄。 在此案例中,AD DS DNS 伺服器有兩組:一部內部部署伺服器,一部位於中樞 VNet 中。

建議您 將您的 AD DS 網域擴充至 Azure。 我們也建議將中樞和輪輻 VNet 設定為針對 Azure 中樞 VNet 中的所有 VM 使用中樞 VNet 中的 AD DS DNS 伺服器。

注意

這項建議僅適用於使用 Active Directory 整合式 DNS 區域進行名稱解析的組織。 其他人可以考慮實作做解析程式/轉寄站的 DNS 伺服器。

設定分割腦 DNS

請確定已就地進行分割腦 DNS,以允許 Azure 系統、內部部署使用者和因特網用戶根據其連線所在的位置存取工作負載。

針對連線和已中斷連線的工作負載,我們建議使用下列元件來進行 DNS 解析:

若要進一步瞭解此分割腦建議,請考慮 工作負載 1,我們將使用 wkld1.contoso.com 完整功能變數名稱 (FQDN)。

在此案例中,因特網用戶必須將該名稱解析為 應用程式閘道 透過 Wkld1-pip 公開的公用 IP 位址。 若要解決此問題,請在 Azure DNS 中建立連線訂用帳戶的地址記錄(A 記錄)。

內部部署用戶必須將相同名稱解析為連線訂用帳戶中負載平衡器的內部IP位址。 若要解決此問題,請在中樞訂用帳戶的 DNS 伺服器中建立 A 記錄。

Azure 系統可以藉由在中樞訂用帳戶的 DNS 伺服器中建立 A 記錄,或使用私人 DNS 區域,將相同名稱解析為連線訂用帳戶中負載平衡器的內部 IP 位址。 當您使用私人 DNS 區域時,請在私人 DNS 區域中手動建立 A 記錄,或啟用自動註冊。

在我們的案例中, 工作負載 2 裝載於已中斷連線的訂用帳戶中,而且可透過中樞 VNet 中的私人端點存取內部部署使用者和連線的 Azure 系統存取此工作負載。 不過,此工作負載有第三個連線可能性:與工作負載 2 相同的 VNet 中的 Azure 系統。

為了進一步瞭解工作負載 2DNS 建議,我們將使用 wkld2.contoso.com FQDN 並討論個別的建議。

在此案例中,因特網用戶必須將該名稱解析為 應用程式閘道 透過 Wkld2-pip 公開的公用 IP 位址。 若要解決此問題,請在 Azure DNS 中建立已連線訂用帳戶的 A 記錄。

連線至中樞 VNet 和輪輻 VNet 的內部部署使用者和 Azure 系統,必須將相同名稱解析為中樞 VNet 中私人端點的內部 IP 位址。 若要解決此問題,請在中樞訂用帳戶的 DNS 伺服器中建立 A 記錄。

與工作負載 2 相同 VNet 中的 Azure 系統必須將名稱解析為已中斷連線訂用帳戶中負載平衡器的 IP 位址。 此解決方案是使用該訂用帳戶中的 Azure DNS 中的私人 DNS 區域來完成。

如果您將 VNet 連結到裝載工作負載 2 記錄的私人 DNS 區域,則不同 VNet 中的 Azure 系統仍然可以解析工作負載 2 的 IP 位址

啟用自動註冊

當您使用私人 DNS 區域設定 VNet 連結時,可以選擇性地為所有虛擬機設定自動註冊自動註冊。

注意

自動註冊僅適用於虛擬機。 對於使用 VNet IP 位址設定的其他所有資源,您必須在私人 DNS 區域中手動建立 DNS 記錄。

如果您使用 AD DS DNS 伺服器,請設定 Windows VM 可以使用 Windows 電腦的動態更新,讓自己的 DNS 記錄保持在 AD DS DNS 伺服器中的最新狀態。 建議您啟用動態更新,並將 DNS 伺服器設定為只允許安全更新。

Linux VM 不支援 安全的動態更新。 針對內部部署 Linux 計算機,請使用動態主機設定通訊協定 (DHCP) 向 AD DS DNS 伺服器註冊 DNS 記錄。

針對 Azure 中的 Linux VM,請使用自動化程式。

考量

這些考量能實作 Azure Well-Architected Framework 的支柱,其為一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構

延展性

  • 每個 Azure 區域或內部部署資料中心,請考慮使用至少兩部 DNS 伺服器。
  • 請注意,在先前案例中,使用內部部署和中樞虛擬網路中的 DNS 伺服器來完成。

可用性

  • 請考慮放置 DNS 伺服器。 如延展性考慮一節中所述,DNS 伺服器應該放在需要存取它們的用戶和系統附近。
    • 每個 Azure 區域。 每個 Azure 區域都有自己的中樞 VNet 或 vWAN 中樞。 這是您的 DNS 伺服器必須部署的位置。
    • 每個內部部署數據中心。 針對這些位置中的使用者和系統,您也應該為每個內部部署數據中心提供一對 DNS 伺服器。
    • 針對隔離的(已中斷連線)工作負載,請為每個訂用帳戶裝載私人 DNS 區域和公用 DNS 區域,以管理分割腦 DNS 記錄。

管理能力

  • 請考慮平臺即服務 (PaaS) 服務的 DNS 記錄需求。
  • 您也必須考慮使用私人端點之 PaaS 服務的 DNS 解析。 針對該區域使用私人 DNS 區域,並使用您的 DevOps 管線在 DNS 伺服器中建立記錄。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性支柱的概觀

  • 如果您需要使用 DNSSEC,請考慮 Azure DNS 目前不支援它。
  • 針對 DNSSEC 驗證,部署自訂 DNS 伺服器並啟用 DNSEC 驗證。
  • Azure DDoS 保護 (結合應用程式設計最佳做法) 可提供增強的 DDoS 風險降低功能,以針對 DDoS 攻擊提供更多的防禦。 您應該在任何周邊虛擬網路上啟用 Azure DDOS 保護

DevOps

  • 結合 Azure Resource Manager 樣本來設定所有資源,以自動設定此架構。 私人和公用 DNS 區域都支援從 Azure CLI、PowerShell、.NET 和 REST API 進行完整管理。
  • 如果您使用持續整合和持續開發管線來部署和維護 Azure 和內部部署中的工作負載,您也可以設定 DNS 記錄的自動註冊。

成本最佳化

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

  • Azure DNS 區域成本是以 Azure 中裝載的 DNS 區域數目和收到的 DNS 查詢數目為基礎。
  • 使用 Azure 定價計算機來預估成本。 此處將說明 Azure DNS 的定價模式。
  • Azure ExpressRoute計費模型是以計量付費數據為基礎,其會針對輸出數據傳輸收取每 GB 的費用,或收取每月費用,包括所有數據傳輸的費用。
  • 如果您使用 VPN,而不是 ExpressRoute,則成本取決於虛擬網路閘道SKU,且每小時收費。

下一步

深入瞭解元件技術:

探索相關的架構: