共用方式為


教學課程:使用私人解析器設定 DNS 容錯移轉

本文詳細說明如何使用部署於不同區域的兩個或多個 Azure DNS 私人解析器,來消除內部部署 DNS 服務中的單一失敗點。 將本機解析器指派為主要 DNS,並將相鄰區域中的解析器指派為次要 DNS,藉此啟用 DNS 容錯移轉。 如果主要 DNS 伺服器無法回應,DNS 用戶端就會使用次要 DNS 伺服器自動重試。

在本教學課程中,您會了解如何:

  • 使用內部部署條件式轉寄站和 Azure DNS 私人解析器來解決 Azure 私人 DNS 區域。
  • 為您的 Azure 私人 DNS 區域啟用內部部署 DNS 容錯移轉。

下圖顯示本文中所討論的容錯移轉案例。

Azure DNS Private Resolver architecture

在此案例中,您會有兩個內部部署位置到兩個 Azure 中樞 vnet 的連線。

  • 在東部區域中,主要路徑是到東部 vnet 中樞。 您具有與西部中樞的次要連線。 西部區域為反向設定。
  • 由於網際網路連線問題,一個 vnet (西部) 的連線已暫時中斷。
  • 由於備援設計,會在這兩個區域中維護服務。

DNS 解析路徑為:

  1. 備援的內部部署 DNS 條件式轉寄站會將 DNS 查詢傳送至輸入端點。
  2. 輸入端點會從內部部署接收 DNS 查詢。
  3. 輸出端點和 DNS 轉送規則集會處理 DNS 查詢,並將回覆傳回內部部署資源。

容錯移轉案例不需要輸出端點和 DNS 轉送規則集,但在包含在此處以獲得完整性。 規則集可用來從 Azure 解析內部部署網域。 如需詳細資訊,請參閱 Azure DNS 私人解析器端點和規則集,以及解析 Azure 和內部部署網域

必要條件

注意

在本教學課程中,azure.contoso.com 是 Azure 私人 DNS 區域。 將 azure.contoso.com 取代為您的私人 DNS 區域名稱。

登入 Azure

登入 Azure 入口網站

判斷輸入端點 IP 位址

記下指派給 DNS 私人解析器輸入端點的 IP 位址。 IP 位址將用來設定內部部署 DNS 轉寄站。

在此範例中,兩個區域中有兩個虛擬網路:

  • myeastvnet 位於美國東部區域,已指派位址空間 10.10.0.0/16
  • mywestvnet 位於美國中西部區域,已指派位址空間 10.20.0.0/16
  1. 搜尋 DNS 私人解析器,然後從第一個區域中選取您的私人解析器。 例如:myeastresolver

  2. 在 [設定] 底下,選取 [輸入端點],並記下 [IP 位址] 設定。 例如:10.10.0.4

    View inbound endpoint

  3. 返回 DNS 私人解析器清單,然後從不同的區域中選取解析器。 例如:mywestresolver

  4. 在 [設定] 底下,選取 [輸入端點],並記下此解析器的 [IP 位址] 設定。 例如:10.20.0.4

若要解析 Azure DNS 私人區域中的 DNS 記錄,則區域必須連結至虛擬網路。 在此範例中,區域 azure.contoso.com 會連結至 myeastvnetmywestvnet。 也可以顯示其他 vnet 的連結。

  1. 搜尋 [私人 DNS 區域],然後選取您的私人區域。 例如:azure.contoso.com

  2. 在 [設定] 底下,選取 [虛擬網路連結],並確認您在上一個程序中用於輸入端點的 vnet 也列在 [虛擬網路] 底下。 例如:myeastvnetmywestvnet

    View vnet links

  3. 如果尚未連結一或多個 vnet,您可以在這裡選取 [新增]、提供 [連結名稱]、選擇您的 [訂用帳戶],然後選擇 [虛擬網路] 來加以新增。

提示

您也可以使用對等互連來解析私人 DNS 區域中的記錄。 如需詳細資訊,請參閱 Azure DNS 私人解析器端點和規則集

驗證 Azure DNS 解析

檢查虛擬網路的 DNS 設定是否已設定為 [預設] (Azure 所提供)。

  1. 搜尋 [虛擬網路],然後選取第一個 Vnet。 例如:myeastvnet

  2. 在 [設定] 底下,選取 [DNS 伺服器],然後確認已選擇 [預設 (Azure 所提供)]

  3. 選取下一個 Vnet (例如:mywestvnet),並確認已選擇 [預設 (Azure 所提供)]

    注意

    您也可以進行自訂 DNS 設定來運作,但這不屬於目前案例的範圍。

  4. 搜尋 [私人 DNS 區域],然後選取您的私人區域名稱。 例如:azure.contoso.com

  5. 選取 [+ 記錄集] 並新增 A 記錄,以在區域中建立測試記錄。 例如:測試

    Create a test A record

  6. 使用內部部署用戶端開啟命令提示字元,並使用 nslookup 以利用您所記下的第一個私人解析器 IP 位址來查閱測試記錄 (例如:10.10.0.4)。 請參閱下列範例:

    nslookup test.azure.contoso.com 10.10.0.4
    

    此查詢應該會傳回您指派給測試記錄的 IP 位址。 Results of nslookup - east

  7. 使用您針對第二個私人解析器 (例如:10.20.0.4) 所記下的 IP 位址來重複此 nslookup 查詢。

    Results of nslookup - west

    注意

    如果私人區域的 DNS 解析無法運作,請檢查您內部部署到 Azure Vnet 的連結是否已連線。

設定內部部署 DNS 轉送

現在可使用兩個不同的 Azure DNS 私人解析器從內部部署到 Azure 進行 DNS 解析,我們可以設定轉送來使用這兩個位址。 這會在 Azure 的其中一個連線中斷時啟用備援。 設定轉寄站的程序將取決於您所使用 DNS 伺服器的類型。 下列範例使用執行 DNS 伺服器角色服務的 Windows Server,且 IP 位址為 10.100.0.2。

注意

您用來設定轉送的 DNS 伺服器應該是網路上用戶端裝置將用於 DNS 解析的伺服器。 如果您要設定的並非預設伺服器,您必須在設定轉送後,直接查詢其 IP 位址 (例如:nslookup test.azure.contoso.com 10.100.0.2)。

  1. 開啟提升權限的 Windows PowerShell 提示字元,並發出輸入下列命令。 以私人區域的名稱取代 azure.contoso.com,並以您私人解析器的 IP 位址取代下面的 IP 位址。

    Add-DnsServerConditionalForwarderZone -Name "azure.contoso.com" -MasterServers 10.20.0.4,10.10.0.4
    
  2. 如有需要,您也可以使用 DNS 主控台來輸入條件式轉寄站。 請參閱下列範例:

    View DNS forwarders

  3. 現在轉送已就緒,請發出您在上一個程序中所使用的相同 DNS 查詢。 不過,這次不會輸入查詢的目的地 IP 位址。 查詢會使用用戶端的預設 DNS 伺服器。

    Results of nslookup

示範復原 (選用)

您現在可以示範當其中一個連線中斷時,DNS 解析會正常運作。

  1. 您可以停用或中斷介面,藉此中斷從內部部署到其中一個 Vnet 的連線。 確認連線不會視需要自動重新連線。

  2. 使用已不再連線 Vnet 的私人解析器來執行 nslookup 查詢,並確認其失敗 (請參閱下方)。

  3. 使用預設 DNS 伺服器 (使用轉寄站設定) 來執行 nslookup 查詢,並確認其因為您啟用的備援而仍會運作。

    Results of nslookup - failover

下一步