Azure-Networking

多個 AZURE 公司帳戶使用相同的 DNS 名稱、私有 IP 地址

  • January 13, 2022

看下面: 在此處輸入圖像描述

在這裡,我們看到一個 AZURE 公司帳戶 X。請參閱“azsql1.database.windows.net”。您可以從本地訪問它。

如果為了爭論,我有第二個 AZURE 環境怎麼辦。配置完全相同 - AZURE 公司帳戶 Y,帶有“azsql1.database.windows.net”。

這是理論上的,但我想知道如果有人嘗試使用“azsql1.database.windows.net”在 Tableau、Spotfire 中的連接報告中使用“azsql1.database.windows.net”來解決這個問題?

我認為您需要以某種方式告訴在哪個 AZURE 公司帳戶中使用哪個 DNS 轉發器。

所以,請原諒我,但我了解 Internet bla bla bla 的基本 DNS 解析內容,但不是網路專家。

對於有相同問題的其他讀者:另請參閱用於從本地訪問 AZURE 資源的私有 ipaddress 的地址以獲取一些背景資訊。

在我開始回答您的問題的一個小更正之前,正如您所寫的“……相同的 DNS 名稱”。我認為這是一種誤解,因為Azure Cosmos DB是一個完全託管的服務,意味著PaaS,因此具有唯一的名稱。換句話說,兩個 Azure Cosmos DB 服務不可能有相同的 DNS 名稱。不過,我不想在問題中糾正這一點,但更喜歡將參考作為答案的一部分,因為這確實是一個常見的誤解。這一切都歸結為混合解決方案的名稱解析的架構方式。

通過使用唯一的 DNS 名稱(這不是問題,因為 CosmosDB 是 SaaS 並且因此具有唯一的名稱)並確保可以解決所有資源,解決這種情況很容易。

簡要回答

對於通過 ExpressRoute 或 VPN 連接到本地的企業帳戶下的每個訂閱,配置Azure 私有 DNS和 DNS 轉發器,它們部署在同一子網中。集線器連接一切,包括內部部署。

長答案

假設範例(任務定義)

它是如何工作的最好用一個例子來解釋。

假設假設的公司“ NKOTB INC”有 3 個部門:

  • 金融
  • 行銷

每個部門都有 2 個 Azure 訂閱,一個用於開發,另一個用於生產工作負載。因此,我們必須總共處理至少六個訂閱,才能滿足要求。

網路相關要求如下:

  • 每個訂閱都需要連接到本地。
  • 每個訂閱可能會或可能不會使用使用私有連結部署的資源。
  • 由於法律限制,所有訂閱中的所有資源目前都部署在“美國東部”區域內。
  • 計劃擴展業務,最終使用其他地區。因此,在規劃中應考慮到這一點。

實施方式

使用這種情況,您最終可能會得到至少 7 個訂閱:

  • 發展金融
  • PRD-金融
  • 開發者
  • prd-it
  • 開發行銷
  • prd-行銷
  • 通過 VPN 或 ExpressRoute 連接到本地的集線器

所有六個訂閱都需要部署一個 Azure 私有 DNS 和一個 DNS 轉發器。此外,它們都使用與中央集線器訂閱對等的 VNET。所以最終你會得到這七個內部 DNS 域:

  • dev.finance.eastus.azure.nkotb
  • prd.finance.eastus.azure.nkotb
  • 開發者.it.eastus.azure.nkotb
  • prd.it.eastus.azure.nkotb
  • dev.marketing.eastus.azure.nkotb
  • prd.marketing.eastus.azure.nkotb
  • hub.eastus.azure.nkotb

NKOTB inc - 高級網路連接概述

Hub 訂閱配置了第二組 DNS 伺服器和轉發器。只有這組 DNS 伺服器知道部署在其他域中的其他 7 個 DNS 轉發器,並負責域“eastus.azure.nkotb”的名稱解析。所有本地 DNS 伺服器都配置為將 *.eastus.azure.nkotb 的所有 DNS 請求轉發到這組 DNS 伺服器。

範例 1:訂閱和本地之間的內部 DNS

鑑於財務團隊決定使用專用連結在生產訂閱中部署一個名為“Alzheimer”的數據庫。因此,該數據庫的內部 DNS 名稱 (FQDN) 將是alzheimer.prd.finance.eastus.azure.nkotb. 由於所有訂閱和本地一致的內部名稱解析,這個名稱可以在公司網路內的任何地方解析。

範例 1 的工作原理

  • 位於本地的隨機客戶端正在請求那裡的本地 DNS 伺服器解析alzheimer.prd.finance.eastus.azure.nkotb.
  • 本地 DNS 伺服器不知道答案,但配置為將所有請求*.eastus.azure.nkotb轉發到部署在 Hub 訂閱中的 DNS 轉發器,所以他知道。此 DNS 伺服器是可訪問的(網路方式),因為本地通過 ExpressRoute/VPN 連接到此集線器訂閱。
  • 部署在集線器訂閱中的 DNS 轉發器不知道答案,但知道部署在生產財務訂閱中的 DNS 轉發器,因此向這個方向轉發請求。此 DNS 伺服器是可訪問的(網路方面的),因為兩個訂閱都已對等 VNET。
  • 部署在prd.finance.eastus.azure.nkotb中的DNS伺服器和轉發器可以解析數據庫的IP地址,並在鏈中發回答案。
  • 位於本地的客戶端會收到答案。
  • 每個後續的 DNS 請求(在記錄的 TTL 內)將立即從本地 DNS 伺服器得到答复,因為答案已被記憶體。

範例 2:2 個訂閱之間的內部 DNS

鑑於行銷團隊決定在開發訂閱中部署一個名為“Ballyhoo”的數據庫,因此內部 DNS 名稱將是ballyhoo.dev.marketing.eastus.azure.nkotb. 作為財務部署的另一個數據庫,該數據庫也可以從本地解決。但在這種情況下,IT 團隊會在 IT 開發訂閱中收集一些數據,這些數據應該使用ballyhoo.dev.marketing.eastus.azure.nkotb數據庫進行儲存。因此,此方案描述瞭如何在 2 個訂閱中解析 DNS 記錄。

範例 2 的工作原理

  • 部署在 dev-IT 訂閱中的數據收集應用程序向部署在同一 VNET 中的本地 DNS 解析器詢問 IP 地址 ballyhoo.dev.marketing.eastus.azure.nkotb
  • 本地 DNS 伺服器不知道答案,但配置為將所有請求轉發到部署在 Hub-subscription 內的 DNS 轉發器,所以他知道。此 DNS 伺服器是可訪問的(網路方面的),因為兩個訂閱都已對等 VNET。
  • 部署在集線器訂閱中的 DNS 轉發器不知道答案,但知道部署在開發行銷訂閱中的 DNS 轉發器,因此將請求轉發到這個方向。此 DNS 伺服器是可訪問的(網路方面的),因為兩個訂閱都已對等 VNET。
  • 部署在 dev.marketing.eastus.azure.nkotb 中的 DNS 伺服器和轉發器可以解析數據庫的 IP 地址,並將答案發送回鏈中。
  • 數據收集應用程序收到答案。
  • 每個後續的 DNS 請求(在記錄的 TTL 內)將立即從本地 DNS 伺服器得到答复,因為答案已被記憶體。

筆記

您在 Azure 中的業務聯繫人通常會幫助您規劃此類方案,因此您不必自己解決所有問題。在規劃過程中還有其他重要方面需要考慮,但篇幅不允許在此概述。實現:如果網路團隊從一開始就參與到流程中,通常會有所幫助。

一般來說,我強烈建議使用免費的Microsoft Learn for Azure來積累必要的知識和技能。對於您的問題,以下課程就足夠了:

引用自:https://serverfault.com/questions/1076676