DDoS原生防护代播模式攻击时自动启用配置

本文介绍了使用DDoS原生防护代播模式自动防御大流量DDoS攻击的最佳实践,适用于已经开通了DDoS原生防护代播模式的用户在阿里云IP资产受到攻击时,通过API接口自动启用DDoS原生防护代播模式的场景。

前提条件

背景信息

DDoS原生防护代播版可以为海外云下IDC、小型运营商、阿里云海外客户以及有自己BGP网络的客户提供阿里云的DDoS防护,且防护过程不需要改变原有业务IP地址和网络架构。下图描述了DDoS原生防护代播版的防护原理。代播模式架构图

原理说明:

  • 正常流量或小流量攻击:流量直接访问阿里云DDoS原生防护本地机房,无额外延迟增加,可以防御小流量攻击。

  • 发生DDoS攻击时:清洗中心宣告路由,流量由全球清洗中心分布式清洗,延迟略有增加,但防护能力可以增加到Tbps级别。

本文将指导您使用云监控的报警功能设置报警规则,监控DDoS原生防护本地机房的DDoS攻击;如果发生DDoS攻击,通过API接口调用开启DDoS原生防护代播实例的牵引防护,并在攻击结束后,停止牵引防护。

说明

本文中所有用到API请求参数示例的地方,全部使用<参数描述>表示,例如要求传入原生防护代播版实例ID的地方,表示为InstanceId=<yourOnDemandInstanceId>

具体操作中,请使用真实的参数值替换<参数描述>,例如您需要联系销售人员获取您的原生防护代播实例的ID(InstanceId),并替换<yourOnDemandInstanceId>

操作步骤

  1. 通过云监控设置DDoS原生防护黑洞事件的报警通知,监控DDoS原生防护本地清洗中心的黑洞、清洗事件。

    1. 登录云监控控制台

    2. 在左侧导航栏,选择事件中心 > 自定义事件

    3. 单击事件报警规则页签后,单击创建报警规则,在创建/修改事件报警页面配置以下事件报警参数。

      产品类型选择DDoS原生防护事件类型选择DDoS攻击事件等级选择严重,事件名称选择黑洞清洗资源范围选择全部资源。其他参数的详细解释,请参见创建系统事件报警规则

    4. 单击确定

    成功创建报警规则后,报警规则自动生效,一旦DDoS原生防护实例上发生DDoS攻击,报警规则中指定的联系人组会第一时间收到报警通知。

  2. 发生DDoS攻击(即收到黑洞、清洗事件报警通知)时,调用ModifyOnDemaondDefenseStatus接口开启DDoS原生防护代播实例的流量牵引防护,将流量牵引至阿里云全球Anycast清洗中心。

    您需要传入以下请求参数:

    ?Action=ModifyOnDemaondDefenseStatus
    &DdosRegionId=<yourInstanceRegionId>
    &DefenseStatus=Defense
    &InstanceId=<yourOnDemandInstanceId>
  3. 可选:解除DDoS原生防护企业版实例的黑洞状态。

    • 如果DDoS原生防护企业版实例未触发黑洞状态,请忽略该步骤。

    • 如果DDoS原生防护企业版实例处于黑洞状态,您可以在开启流量牵引防护约10秒以后,调用DeleteBlackhole - 为被防护IP解除黑洞状态接口解除DDoS原生防护企业版实例的黑洞状态。

      您需要传入以下请求参数:

      ?Action=DeleteBlackhole
      &InstanceId=<yourOnDemandInstanceId>
      &Ip=<yourOnDemandInstanceIp>
  4. 调用DescribeTopTraffic接口查询DDoS攻击是否结束。

    您需要传入以下请求参数:

    ?Action=DescribeTopTraffic
    &Ipnet=<onDemandInstanceIpnetToQuery>
    &InstanceId=<yourOnDemandInstanceId>
    &StartTime=<startTimeToQuery>
    &EndTime=<endTimeToQuery>             

    如果返回的AttackBps(攻击流量大小,单位:Kbps)小于300000,并持续30分钟以上,则表示DDoS攻击已经结束。

  5. 确认DDoS攻击事件结束后,在业务低峰时段调用ModifyOnDemaondDefenseStatus接口停止DDoS原生防护代播实例的流量牵引防护。

    说明

    建议您在业务低峰时段调用停止牵引,这样可以减少流量切换带来的影响。

    您需要传入以下请求参数:

    ?Action=ModifyOnDemaondDefenseStatus
    &DdosRegionId=<yourDdosRegionId>
    &DefenseStatus=UnDefense
    &InstanceId=<yourOnDemandInstanceId>