Azure Private endpoint DNS 记录是如何解析的

Private endpoint 从本质上来说是Azure 服务在Azure 虚拟网络中安插的一张带私有地址的网卡。

举例来说如果Storage account在没有绑定private endpoint之前,查询Storage account的DNS记录会是如下情况:

Seq Name Type Record Value

1 HOSTNAME.blob.core.windows.net CNAME blob.sn1prdstr01a.store.core.windows.net

2 blob.sn1prdstr01a.store.core.windows.net HOST (A) 20.38.104.164

首先, HOSTNAME.blob.core.windows.net 会被解析到CNAME blob.sn1prdstr01a.store.core.windows.net

然后, blob.sn1prdstr01a.store.core.windows.net 会被解析到公网地址 20.38.104.164。

那么,当Storage account绑定了private endpoint之后,从公网的Storage account DNS记录解析顺序会变成如下情况:

Seq Name Type Record Value

1 HOSTNAME.blob.core.windows.net CNAME HOSTNAME.privatelink.blob.core.windows.net

2 HOSTNAME. privatelink.blob.core.windows.net CNAME blob.sn1prdstr01a.store.core.windows.net

3 blob.sn1prdstr01a.store.core.windows.net HOST (A) 20.38.104.164

可以看到 HOSTNAME.blob.core.windows.net 解析到了 CNAME HOSTNAME.privatelink.blob.core.windows.net, 之后HOSTNAME. privatelink.blob.core.windows.net 才会解析到 CNAME blob.sn1prdstr01a.store.core.windows.net, 然后解析到公网地址 20.38.104.164。

从Azure内网访问Storage account DNS 记录解析顺序会变成如下情况:

Seq Name Type Record Value

1 HOSTNAME.blob.core.windows.net CNAME HOSTNAME.privatelink.blob.core.windows.net

2 HOSTNAME.privatelink.blob.core.windows.net HOST (A) 10.0.0.5

在这种情况下 HOSTNAME.blob.core.windows.net 会解析到 HOSTNAME.privatelink.blob.core.windows.net, 然后 HOSTNAME.privatelink.blob.core.windows.net 直接解析到Azure 内网地址 10.0.0.5。

用一张图解释上述三种DNS记录解析情况:

那么private endpoint 的dns是怎样集成到Azure virtual network的呢?

以下这个图提供了从VNET中的虚拟机解析 Private endpoint DNS记录的详细过程。

  1. VM向Azure DNS 服务器 168.63.129.16 发送查询 HOSTNAME.blob.core.windows.net 的DNS请求。
  2. Azure DNS服务器向拥有blob.core.windows.net zone 的authoritative DNS服务器发送请求。
  3. Authoritative DNS 服务器向Azure DNS 服务器返回 CNAME记录 HOSTNAME.privatelink.blob.core.windows.net
  4. Azure DNS 服务器 发现 Private DNS zone 里面有 privatelink.blob.core.windows.net 这个域名于是查询Private DNS zone获取到A记录的Priave endpoint的IP地址 10.0.0.5。
  5. Private DNS Zone 向 Azure DNS 服务器返回 Private endpoint的IP地址。
  6. Azure DNS 服务器将 Private endpoint的IP地址返回给VM。
  7. VM 通过 Private endpoint 的 IP地址 10.0.0.5 访问Storage Account。
相关推荐
chimchim663 天前
Azure ADF(Azure Data Factory 数据工厂)学习
学习·microsoft·azure
编码者卢布4 天前
【Azure Service Bus】Azure Service Bus Java SDK 中 Token 刷新异常的排查思路
java·python·azure
无敌糖果7 天前
Azure OpenAI配置Codex对接模型apikey
openai·azure·codex
Arman_8 天前
Rust 客户端安全上传下载微软 Azure Blob:rusty-cat SAS 预签名实战
安全·microsoft·rust·azure·断点续传
Arman_8 天前
Rust 接入微软 Azure Blob 文件上传下载:rusty-cat 直连模式实战
microsoft·rust·azure·断点续传
编码者卢布9 天前
【Azure Developer】ASP.NET Framework 4.8 集成 Azure Application Insights SDK 完整指南
microsoft·asp.net·azure
Azure DevOps10 天前
在Azure DevOps Server中实现用户端原地址透传(X-Forward-For)
运维·microsoft·azure·devops
编码者卢布13 天前
【Azure Container App】容器应用的维护窗口设置
python·azure
热爱学习的小翁同学13 天前
Power Automate调用Azure Foundry智能体
microsoft·azure
编码者卢布14 天前
【Azure 应用服务】WEBSITE_DISABLE_CROSS_STAMP_SCALE 配置的作用说明
microsoft·azure