配置带宽封顶

为防止域名被攻击或盗刷产生突发高带宽,导致产生高额账单,可通过配置带宽封顶,控制用户访问该域名的带宽上限值,减少因突发流量导致的损失。

功能介绍

带宽封顶,即通过设置带宽上限,来控制带宽用量。当指定加速域名在统计周期(1分钟)内产生的平均带宽超出预设上限,CDN将停止为该域名提供加速服务,且该域名会被解析到无效地址offline.***.com,无法被继续访问。

  • 域名带宽小于上限:域名正常使用CDN加速服务。

  • 突发流量,域名带宽达到或超过带宽上限:域名将会自动下线,并通过CNAME域名被解析到无效地址offline.***.com,无法被继续访问。

  • 突发流量恢复正常,域名带宽重新小于带宽上限:CDN默认不会自动恢复加速服务,您需要在CDN控制台手动启用该域名来恢复CDN加速服务,具体操作详见恢复CDN加速服务

注意事项

  • 泛域名暂不支持带宽封顶功能,设置后不会生效。

  • 开启带宽封顶功能后,当您的域名在统计周期内超出您设置的带宽上限时,CDN将会下线该域名。为了不影响您的域名业务,建议您合理评估,谨慎设置您的带宽峰值。

  • 由于域名带宽的监控数据存在一定延迟(大约10分钟),实际带宽达到阈值大约10分钟后,域名才会被下线,域名下线前产生的流量、带宽、请求数等资源消耗将会正常计费。

  • 为RAM用户开启带宽封顶功能需添加管理CDN的权限。

    您可以登录RAM控制台,新增AliyunCDNFullAccess权限。

  • 带宽封顶功能并非带宽限速功能。带宽封顶是达到峰值后域名会自动下线;带宽限速是达到带宽上限之后CDN会做限速。

  • 通过CDN控制台配置带宽封顶功能,最多只能给20个域名配置带宽封顶规则(一个域名只能配置一条规则,20个域名对应20条规则)。如果在配置超过20个域名的情况下,开启带宽封顶功能以后,功能配置界面上将不会显示配置结果,这种情况下如果您还需要配置带宽封顶规则,您需要前往阿里云云监控产品控制台进行配置,具体请参见查看和编辑云监控报警规则

  • 带宽封顶功能使用的是1分钟粒度的实时监控数据,与CDN产品控制台上的实时监控功能使用的是相同的数据源,1分钟粒度数据(实时监控)的带宽峰值通常都会高于5分钟粒度数据(资源监控用量查询),因此建议您以实时监控功能的带宽峰值数据为参考对象,来设定适当的带宽阈值,避免因为瞬间的带宽突增而导致域名下线。

开启或关闭带宽封顶

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,找到目标域名,单击操作列的管理

  4. 在指定域名的左侧导航栏,单击流量限制

  5. 可选:完成角色授权(首次开启带宽封顶时完成)。

    1. 角色授权策略后,单击点击授权

    2. 云资源访问授权页面,单击同意授权

      说明

      如果无法通过CDN控制台的授权按钮来一键开启授权,您还可以在RAM访问控制台开启云监控的CDN服务调用权限,具体操作请参见通过RAM访问控制服务开启云监控的CDN服务调用权限

  6. 带宽封顶区域,单击修改配置

  7. 选择开启或关闭带宽封顶功能。

    • 开启带宽封顶:打开带宽封顶开关,配置带宽上限值。

      说明

      相邻的两个带宽单位之间的进率是1000。例如:1 Tbps=1000 Gbps,1 Gbps=1000 Mbps。

    • 关闭带宽封顶:关闭带宽封顶开关。

  8. 单击确定,完成配置。

查看和编辑云监控报警规则

当您开启带宽封顶后,阿里云CDN会调用阿里云云监控产品的CDN带宽监控报警功能,在云监控产品中新增一条针对CDN产品的报警规则,触发报警后会通知云监控产品中设置的默认报警联系人。

如果您需要调整报警联系人员或者查看报警历史,可以通过登录云监控控制台来操作,具体方法如下。

  1. 登录云监控控制台

  2. 在左侧导航栏,选择报警服务 > 报警规则

    云监控

  3. 调整报警联系人员或者查看报警历史。

  4. 查看指定域名的报警规则。

    如果需要查询指定域名的报警规则,在报警规则列表页面搜索框中输入需要查询的域名,再单击搜索按钮即可。查询指定域名报警规则

恢复CDN加速服务

域名突发流量超过阈值,恢复正常后(即域名带宽重新小于带宽上限),CDN默认不会自动恢复加速服务,您需要在CDN控制台手动启用该域名来恢复CDN加速服务。操作方式如下:

CDN控制台域名管理页面,选中该域名,单击启用,重新启用该域名。

通过RAM访问控制服务开启云监控的CDN服务调用权限

  1. 登录RAM控制台

  2. 在左侧导航栏,单击权限管理权限策略

  3. 权限策略页面,单击创建权限策略

    1. 脚本编辑页签,输入以下策略内容。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cdn:StopCdnDomain"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    2. 单击继续编辑基本信息,输入以下信息之后单击确定

      名称:AliyunCloudMonitorAccessingCDNRolePolicy

      备注:用于云监控(CloudMonitor)角色的授权策略,包括CDN域名停用接口的调用权限

  4. 在左侧导航栏,单击身份管理角色

    1. 角色页面,单击创建角色

    2. 选择可信实体类型设置为阿里云账号,单击下一步

    3. 配置角色阶段,输入以下信息

      角色名称:AliyunCloudMonitorAccessingCDNRole

      备注:云监控(CloudMonitor)默认使用此角色来访问CDN产品中的资源

    4. 选择信任的云账号选项设置为当前云账号,单击完成

  5. 角色创建完成之后,在角色页面列表中单击AliyunCloudMonitorAccessingCDNRole,进入角色编辑页面。

    1. 信任策略页签,单击编辑信任策略,输入以下信息之后单击保存信任策略

      image (1)

    2. 切换到权限管理页签,单击新增授权

      资源范围:账号级别

      选择权限:自定义策略,选择之前创建的AliyunCloudMonitorAccessingCDNRolePolicy,单击确定新增授权image

  6. 完成角色授权之后,返回CDN控制台的流量限制页面,可以看到带宽封顶功能已经完成授权。

关闭云监控的CDN服务调用权限

如果您不希望云监控获得CDN服务调用权限(该权限能够自动下线CDN域名),您可以通过访问控制RAM(Resource Access Management)控制台,取消对应角色名称的授权,关闭云监控的CDN服务调用权限。

  1. 登录RAM控制台

  2. 在左侧导航栏,单击身份管理角色

  3. 角色页面列表中单击AliyunCloudMonitorAccessingCDNRole,进入角色编辑页面。

  4. 权限管理页签,单击解除授权,移除所有权限。image.png

  5. 返回身份管理角色页面,单击角色列表中AliyunCloudMonitorAccessingCDNRole对应的删除角色

    删除角色页面输入AliyunCloudMonitorAccessingCDNRole角色名称后,单击删除角色

常见问题

为什么域名下线前实际带宽会大于带宽封顶阈值?

由于域名带宽的监控数据存在一定延迟(大约10分钟),实际带宽达到阈值大约10分钟后,域名才会被下线,域名下线前产生的流量、带宽、请求数等资源消耗将会正常计费。具体举例说明如下:

  • 示例1(按带宽峰值计费模式):

    客户A使用“按带宽峰值计费”,只添加了域名example.com,并开启了带宽封顶功能,带宽上限设为10 Gbps

    在2021年02月01日21:00~21:01期间,带宽突增至10 Gbps,由于监控数据有一定的延迟,域名在2021年02月01日21:11左右才被执行下线,下线前带宽峰值达到了25 Gbps。因此,在系统生成的2021年02月01日“按带宽峰值计费”账单中会按照25 Gbps的带宽用量来计算账单金额。1

  • 示例2(按流量计费):

    客户B使用“按流量计费”,只添加了域名example.com,为该域名开启了带宽封顶功能,设置的带宽上限为10 Gbps

    在2021年02月01日21:00~21:01带宽突增至10 Gbps,消耗流量30 GB。由于监控数据有一定的延迟,域名在2021年02月01日21:11左右才会被执行下线,数据延迟过程中消耗流量400 GB,域名example.com在下线之前产生的所有流量都会被计算到2021年02月01日21:00~22:00这个时间段的“按流量计费”账单中。2

CDN是否支持设置流量上限?

不支持,CDN无法设置流量上限。

如果您担心流量过大,可以使用阿里云监控服务设置对CDN下行流量指标监控,达到设定的阈值后将会给管理员发送告警(短信、邮件和钉钉),具体操作请参见报警服务

是否支持对CDN下所有域名设置总的带宽峰值?

不支持。CDN是按照单个域名进行限制,如果需要设置所有域名,对每个域名单独配置即可。

需注意通过CDN控制台配置带宽封顶功能,最多只能给20个域名配置带宽封顶规则(一个域名只能配置一条规则,20个域名对应20条规则)。如果在配置超过20个域名的情况下,开启带宽封顶功能以后,功能配置界面上将不会显示配置结果,这种情况下如果您还需要配置带宽封顶规则,您需要前往阿里云云监控产品控制台上配置,具体请参见查看和编辑云监控报警规则

不想带宽封顶达到上限后下线域名,仅需要限制全网带宽怎么处理?

带宽封顶是达到峰值后域名会自动下线,如果您不想下线域名,仅需要限制每个请求的最大速率,可通过配置单请求限速功能,压制加速域名的全网带宽峰值,详细信息请参见配置单请求限速

是否支持对指定IP限速?

不支持。CDN的带宽封顶是针对整个域名的,无法将流量限制到某个IP上。

相关API

阿里云CDN产品的带宽封顶功能调用了阿里云云监控产品的CDN带宽监控报警功能,该能力是通过云监控产品的相关API来实现的,具体的API如下: