0Pricing
Cloud & IT Cert Prep · 课时

Azure DNS 和负载均衡器基础

使用 Azure DNS 专用区域管理 Azure 内部的域名解析,并通过 Azure 负载均衡器将传入流量分配到后端 VM 池。

Azure DNS 和负载均衡器基础 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

Azure 中的 DNS:基础知识

DNS(域名系统)会将人类可读的域名(例如 api.mycompany.com)转换为计算机用于通信的 IP 地址。Azure 提供两种 DNS 服务:用于托管公共 DNS 区域(面向互联网的域)的Azure DNS,以及用于 VNet 内部名称解析的Azure Private DNS。如果没有正确配置 DNS,就必须通过 IP 地址引用 Azure 资源,使架构变得脆弱——任何 IP 更改都会破坏所有依赖它的配置。Azure DNS 是一项高可用、全球分布式的服务,由 Microsoft 的任播网络提供支持。

Azure DNS 公共区域

Azure DNS 公共区域托管可从互联网访问的域的 DNS 记录。您可以将域(通过 GoDaddy 等注册商注册)委托给 Azure DNS,方法是将该域的 NS 记录更新为指向 Azure 的名称服务器。完成委托后,您可以从 Azure 门户或 CLI 管理所有 DNS 记录(A、CNAME、MX、TXT 等),无需再使用单独的 DNS 提供商。Azure DNS 公共区域提供100% SLA 正常运行时间、亚秒级全球传播速度,以及由 RBAC 控制的访问权限,只有获授权的团队成员才能修改 DNS 记录。

# Create a DNS zone and add an A record
az network dns zone create \
  --resource-group myRG \
  --name mycompany.com

az network dns record-set a add-record \
  --resource-group myRG \
  --zone-name mycompany.com \
  --record-set-name www \
  --ipv4-address 20.10.20.30

Azure Private DNS 区域

Azure Private DNS 区域为 VNet 内的资源提供名称解析,同时不会公开 DNS 记录。例如,您可以创建专用区域 myapp.internal,并注册 VM,使其通过名称(db.myapp.internal)而不是 IP 进行解析。Private DNS 区域会链接到 VNet,只有链接的 VNet 中的资源才能解析这些专用记录。您还可以启用自动注册,这样 VM 加入 VNet 时会自动创建 DNS 记录,无需手动管理即可使 DNS 保持同步。

# Create a private DNS zone and link it to a VNet
az network private-dns zone create \
  --resource-group myRG \
  --name myapp.internal

az network private-dns link vnet create \
  --resource-group myRG \
  --zone-name myapp.internal \
  --name myVNetLink \
  --virtual-network myVNet \
  --registration-enabled true

Azure 服务的 Private DNS

专用终结点(用于 Azure SQL、Blob Storage、Key Vault 等服务)要求 DNS 将服务的公共主机名解析为专用 IP,而不是公共 IP。Azure 为每种服务提供专用 DNS 区域(例如 Blob Storage 使用的 privatelink.blob.core.windows.net)。创建专用终结点时,Azure 会在此专用区域中创建一条 DNS A 记录,将其指向专用 IP。将此区域链接到您的 VNet 后,针对存储帐户 URL 的所有 DNS 查询都会自动解析为专用 IP,流量也会通过专用骨干网络路由,无需更改任何应用代码。

什么是 Azure Load Balancer

Azure Load Balancer会在多个后端资源(VM 或规模集中的实例)之间分配入站网络流量,确保没有单个资源负载过重。它运行在 OSI 模型的第 4 层(传输层),根据源/目标 IP 和端口路由 TCP 与 UDP 数据包,而不会检查 HTTP 内容。Azure Load Balancer 是一项高可用、区域冗余的服务,具有99.99% SLA(Standard SKU),同时支持入站负载均衡(来自互联网或 VNet)以及用于 VM 访问互联网的出站 SNAT。

Load Balancer 的组件

Azure Load Balancer 有四个主要组件:前端 IP 配置——客户端连接的公共或专用 IP。后端池——接收流量的 VM 或规模集实例集合。负载均衡规则——将前端 IP:端口映射到后端端口,并指定流量分配算法(默认为五元组哈希)。运行状况探测——定期测试每个后端实例;运行状况检查失败的实例会停止接收新连接,直到恢复正常。这些组件共同决定了流量的接收、检查和分配方式。

# Create a Standard Load Balancer with a public IP
az network lb create \
  --resource-group myRG \
  --name myLoadBalancer \
  --sku Standard \
  --public-ip-address myPublicIP \
  --frontend-ip-name myFrontend \
  --backend-pool-name myBackendPool

运行状况探测

运行状况探测是 Load Balancer 定期发送到每个后端实例的检查,用于确定实例是否正常以及是否应接收流量。您可以配置探测协议(HTTP、HTTPS 或 TCP)、端口和间隔。对于 HTTP/HTTPS 探测,Load Balancer 会向指定的 URL 路径发送 GET 请求;如果实例返回 HTTP 200,则表示运行正常。对于 TCP 探测,TCP 连接成功即表示运行正常。如果后端连续多次探测失败(次数可配置),Load Balancer 会停止向其发送新连接,直到它再次通过探测。这样无需手动干预即可提供自动容错。

基本版与 Standard Load Balancer

Azure Load Balancer 提供两种 SKU:基本版——免费,最多支持 300 个后端实例;没有 SLA,不支持可用性区域,也不要求 NSG 默认采用安全配置。Standard——付费(基础费用约为每月 20 美元),最多支持 1,000 个后端实例,提供 99.99% SLA、区域冗余前端,默认采用安全配置(必须明确配置 NSG 规则以允许流量),并支持多个前端 IP。对于任何生产工作负载,都强烈建议使用 Standard SKU。Microsoft 正在停止提供基本版 SKU,新部署应始终使用 Standard。

内部与外部 Load Balancer

Azure Load Balancer 可以采用两种配置:公共(外部)Load Balancer——前端具有公共 IP,将互联网流量分配到各后端 VM。它适用于面向互联网的应用,例如 Web 服务器和 API 网关。内部(专用)Load Balancer——前端在 VNet 内具有专用 IP,用于分配 VNet 内部流量。它适用于多层应用:应用层 Load Balancer 不应从互联网访问,而只能由同一 VNet 中的 Web 层访问。您可以同时部署两者:使用公共 LB 服务于 Web 层,使用内部 LB 服务于应用层。

Azure 负载均衡器与应用程序网关

Azure 针对不同场景提供两种主要的负载均衡服务:Azure 负载均衡器 — 第 4 层,支持 TCP/UDP,延迟极低,每秒可处理数百万个连接。最适合非 HTTP 工作负载,或您优先考虑最大吞吐量和最低延迟的场景。Azure 应用程序网关 — 第 7 层,支持 HTTP/HTTPS,能够理解 URL 路径和标头,并包含 Web 应用程序防火墙(WAF)、SSL 终止、基于 Cookie 的会话相关性以及基于 URL 的路由功能。最适合需要内容感知型负载均衡、TLS 卸载和 WAF 保护的 Web 应用程序。对于简单的 TCP 负载均衡,请使用负载均衡器;对于 Web 应用程序,应用程序网关能够提供显著的额外价值。

DNS 与负载均衡器协同工作

DNS 与负载均衡器协同工作,可以创建可靠且便于用户使用的终结点。一种常见模式是:1)创建一个 Azure 负载均衡器,使用标准公共 IP 和一个包含 Web 服务器 VM 的后端池。2)在 Azure DNS 中创建 CNAME 记录,将 www.mycompany.com 指向负载均衡器的公共 IP(或 DNS 名称)。3)用户访问 www.mycompany.com 时,DNS 会将其解析到负载均衡器的 IP,负载均衡器则会将请求分发到运行正常的 VM 实例。这样既能提供便于用户使用的 URL,又能通过容错机制实现自动流量分配。

快速检查

测试您对本课中 Microsoft Azure 基础知识(AZ-900)概念的理解。

课程回顾

本课介绍了:Azure DNS 托管公共和专用 DNS 区域,可提供接近 100% 的可用性,从而为 Azure 资源提供人类可读的名称;具有自动注册功能的专用 DNS 区域无需手动管理即可使 VNet DNS 记录保持最新;以及Azure 负载均衡器使用运行状况探测来检测并自动绕过故障实例,将第 4 层 TCP/UDP 流量分发到运行正常的后端 VM 实例。接下来我们将学习 Azure 数据库课程,首先从 Azure SQL 数据库开始。

常见问题解答

「Azure DNS 和负载均衡器基础」课时是免费的吗?

是的 — 「Azure DNS 和负载均衡器基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「Azure DNS 和负载均衡器基础」这节课中我会学到什么?

使用 Azure DNS 专用区域管理 Azure 内部的域名解析,并通过 Azure 负载均衡器将传入流量分配到后端 VM 池。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「Azure DNS 和负载均衡器基础」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 虚拟网络和子网
  2. 网络安全组和应用程序安全组
  3. VNet 对等互连和服务终结点
  4. Azure DNS 和负载均衡器基础
← 返回 Cloud & IT Cert Prep