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

使用 Azure 门户为应用程序网关配置前端公共 IPv6 地址

Azure 应用程序网关支持来自客户端的双栈(IPv4 和 IPv6)前端连接。 若要使用 IPv6 前端连接,需要创建新的 Azure 应用程序网关。 目前,无法将现有的仅 IPv4 应用程序网关升级到双栈(IPv4 和 IPv6)应用程序网关。 此外,目前不支持后端 IPv6 地址。

在本文中,你将使用 Azure 门户创建 IPv6 Azure 应用程序网关并对其进行测试,以确保其正常工作。 你将向端口分配侦听器,创建规则,并向后端池中添加资源。 为简单起见,使用了一个简单设置:两个公共前端 IP 地址(IPv4 和 IPv6)、一个在应用程序网关上托管单个站点的基本侦听器、一个基本请求路由规则,以及后端池中的两个虚拟机 (VM)。

若要支持 IPv6 连接,必须创建双栈 VNet。 此双栈 VNet 具有 IPv4 和 IPv6 子网。 Azure VNet 已提供双栈功能

有关应用程序网关组件的详细信息,请参阅应用程序网关组件

概述

Azure 门户用于创建 IPv6 Azure 应用程序网关。 执行测试以验证它是否正常工作。

学习如何:

还可以使用 Azure PowerShell 完成本快速入门。

区域和可用性

IPv6 应用程序网关可用于支持应用程序网关 v2 SKU 的所有公有云区域。 它还在由世纪互联运营的 Microsoft AzureAzure 政府中提供

限制

  • 只有 v2 SKU 支持具有 IPv4 和 IPv6 地址的前端
  • 目前不支持 IPv6 后端
  • 目前不支持 IPv6 专用链接
  • 目前不支持仅 IPv6 应用程序网关。 Azure 应用程序网关必须是双栈(IPv6 和 IPv4)
  • 应用程序网关入口控制器 (AGIC) 不支持 IPv6 配置
  • 现有 IPv4 应用程序网关无法升级到双栈应用程序网关
  • 目前不支持具有 IPv6 匹配条件的 WAF 自定义规则

先决条件

需要一个具有活动订阅的 Azure 帐户。 如果你没有帐户,可以免费创建一个帐户

使用 Azure 帐户登录到 Azure 门户

创建应用程序网关

使用“创建应用程序网关”页上的选项卡创建应用程序网关

  1. 在 Azure 门户菜单上或在“主页”中,选择“创建资源”。
  2. 在“类别”下选择“网络”,然后在“常用 Azure 服务”列表中选择“应用程序网关”。

“基本信息”选项卡

  1. 在“基本信息”选项卡上,为应用程序网关设置输入以下值

    • 订阅:选择订阅。 例如“_mysubscription”

    • 资源组:选择一个资源组。 如果没有资源组,请选择“新建”以创建一个资源组。 例如“myresourcegroupAG”

    • 应用程序网关名称:输入应用程序网关的名称。 例如“myappgw”

    • IP 地址类型:选择“双栈(IPv4 和 IPv6)”

      屏幕截图为创建新的应用程序网关:基本信息。

  2. 配置虚拟网络:为使 Azure 能够在创建的资源之间通信,需要配置双栈虚拟网络。 你可以创建新的双栈虚拟网络,或选择现有的双栈网络。 在此示例中,你将在创建应用程序网关的同时创建新的双栈虚拟网络。

    在独立的子网中创建应用程序网关实例。 此示例创建了一个双栈子网和一个仅限 IPv4 的子网:IPv4 和 IPv6 子网(预配为一个双栈子网)将分配到应用程序网关。 IPv4 子网用于后端服务器。

    注意

    应用程序网关子网中当前不支持虚拟网络服务终结点策略在“配置虚拟网络”下,通过选择“新建”以创建新的虚拟网络。 在“创建虚拟网络”窗格中,输入以下值以创建虚拟网络和两个子网

    • 名称:输入虚拟网络的名称。 例如“myVNet”
    • 子网名称(应用程序网关子网):“子网”网格将显示名为“默认”的子网。 将此子网的名称更改为 myAGSubnet。
    • 地址范围 - VNet 和子网的默认 IPv4 地址范围分别为 10.0.0.0/16 和 10.0.0.0/24。 VNet 和子网的默认 IPv6 地址范围分别为 ace:cab:deca::/48 和 ace:cab:deca::/64。 如果你看到不同的默认值,则可能有一个与这些范围重叠的现有子网。

    屏幕截图为创建新的应用程序网关:虚拟网络。

    注意

    应用程序网关子网只能包含应用程序网关。 不允许其他资源。

    选择“确定”以关闭“创建虚拟网络”窗口,并保存新的虚拟网络和子网设置

  3. 选择“下一步: 前端”。

“前端”选项卡

  1. 在“前端”选项卡上,验证“IP 地址类型”是否设置为“公共” 。

    重要

    对于应用程序网关 v2 SKU,必须有一个公共前端 IP 配置。 IPv6 应用程序网关目前不支持专用 IPv6 前端 IP 配置(仅限 ILB 模式)。

  2. 选择“公共 IP 地址”对应的“新增”,输入公共 IP 地址的名称,然后选择“确定”。 例如“myAGPublicIPAddress”

    屏幕截图为创建新的应用程序网关:前端。

    注意

    IPv6 应用程序网关最多支持 4 个前端 IP 地址:两个 IPv4 地址(公共和专用)和两个 IPv6 地址(公共和专用)

  3. 在完成时选择“下一步:后端

“后端”选项卡

后端池用于将请求路由到为请求提供服务的后端服务器。 后端池可以包含 NIC、虚拟机规模集、公共 IP 地址、内部 IP 地址、完全限定的域名 (FQDN) 和多租户后端(例如 Azure 应用服务)。 在此示例中,你将使用应用程序网关创建空的后端池,然后将后端目标添加到后端池。

  1. 在“后端”选项卡上,选择“添加后端池” 。

  2. 在“添加后端池”窗格中,输入以下值以创建空的后端池

    • 名称:输入后端池的名称。 例如,myBackendPool
    • 添加不包含目标的后端池:选择“是”以创建不包含目标的后端池 。 将在创建应用程序网关后添加后端目标。
  3. 选择“添加”以保存后端池配置并返回到“后端”选项卡 。

    屏幕截图为创建新的应用程序网关:后端。

  4. 在“后端” 选项卡上,选择“下一步: 配置”。

配置选项卡

在“配置”选项卡上,前端和后端池是使用路由规则连接的

  1. 在“路由规则”下,选择“添加路由规则”。

  2. 在“添加路由规则”窗格中输入以下值

    • 规则名称:输入规则的名称。 例如“myRoutingRule”
    • 优先级:输入介于 1 和 20000 之间的值,其中 1 表示最高优先级,20000 表示最低优先级。 例如,输入优先级“100”
  3. 传递规则需要侦听器。 在“侦听器”选项卡上输入以下值

    • 侦听器名称:输入侦听器的名称。 例如“myListener”

    • 前端 IP:选择“公共 IPv6”

      接受“侦听器”选项卡上其他设置的默认值,然后选择“后端目标”选项卡

    屏幕截图为创建新的应用程序网关:侦听器。

  4. 在“后端目标”选项卡上,为“后端目标”选择你的后端池。 例如,myBackendPool

  5. 对于“后端设置”,请选择“新增”。 后端设置决定了传递规则的行为。 在“添加后端设置”窗格中,输入后端设置名称。 例如“myBackendSetting”

  6. 接受其他设置的默认值,然后选择“添加”

    屏幕截图为创建新的应用程序网关:后端设置。

  7. 在“添加传递规则”窗格中,选择“添加”以保存路由规则并返回到“配置”选项卡

    屏幕截图为创建新的应用程序网关:传递规则。

  8. 选择“下一步: 标记”,选择“下一步: 查看+ 创建”,然后选择“创建”。 部署应用程序网关需要几分钟时间。

将 DNS 名称分配给前端 IPv6 地址

DNS 名称可简化 IPv6 应用程序网关的测试。 可以使用自己的域和注册机构分配公共 DNS 名称,也可以在 azure.com 中创建名称。 若要在 azure.com 中分配名称,请执行以下操作:

  1. 在 Azure 门户主页中,搜索“公共 IP 地址”

  2. 选择“MyAGPublicIPv6Address”

  3. 在“设置”下,选择“配置”。

  4. 在“DNS 名称标签(可选)”下输入一个名称。 例如“myipv6appgw”

  5. 选择“保存”。

  6. 将 FQDN 复制到文本编辑器中以便稍后访问。 在以下示例中,FQDN 为 myipv6appgw.westcentralus.cloudapp.azure.com

    分配 DNS 名称的屏幕截图。

添加后端子网

后端目标需要后端 IPv4 子网。 后端子网仅限 IPv4。

  1. 在门户主页上,搜索“虚拟网络”并选择“MyVNet”虚拟网络

  2. 在“地址空间”旁边,选择“10.0.0.0/16”

  3. 在“设置”下,选择“子网”。

  4. 选择“+ 子网”以添加新子网

  5. 在“名称”下,输入“MyBackendSubnet”

  6. 默认地址空间为“10.0.1.0/24”。 选择“保存”以接受此设置和所有其他默认设置

    创建后端子网

添加后端目标

接下来,添加后端目标以测试应用程序网关:

  1. 创建一个 VMmyVM,用作后端目标。 还可以使用现有的虚拟机(如果可用)。
  2. 在虚拟机上安装 IIS,以验证是否已成功创建了应用程序网关。
  3. 将后端服务器 (VM) 添加到后端池

注意

此处仅部署一个虚拟机作为后端目标,因为我们只会测试连接。 如果你还想测试负载均衡,可以添加多个虚拟机。

创建虚拟机

应用程序网关可以将流量路由到后端池中使用的任何类型的虚拟机。 此示例使用了 Windows Server 2019 Datacenter 虚拟机。

  1. 在 Azure 门户菜单上或在“主页”中,选择“创建资源”。
  2. 在“常用”列表中选择“Windows Server 2019 Datacenter” 。 此时会显示“创建虚拟机”页。
  3. 在“基本信息”选项卡上输入以下值
    • 资源组:选择“myResourceGroupAG”
    • 虚拟机名称:输入“myVM”。
    • 区域:选择在其中创建了应用程序网关的同一区域。
    • 用户名:为管理员用户名输入一个名称。
    • 密码:输入密码。
    • 公共入站端口:无
  4. 接受其他默认值,然后选择“下一步:磁盘”
  5. 接受“磁盘”选项卡的默认值,然后选择“下一步:网络”
  6. 在“虚拟网络”旁边,验证是否选择了“myVNet”
  7. 在“子网”旁边,验证是否选择了“myBackendSubnet”
  8. 在“公共 IP”旁边,选择“无”
  9. 选择“下一步: 管理”、“下一步: 监视”,然后在“启动诊断”旁边选择“禁用”
  10. 选择“查看 + 创建”。
  11. 在“复查 + 创建”选项卡上复查设置,更正任何验证错误,然后选择“创建”。
  12. 等待虚拟机创建完成,然后再继续操作。

安装 IIS 用于测试

本示例在虚拟机上安装 IIS,以验证 Azure 是否已成功创建应用程序网关。

  1. 打开 Azure PowerShell。

    在 Azure 门户的顶部导航栏中选择“Cloud Shell”,然后从下拉列表中选择“PowerShell”。

  2. 运行以下命令以在虚拟机上安装 IIS。 如有必要,请更改 Location 参数:

    Set-AzVMExtension `
      -ResourceGroupName myResourceGroupAG `
      -ExtensionName IIS `
      -VMName myVM `
      -Publisher Microsoft.Compute `
      -ExtensionType CustomScriptExtension `
      -TypeHandlerVersion 1.4 `
      -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
      -Location WestCentralUS
    

    请参阅以下示例:

    安装自定义扩展的屏幕截图。

将后端服务器添加到后端池

  1. 在 Azure 门户菜单中选择“应用程序网关”,或搜索并选择“应用程序网关”。 然后选择“myAppGateway”。

  2. 在“设置”下,依次选择“后端池”和“myBackendPool”

  3. 在“后端目标”、“目标类型”下,从下拉列表中选择“虚拟机”。

  4. 在“目标”下,从下拉列表中选择“myVM”网络接口

    添加后端服务器

  5. 选择“保存”。

  6. 等待部署完成之后再继续下一步。 部署需要几分钟时间。

测试应用程序网关

无需 IIS 即可创建应用程序网关。 此处之所以安装了 IIS,是为了验证能否成功连接到应用程序网关的 IPv6 接口。

以前,我们已将 DNS 名称 myipv6appgw.westcentralus.cloudapp.azure.com 分配给应用程序网关的公共 IPv6 地址。 若要测试此连接,请执行以下操作:

  1. 将 DNS 名称粘贴到浏览器的地址栏中,以连接到相应的站点。

  2. 检查响应。 myVM 的有效响应会验证应用程序网关是否已成功创建,以及是否能够成功连接后端。

    测试 IPv6 连接

    重要

    如果与 DNS 名称或 IPv6 地址的连接失败,则可能是因为无法从设备浏览 IPv6 地址。 若要检查此问题是否为问题,请测试应用程序网关的 IPv4 地址。 如果 IPv4 地址成功连接,则可能没有分配给设备的公共 IPv6 地址。 如果是这种情况,可以尝试使用双栈 VM 测试连接。

清理资源

如果不再需要通过应用程序网关创建的资源,请删除资源组。 删除资源组时,也会删除应用程序网关和所有相关资源。

若要删除资源组,请执行以下操作:

  1. 在 Azure 门户菜单上,选择“资源组”,或搜索并选择“资源组”。
  2. 在“资源组”页的列表中搜索“myResourceGroupAG”,然后将其选中。
  3. 在“资源组”页上,选择“删除资源组” 。
  4. 在“键入资源组名称”字段下输入“myResourceGroupAG”,然后选择“删除”

后续步骤