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

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

Azure 应用程序网关 支持来自客户端的双堆栈(IPv4 和 IPv6)前端连接。 若要使用 IPv6 前端连接,需要创建新的应用程序网关。 目前无法将现有 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 的所有公有云区域。 它还在由世纪互联和 Azure 政府运营的 Azure Microsoft中提供

局限性

  • 只有 v2 SKU 支持具有 IPv4 和 IPv6 地址的前端
  • 目前不支持 IPv6 后端
  • 目前不支持 IPv6 专用链接
  • 目前不支持仅限 IPv6 的应用程序网关。 应用程序网关必须是双堆栈(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::/48 和 ace:cab::deca::/64。 如果看到不同的默认值,则可能具有与这些范围重叠的现有子网。

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

    注释

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

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

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

“前端”选项卡

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

    重要

    对于 专用应用程序网关,可以配置专用 IPv6 前端 IP,但还必须配置专用 IPv4 地址。 换句话说,仅专用应用程序网关需要专用 IPv4 和专用 IPv6 地址。

  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。 此处已安装它以验证你是否能够成功连接到应用程序网关的 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,然后选择“删除”

后续步骤