在这里,我们看到一个 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 个订阅:
所有六个订阅都需要部署一个 Azure 私有 DNS 和一个 DNS 转发器。此外,它们都使用与中央集线器订阅对等的 VNET。所以最终你会得到这七个内部 DNS 域:
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 的工作原理
alzheimer.prd.finance.eastus.azure.nkotb
.*.eastus.azure.nkotb
转发到部署在 Hub 订阅中的 DNS 转发器,所以他知道。此 DNS 服务器是可访问的(网络方式),因为本地通过 ExpressRoute/VPN 连接到此集线器订阅。示例 2:2 个订阅之间的内部 DNS
鉴于营销团队决定在开发订阅中部署一个名为“Ballyhoo”的数据库,因此内部 DNS 名称将是
ballyhoo.dev.marketing.eastus.azure.nkotb
. 作为财务部署的另一个数据库,该数据库也可以从本地解决。但在这种情况下,IT 团队会在 IT 开发订阅中收集一些数据,这些数据应该使用ballyhoo.dev.marketing.eastus.azure.nkotb
数据库进行存储。因此,此方案描述了如何在 2 个订阅中解析 DNS 记录。示例 2 的工作原理
ballyhoo.dev.marketing.eastus.azure.nkotb
。笔记
您在 Azure 中的业务联系人通常会帮助您规划此类方案,因此您不必自己解决所有问题。在规划过程中还有其他重要方面需要考虑,但篇幅不允许在此概述。实现:如果网络团队从一开始就参与到流程中,通常会有所帮助。
一般来说,我强烈建议使用免费的Microsoft Learn for Azure来积累必要的知识和技能。对于您的问题,以下课程就足够了: