多個 AZURE 公司帳戶使用相同的 DNS 名稱、私有 IP 地址
在這裡,我們看到一個 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
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來積累必要的知識和技能。對於您的問題,以下課程就足夠了: