你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 Azure 专用解析程序为本地工作负载创建专用终结点 DNS 基础结构

创建 Azure 专用终结点时,它默认会使用 Azure 专用 DNS 区域进行名称解析。 对于访问终结点的本地工作负载,需要提供一个指向 Azure 中托管 DNS 的虚拟机或专用终结点的本地 DNS 记录的转发器。 Azure 专用解析程序减少了在 Azure 中为 DNS 部署 VM 或管理本地 DNS 服务器上的专用终结点 DNS 记录的需要。

学习教程期间所创建 Azure 资源的示意图。

本教程介绍如何执行下列操作:

  • 为云网络创建一个 Azure 虚拟网络,并创建一个建立了虚拟网络对等互连的模拟本地网络。
  • 创建一个 Azure Web 应用来模拟云资源。
  • 在 Azure 虚拟网络中为 Web 应用创建 Azure 专用终结点。
  • 在云网络中创建 Azure 专用解析程序。
  • 在模拟的本地网络中创建一个 Azure 虚拟机,以测试 Web 应用的 DNS 解析。

注意

对于本教程,我们将使用一个建立了对等互连的 Azure 虚拟网络来模拟本地网络。 在生产方案中,需要使用 Express Route 或站点到站点 VPN 连接到 Azure 虚拟网络,以访问专用终结点。

模拟网络中配置了 Azure 专用解析程序作为虚拟网络的 DNS 服务器。 在生产方案中,本地资源将使用本地 DNS 服务器进行名称解析。 在本地 DNS 服务器上使用 Azure 专用解析程序的条件转发器来解析专用终结点 DNS 记录。 有关为 DNS 服务器配置条件转发器的详细信息,请参阅提供商的文档。

先决条件

登录 Azure

使用 Azure 帐户登录到 Azure 门户

概述

Azure Web 应用的虚拟网络和模拟本地网络用于本教程中的资源。 你将创建两个虚拟网络并将其对等互连,以模拟本地和 Azure 之间的 Express Route 或 VPN 连接。 Azure Bastion 主机部署在模拟的本地网络中,以连接到测试虚拟机。 测试虚拟机用于测试与 Web 应用的专用终结点连接和 DNS 解析。

本教程使用以下资源来模拟本地和云网络基础结构:

资源 名称 描述
模拟的本地虚拟网络 vnet-1 模拟本地网络的虚拟网络。
云虚拟网络 vnet-2 部署 Azure Web 应用的虚拟网络。
Bastion 主机 bastion 用于连接到模拟的本地网络中的虚拟机的 Bastion 主机。
测试虚拟机 vm-1 用于测试与 Web 应用的专用终结点连接和 DNS 解析的虚拟机。
虚拟网络对等机 vnet-1-to-vnet-2 模拟的本地网络与云虚拟网络之间的虚拟网络对等机。
虚拟网络对等机 vnet-2-to-vnet-1 云虚拟网络与模拟的本地网络之间的虚拟网络对等机。

创建虚拟网络和 Azure Bastion 主机

以下过程创建包含资源子网、Azure Bastion 子网和 Bastion 主机的虚拟网络:

  1. 在门户中,搜索并选择“虚拟网络”。

  2. 在“虚拟网络”页面上,选择“+ 创建”。

  3. 在“创建虚拟网络”的“基本信息”选项卡上,输入或选择以下信息

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“新建”。
    输入“test-rg”作为名称。
    选择“确定”。
    实例详细信息
    名称 输入“vnet-1”。
    区域 选择“美国东部 2”。

    用于在 Azure 门户中创建虚拟网络的“基本信息”选项卡的屏幕截图。

  4. 选择“下一步”,转到“安全性”选项卡。

  5. 在“Azure Bastion”部分,选择“启用 Azure Bastion”

    Bastion 使用浏览器通过安全外壳 (SSH) 或远程桌面协议 (RDP),通过使用其专用 IP 地址连接虚拟网络中的虚拟机。 虚拟机不需要公共 IP 地址、客户端软件或特殊配置。 有关详细信息,请参阅什么是 Azure Bastion?

    注意

    每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  6. 在“Azure Bastion”中,输入或选择以下信息:

    设置
    Azure Bastion 主机名 输入“堡垒”。
    Azure Bastion 公共 IP 地址 选择“创建公共 IP 地址”。
    在名称中输入 public-ip-bastion
    选择“确定”。

    用于在 Azure 门户中创建虚拟网络时启用 Azure Bastion 主机的选项的屏幕截图。

  7. 选择下一步,转到IP 地址选项卡。

  8. 在“子网”的地址空间框中,选择“默认”子网。

  9. 编辑子网中,输入或选择以下信息:

    设置 “值”
    子网用途 保留默认值“默认”。
    名称 输入“subnet-1”。
    IPv4
    IPv4 地址范围 保留默认值“10.0.0.0/16”
    开始地址 保留默认值“10.0.0.0”。
    大小 保留默认值“/24 (256 个地址)”。

    子网配置详细信息的屏幕截图。

  10. 选择“保存”。

  11. 在窗口底部选择“查看 + 创建”。 验证通过后,选择“创建”。

Bastion 主机部署完成需要几分钟时间。 稍后将在本教程中使用堡垒主机连接到“本地”虚拟机以测试专用终结点。 创建虚拟网络后,可以继续执行后续步骤。

创建云虚拟网络

重复上述步骤,为 Azure Web 应用专用终结点创建云虚拟网络。 将值替换为云虚拟网络的以下值:

注意

对于云虚拟网络,可以跳过 Azure Bastion 部署部分。 只有模拟的本地网络才需要 Bastion 主机。

设置
名称 vnet-2
位置 美国东部 2
地址空间 10.1.0.0/16
子网名称 subnet-1
子网地址范围 10.1.0.0/24

创建虚拟网络对等

使用以下步骤在 vnet1vnet2 之间创建双向网络对等互连。

  1. 在门户顶部的搜索框中,输入“虚拟网络”。 在搜索结果中,选择“虚拟网络”。

  2. 选择“vnet-1”。

  3. 在“设置”中选择“对等互连”。

  4. 选择“+ 添加”。

  5. 在“添加对等方”中,输入或选择以下信息:

    设置 “值”
    远程虚拟网络摘要
    对等互连链接名称 输入 vnet-2-to-vnet-1
    虚拟网络部署模型 保留默认值“资源管理器”。
    订阅 选择订阅。
    虚拟网络 选择“vnet-2”。
    远程虚拟网络对等互连设置
    允许“vnet-2”访问“vnet-1” 保留默认值“已选择”。
    允许“vnet-2”接收来自“vnet-1”的转发流量 选中复选框。
    允许“vnet-2”中的网关或路由服务器将流量转发到“vnet-1” 保留默认值“已清除”。
    启用“vnet-2”以使用“vnet-1”远程网关或路由服务器 保留默认值“已清除”。
    本地虚拟网络对等互连摘要
    对等互连链接名称 输入 vnet-1-to-vnet-2
    本地虚拟网络对等互连设置
    允许“vnet-1”访问“vnet-2” 保留默认值“已选择”。
    允许“vnet-1”接收来自“vnet-2”的转发流量 选中复选框。
    允许“vnet-1”中的网关或路由服务器将流量转发到“vnet-2” 保留默认值“已清除”。
    启用“vnet-1”以使用“vnet-2”的远程网关或路由服务器 保留默认值“已清除”。

    在 Azure 门户中添加对等互连的屏幕截图。

  6. 选择 添加

创建 Web 应用

  1. 在门户顶部的搜索框中,输入“应用服务”。 在搜索结果中选择“应用服务”。

  2. 选择“+ 新建”。

  3. 在“创建 Web 应用”的“基本信息”选项卡中,输入或选择以下信息。

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入 Web 应用的唯一名称。 名称“webapp8675”用于本教程中的示例。
    发布 选择“代码”。
    运行时堆栈 选择 .NET 6 (LTS)。
    操作系统 选择“Windows”。
    区域 选择“美国东部 2”。
    定价计划
    Windows 计划(美国西部 2) 保留默认名称。
    定价计划 选择“更改大小”
  4. 在“规格选取器”中,为工作负载选择“生产”。

  5. 在“建议的定价层”中,选择“P1V2”。

  6. 选择“应用”。

  7. 选择“下一步: 部署”。

  8. 选择“下一页:网络”。

  9. 将“启用公共访问”更改为 false。

  10. 选择“查看 + 创建” 。

  11. 选择“创建”。

创建专用终结点

Azure 专用终结点为虚拟网络中支持的 Azure 服务创建网络接口。 使用专用终结点可以从 Azure 虚拟网络或本地网络中的专用连接访问 Azure 服务。

为前面创建的 Web 应用创建一个专用终结点。

  1. 在门户顶部的搜索框中,输入“专用终结点”。 在搜索结果中选择“专用终结点”。

  2. 选择“+ 新建”。

  3. 在“创建专用终结点”的“基本信息”选项卡中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅
    资源组 选择“test-rg”。
    实例详细信息
    名称 输入 private-endpoint
    网络接口名称 保留默认名称。
    区域 选择“美国东部 2”。
  4. 在完成时选择“下一步:资源”。

  5. 在“资源”选项卡中输入或选择以下信息:

    设置
    连接方法 选择“连接到我的目录中的 Azure 资源”。
    订阅 选择订阅。
    资源类型 选择“Microsoft.Web/sites”。
    资源 选择你的 Web 应用。 名称“webapp8675”用于本教程中的示例。
    目标子资源 选择“站点”。
  6. 选择“下一步: 虚拟网络”。

  7. 在“虚拟网络”选项卡中输入或选择以下信息:

    设置
    联网
    虚拟网络 选择 vnet-2 (test-rg)
    子网 选择 subnet-1
    专用终结点的网络策略 保留默认值“禁用”。
    专用 IP 配置 选择“静态分配 IP 地址”。
    Name 输入 ipconfig-1
    专用 IP 输入“10.1.0.10”。
  8. 选择“下一步: DNS”。

  9. 在“DNS”选项卡中保留默认值。

  10. 依次选择“下一步: 标记”、“下一步: 查看 + 创建” 。

  11. 选择“创建”。

创建专用解析程序

在专用终结点所在的虚拟网络中创建一个专用解析程序。 该解析程序会接收来自模拟的本地工作负载的 DNS 请求。 这些请求将转发到 Azure 提供的 DNS。 Azure 提供的 DNS 会解析专用终结点的 Azure 专用 DNS 区域,并将 IP 地址返回到本地工作负载。

  1. 在门户顶部的搜索框中,输入“DNS 专用解析程序”。 在搜索结果中选择“DNS 专用解析程序”。

  2. 选择“+ 新建”。

  3. 在“创建 DNS 专用解析程序”的“基本信息”选项卡中,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg
    实例详细信息
    名称 输入 private-resolver
    区域 选择“(US)美国东部 2”。
    虚拟网络
    虚拟网络 选择“vnet-2”。
  4. 选择“下一步: 入站终结点”。

  5. 在“入站终结点”中,选择“+ 添加终结点”。

  6. 在“添加入站终结点”中输入或选择以下信息:

    设置 Value
    终结点名称 输入 inbound-endpoint
    子网 选择“新建”。
    在“名称”中输入 subnet-resolver
    保留默认的“子网地址范围”。
    选择“创建”。
  7. 选择“保存”。

  8. 选择“查看 + 创建”。

  9. 选择“创建”。

专用解析程序部署完成后,继续执行后续步骤。

为模拟网络设置 DNS

以下步骤将专用解析程序设置为模拟的本地网络 vnet-1 的主要 DNS 服务器。

在生产环境中不需要执行这些步骤,这些步骤只是用于模拟专用终结点的 DNS 解析。 你的本地 DNS 服务器具有一个指向此 IP 地址的条件转发器,用于解析来自本地网络的专用终结点 DNS 记录。

  1. 在门户顶部的搜索框中,输入“DNS 专用解析程序”。 在搜索结果中选择“DNS 专用解析程序”。

  2. 选择 private-resolver

  3. 在“设置”中选择“入站终结点”。

  4. 记下名为 inbound-endpoint 的终结点的 IP 地址。 在本教程的示例中,IP 地址为 10.1.1.4。

  5. 在门户顶部的搜索框中,输入“虚拟网络”。 在搜索结果中,选择“虚拟网络”。

  6. 选择“vnet-1”。

  7. 在“设置”中选择“DNS 服务器”。

  8. 在“DNS 服务器”中选择“自定义”。

  9. 输入前面记下的 IP 地址。 在本教程的示例中,IP 地址为 10.1.1.4。

  10. 选择“保存”。

创建测试虚拟机

以下过程会在虚拟网络中创建一个名为 vm-1 的测试虚拟机 (VM)。

  1. 在门户中,搜索并选择“虚拟机”。

  2. 在“虚拟机”中,依次选择“+ 创建”、“Azure 虚拟机”。

  3. 在“创建虚拟机”的“基本信息”选项卡上,输入或选择以下信息:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 选择“test-rg”。
    实例详细信息
    虚拟机名称 输入“vm-1”。
    区域 选择“美国东部 2”。
    可用性选项 选择“无需基础结构冗余”。
    安全类型 保留默认值标准
    映像 选择Windows Server 2022 Datacenter - x64 Gen2
    VM 架构 保留默认值“x64”。
    大小 选择一个大小。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入“azureuser”。
    Password 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择“无”。
  4. 选择页面顶部的“网络”选项卡。

  5. 在“网络”选项卡中,输入或选择以下信息:

    设置
    网络接口
    虚拟网络 选择“vnet-1”。
    子网 选择“subnet-1 (10.0.0.0/24)”。
    公共 IP 选择
    NIC 网络安全组 选择“高级”。
    配置网络安全组 选择“新建”。
    在“名称”中输入“nsg-1”。
    将其余字段保留默认设置,然后选择“确定”。
  6. 将其余设置保留为默认值,然后选择“查看 + 创建”。

  7. 检查设置,然后选择“创建”。

注意

虚拟网络中具有堡垒主机的虚拟机不需要公共 IP 地址。 Bastion 提供公共 IP,虚拟机使用专用 IP 在网络中进行通信。 可以从堡垒托管的虚拟网络的任何虚拟机中删除公共 IP。 有关详细信息,请参阅 将公共 IP 地址与 Azure VM 取消关联

注意

Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

发生以下事件之一时,将禁用默认出站访问 IP:

  • 将公共 IP 地址分配给 VM。
  • 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
  • 向 VM 的子网分配了 Azure NAT 网关资源。

在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限使用用于出站连接的源网络地址转换 (SNAT)

测试到专用终结点的连接

在本部分中,你使用在上一步骤中创建的虚拟机通过专用终结点连接到 Web 应用。

  1. 在门户顶部的搜索框中,输入“虚拟机”。 在搜索结果中,选择“虚拟机”。

  2. 选择 vm-1

  3. vm-1 的概述页面上,选择“连接”,然后选择“Bastion”。

  4. 输入在创建虚拟机期间输入的用户名和密码。

  5. 选择“连接”按钮。

  6. 连接后,在服务器上打开 Windows PowerShell。

  7. 输入 nslookup <webapp-name>.azurewebsites.net。 将 <webapp-name> 替换为在之前的步骤中创建的 Web 应用的名称。 你将收到类似于以下输出的消息:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    webapp.privatelink.azurewebsites.net
    Address:  10.1.0.10
    Aliases:  webapp.azurewebsites.net
    

    将为 Web 应用名称返回专用 IP 地址 10.1.0.10。 此地址位于你之前创建的 vnet-2 虚拟网络的 subnet-1 子网中。

  8. 打开 Microsoft Edge,然后输入 Web 应用的 URL https://<webapp-name>.azurewebsites.net

  9. 验证是否收到默认 Web 应用页面。

    Microsoft Edge 的屏幕截图,其中显示了默认的 Web 应用页。

  10. 关闭到 vm-1 的连接。

  11. 在本地计算机上打开 Web 浏览器并输入 Web 应用的 URL,即 https://<webapp-name>.azurewebsites.net

  12. 验证是否收到 403 页面。 此页面指示无法从外部访问 Web 应用。

    Web 浏览器的屏幕截图,其中的蓝色页面显示外部 Web 应用地址发生错误 403。

使用完创建的资源之后,可以删除资源组及其所有资源。

  1. 在 Azure 门户中,搜索并选择“资源组”。

  2. 在“资源组”页上,选择“test-rg”资源组。

  3. 在“test-rg”页上,选择“删除资源组”。

  4. 在“输入资源组名称以确认删除”中输入“test-rg”,然后选择“删除”

后续步骤

在本教程中,你已了解如何部署专用解析程序和专用终结点。 你已测试从模拟本地网络到专用终结点的连接。

转到下一篇文章,了解如何…