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

教程:使用 Azure DDoS 网络防护保护应用程序网关

本文介绍如何使用受 DDoS 保护的虚拟网络创建 Azure 应用程序网关。 Azure DDoS 网络防护支持增强的 DDoS 缓解功能,例如自适应优化、攻击警报通知和监视,以保护应用程序网关免受大规模 DDoS 攻击。

Diagram of DDoS Protection connecting to an Application Gateway.

重要

使用网络防护 SKU 时,Azure DDoS 防护会产生费用。 仅在租户中受保护的公共 IP 超过 100 个时,才会收取超额费用。 如果将来不使用本教程中的资源,请确保将其删除。 有关定价的信息,请参阅 Azure DDoS 防护定价。 有关 Azure DDoS 防护的详细信息,请参阅什么是 Azure DDoS 防护

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

  • 创建 DDoS 防护计划
  • 创建应用程序网关
  • 将 DDoS 防护计划关联到虚拟网络
  • 将 VM 添加到应用程序网关的后端
  • 测试应用程序网关

先决条件

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

创建 DDoS 防护计划

  1. 登录 Azure 门户

  2. 在门户顶部的搜索框中,输入“DDoS 防护”。 在搜索结果中选择“DDoS 防护计划”,然后选择“+创建”。

  3. 在“创建 DDoS 防护计划”页的“基本信息”选项卡上,输入或选择以下信息:

    Screenshot of basics tab for creating a DDoS protection plan.

    设置
    项目详细信息
    订阅 选择 Azure 订阅。
    资源组 选择“新建”。
    输入“myResourceGroupAG”
    选择“确定”。
    实例详细信息
    名称 输入“myDDoSProtectionPlan”。
    区域 选择“美国中部”。
  4. 依次选择“查看 + 创建”、“创建”以部署 DDoS 防护计划。

创建应用程序网关

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

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

“基本信息”选项卡

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

    • 资源组:选择 myResourceGroupAG 作为资源组。 如果该资源组不存在,请选择“新建”,创建一个新的。

    • 应用程序网关名称:输入 myAppGateway 作为应用程序网关的名称。

      Create new application gateway: Basics

  2. Azure 需要一个虚拟网络才能在创建的资源之间通信。 可以创建新的虚拟网络,或者使用现有的虚拟网络。 在此示例中,将在创建应用程序网关的同时创建新的虚拟网络。 在独立的子网中创建应用程序网关实例。 在本示例中创建两个子网:一个用于应用程序网关,另一个用于后端服务器。

    注意

    应用程序网关子网中当前不支持虚拟网络服务终结点策略

    在“配置虚拟网络”下,通过选择“新建”创建新的虚拟网络 。 在打开的“创建虚拟网络”窗口中,输入以下值以创建虚拟网络和两个子网 :

    • 名称:输入 myVNet 作为虚拟网络的名称。

    • 子网名称(应用程序网关子网):子网网格将显示名为“默认”的子网。 将此子网的名称更改为 myAGSubnet。
      应用程序网关子网只能包含应用程序网关。 不允许其他资源。

    • 子网名称(后端服务器子网):在子网网关的第二行中,在“子网名称”列输入“myBackendSubnet”。

    • 地址范围(后端服务器子网):在子网网格的第二行中,输入不会与 myAGSubnet 的地址范围重叠的地址范围。 例如,如果 myAGSubnet 的地址范围为 10.0.0.0/24,则为 myBackendSubnet 的地址范围输入 10.0.1.0/24 。

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

    Create new application gateway: virtual network

  3. 在“基本信息” 选项卡上,接受其他设置的默认值,然后选择“下一步: 前端”。

“前端”选项卡

  1. 在“前端”选项卡上,验证“IP 地址类型”是否设置为“公共” 。
    可根据用例将前端 IP 配置为公共或专用 IP。 本示例将选择公共前端 IP。

    注意

    对于应用程序网关 v2 SKU,必须有一个公共前端 IP 配置。 你仍可以同时有公共和专用前端 IP 配置,但目前没有为 v2 SKU 启用仅专用前端 IP 配置(仅限 ILB 模式)。

  2. 为“公共 IP 地址”选择“新增”,输入“myAGPublicIPAddress”作为公共 IP 地址名称,然后选择“确定” 。

    Create new application gateway: frontends

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

“后端”选项卡

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

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

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

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

    Create new application gateway: backends

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

配置选项卡

在“配置”选项卡上,将连接使用传递规则创建的前端和后端池。

  1. 选择“传递规则”列中的“添加传递规则” 。

  2. 在打开的“添加传递规则”窗口中,为规则名称和优先级输入以下值:

    • 规则名称:输入 myRoutingRule 作为规则的名称。
    • 优先级:优先级值应介于 1 到 20000 之间(其中 1 表示最高优先级,20000 表示最低优先级) - 在此快速入门中,请在优先级处输入 100。
  3. 传递规则需要侦听器。 在“添加传递规则”窗口中的“侦听器”选项卡上,输入侦听器的以下值 :

    • 侦听器名称:输入“myListener”作为侦听器名称。

    • 前端 IP:选择“公共”,以选择为前端创建的公共 IP。

      接受“侦听器”选项卡上其他设置的默认值,然后选择“后端目标”选项卡以配置剩余的传递规则 。

    Create new application gateway: listener

  4. 在“后端目标”选项卡上,为“后端目标”选择“myBackendPool” 。

  5. 对于“后端设置”,请选择“新增”以创建新的后端设置。 后端设置将决定传递规则的行为。 在打开的“添加后端设置”窗口中,在“后端设置名称”中输入 myBackendSetting,在“后端端口”中输入 80。 接受“添加后端设置”窗口中其他设置的默认值,然后选择“添加”以返回到“添加传递规则”窗口。

    Create new application gateway: HTTP setting

  6. 在“添加传递规则”窗口上,选择“添加”以保存传递规则并返回到“配置”选项卡 。

    Create new application gateway: routing rule

  7. 在完成时选择“下一步: 标记”,然后选择“下一步: 查看 + 创建”。

“查看 + 创建”选项卡

复查“查看 + 创建”选项卡上的设置,然后选择“创建”以创建虚拟网络、公共 IP 地址和应用程序网关 。 Azure 可能需要数分钟时间来创建应用程序网关。 请等待部署成功完成,然后再前进到下一部分。

启用 DDoS 防护

要保护的资源所在的虚拟网络上将启用 Azure DDoS 网络防护。

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

  2. 选择“myVNet”。

  3. 在“设置”中,选择“DDoS 防护”。

  4. 选择“启用”。

  5. 在 DDoS 防护计划的下拉框中,选择“myDDoSProtectionPlan”。

    Screenshot of D D o S network protection.

  6. 选择“保存”。

添加后端目标

本示例将使用虚拟机作为目标后端。 可以使用现有的虚拟机,或创建新的虚拟机。 将创建两个虚拟机,作为应用程序网关的后端服务器。

为此,将要:

  1. 创建两个新的 VM(myVM 和 myVM2),用作后端服务器 。
  2. 在虚拟机上安装 IIS,以验证是否成功创建了应用程序网关。
  3. 将后端服务器添加到后端池。

创建虚拟机

  1. 在 Azure 门户菜单或“主页”页上,选择“创建资源” 。 此时会显示“新建”窗口。

  2. 在“常用”列表中选择“Windows Server 2016 Datacenter” 。 此时会显示“创建虚拟机”页。
    应用程序网关可将流量路由到其后端池中使用的任何类型的虚拟机。 在此示例中,可以使用 Windows Server 2016 Datacenter 虚拟机。

  3. 对于以下虚拟机设置,请在“基本信息”选项卡中输入相应值:

    • 资源组:选择 myResourceGroupAG 作为资源组名称。
    • 虚拟机名称:输入 myVM 作为虚拟机的名称。
    • 区域:选择在其中创建了应用程序网关的同一区域。
    • 用户名:为管理员用户名键入一个名称。
    • 密码:键入密码。
    • 公共入站端口:无。
  4. 接受其他默认值,然后选择“下一步:磁盘”

  5. 接受“磁盘”选项卡的默认值,然后选择“下一步:网络”

  6. 在“网络”选项卡上,验证是否已选择 myVNet 作为虚拟网络,以及是否已将“子网”设置为 myBackendSubnet。 接受其他默认值,然后选择“下一步:管理”
    应用程序网关可与其所在的虚拟网络外部的实例进行通信,但需要确保已建立 IP 连接。

  7. 在“管理”选项卡上,将“启动诊断”设置为“禁用” 。 接受其他默认值,然后选择“复查 + 创建”。

  8. 在“复查 + 创建”选项卡上复查设置,更正任何验证错误,然后选择“创建”。

  9. 等待虚拟机创建完成,然后再继续操作。

安装 IIS 用于测试

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

  1. 打开 Azure PowerShell。

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

    Install custom extension

  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 EastUS
    
  3. 使用以前完成的步骤创建第二个虚拟机并安装 IIS。 使用 myVM2 作为虚拟机名称,以及作为 Set-AzVMExtension cmdlet 的 VMName 设置。

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

  1. 在 Azure 门户菜单上,选择“所有资源”,或搜索并选择“所有资源”。 然后选择“myAppGateway”。

  2. 从左侧菜单中选择“后端池”。

  3. 选择“myBackendPool”。

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

  5. 在“目标”下,从下拉列表中选择“myVM”和“myVM2”虚拟机及其关联的网络接口。

    Add backend servers

  6. 选择“保存”。

  7. 等待部署完成之后再继续下一步。

测试应用程序网关

虽然不需 IIS 即可创建应用程序网关,但本快速入门中安装了它,用来验证 Azure 是否已成功创建应用程序网关。

使用 IIS 测试应用程序网关:

  1. 在“概览”页上找到应用程序网关的公共 IP 地址。Record application gateway public IP address另外,你也可选择“所有资源”,在搜索框中输入 myAGPublicIPAddress,然后在搜索结果中将其选中。 Azure 会在“概览”页上显示公共 IP 地址。

  2. 复制公共 IP 地址,然后将其粘贴到浏览器的地址栏中,以便浏览该 IP 地址。

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

    Test application gateway

    多次刷新浏览器,应看到与 myVM 和 myVM2 的连接。

清理资源

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

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

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

后续步骤

转到下一篇文章,了解如何执行以下操作: