Share via


Azure DNS 中的可靠性

本文包含 Azure DNS 跨區域災害復原和商務持續性支援的詳細資訊。

跨區域災害復原和商務持續性

災害復原 (DR)是指從重大影響事件中復原,例如自然災害或不成功的部署 (導致停機和資料遺失)。 無論原因為何,解決災害的最佳辦法是定義完善且經過測試的 DR 方案,以及主動支援 DR 的應用程式設計。 開始制定災害復原方案之前,請參閱設計災害復原策略的建議

Microsoft 在災害復原方面,採取共同責任模型。 在共同責任模型中,Microsoft 確保基準基礎結構和平台服務可供使用。 此時許多 Azure 服務不會自動複寫資料,或從故障區域恢復並交叉複寫到另一個已啟用的區域。 您需要為這些服務制定適合您工作負載的災害復原方案。 在 Azure 平台即服務 (PaaS) 供應項目上執行的多數服務,都有提供支援災害復原的功能和指導,您可以使用特定服務功能快速復原,制定災害復原方案。

災害復原的 Azure DNS 容錯移轉解決方案會使用標準 DNS 機制來容錯移轉至備份網站。 Azure DNS 的手動選項最適合與冷待命或指示燈方法搭配使用。

由於 DNS 伺服器位在容錯移轉或災害區域外,因此不受任何停機狀況所影響。 只要操作員在災害期間具有網路連線能力,而且可以進行翻轉,您就可以建構簡單的容錯移轉案例。 如果解決方案已編寫指令碼,您必須確定執行指令碼的伺服器或服務也與影響生產環境的問題隔離。 此外,區域的低 TTL 可防止解析程式快取長時間,讓客戶存取 RTO 內的網站。 針對冷待命和指示燈方法,由於可能需要一些預先準備和其他系統管理活動,您應在進行反轉前應提供足夠的時間。

注意

Azure 私人 DNS 區域支援跨 Azure 區域的虛擬網路之間的 DNS 解析,即使未明確對等互連虛擬網路也一般。 但是,所有虛擬網路都必須連結至私人 DNS 區域。

若要了解如何使用 Azure 入口網站建立 Azure 私人 DNS 區域,請參閱快速入門:使用 Azure 入口網站建立 Azure 私人 DNS 區域

若要使用 Azure 入口網站建立 Azure DNS 私人解析器,請參閱快速入門:使用 Azure 入口網站建立 Azure DNS 私人解析器

多區域地理位置的災害復原

設定災害復原架構涉及到兩個技術層面:

  • 使用部署機制在主要和待命環境之間複寫執行個體、資料和組態。 這種類型的災害復原可以透過 Azure Site Recovery 原生方式完成,請參閱透過 Microsoft Azure 合作夥伴設備/服務,例如 Veritas 或 NetApp 的 Azure Site Recovery 文件

  • 開發解決方案來將網路/ Web 流量從主要站台轉移至待命站台。 此類災害復原可以透過 Azure DNS、Azure 流量管理員 (DNS) 或第三方全域負載平衡器來完成。

本文特別著重於 Azure DNS 災害復原規劃。

設定災害復原和中斷偵測

災害復原的 Azure DNS 手動容錯移轉解決方案會使用標準 DNS 機制來容錯移轉至備份網站。 Azure DNS 的手動選項最適合與冷待命或指示燈方法搭配使用。

Diagram of manual failover using Azure DNS.

圖 - 使用 Azure DNS 進行手動容錯移轉

解決方案所做的假設是:

  • 主要和次要端點都有不常變更的靜態 IP。 假設主要站台的 IP 是 100.168.124.44,而次要站台的 IP 是 100.168.124.43。
  • 主要和次要站台都有 Azure DNS 區域。 假設主要站台的端點是 prod.contoso.com,而備份站台的端點是 dr.contoso.com。 主應用程式的 DNS 記錄 (稱為 www.contoso.com) 也存在。
  • TTL 會等於或低於組織中設定的 RTO SLA。 例如,如果企業將應用程式災害回應的 RTO 設定為 60 分鐘,則 TTL 應不超過 60 分鐘,而且愈低愈好。 您可以設定 Azure DNS 的手動容錯移轉,如下所示:
    • 建立 DNS 區域
    • 建立 DNS 區域記錄
    • 更新 CNAME 記錄
  1. 建立 DNS 區域 (例如 www.contoso.com),如下所示:

    Screenshot of creating a DNS zone in Azure.

    圖 - 在 Azure 中建立 DNS 區域

  2. 在此區域內建立三個記錄 (例如 www.contoso.com、prod.contoso.com 和 dr.consoto.com),如下所示。

    Screenshot of creating DNS zone records.

    圖 - 在 Azure 中建立 DNS 區域記錄

    在此案例中,www.contoso.com 站台有 30 分鐘的 TTL (低於指定的 RTO),且指向生產站台 prod.contoso.com。 這是正常營運時的組態。 prod.contoso.com 和 dr.contoso.com 的 TTL 已設定為 300 秒或 5 分鐘。 您可以使用 Azure 監視器或 Azure App Insights 等 Azure 監視服務,或 Dynatrace 等任何合作夥伴監視解決方案。 您甚至可以使用自產的解決方案,這類解決方案可以監視或偵測應用程式或虛擬基礎結構等級失敗。

  3. 一旦偵測到失敗時,記錄值將變更為指向 dr.contoso.com,如下所示:

    Screenshot of updating CNAME record.

    圖 - 更新 Azure 中的 CNAME 記錄

    在 30 分鐘內,大部分的解析程式將會重新整理快取的區域檔案,任何針對 www.contoso.com 的查詢會重新導向至 dr.contoso.com。 您也可以執行下列 Azure CLI 命令來變更 CNAME 值:

      az network dns record-set cname set-record \
      --resource-group 123 \
      --zone-name contoso.com \
      --record-set-name www \
      --cname dr.contoso.com
    

    此步驟可以手動執行或透過自動化來執行。 手動執行可透過主控台或 Azure CLI。 Azure SDK 和 API 可用來自動化 CNAME 更新,如此則不需要手動介入。 您可以透過 Azure 函式或第三方監視應用程式,或甚至是從內部部署來建立自動化。

下一步