概述

简介

BGP高防自动化调度,是指为遭受攻击的EIP创建临时高防实例并进行DNS调度。在EIP遭受攻击时,通过DNS调度的方式将流量自动调度到高防机房,经高防机房清洗攻击流量后,将正常流量回源到调度EIP,最终到达EIP绑定的BCC/BLB;攻击结束时,自动结束DNS调度,流量正常到达EIP。该场景配置时,需要指定调度EIP、公有云区域、健康检查端口。

服务域名

产品是全局产品,服务域名为adas.baidubce.com。

通用说明

API调用遵循HTTP协议,数据交换格式为JSON,所有request/response body内容均采用UTF-8编码。URL参数中所使用的IP均使用点分十进制表示。

请求参数

请求参数包括如下4种:

参数类型 说明
URI 通常用于指明操作实体,如:PUT /v1/schedule/{scheduleId}
Query参数 URL中携带的请求参数
HEADER 通过HTTP头域传入,如:x-bce-date
Requestbody 通过JSON格式组织的请求数据体

返回值说明

返回值分为两种形式:

返回内容 说明
HTTP STATUS CODE 如200,400,403,404等
ResponseBody JSON格式组织的响应数据体

公共请求头

下表列出了所有AdasSchedule API所携带的公共头域。HTTP协议的标准头域不在此处列出

头域(HEADER) 是否必须 说明
Authorization 包含Access Key与请求签名
Content-Type application/json; charset=utf-8
x-bce-date 表示日期的字符串,符合BCE API规范

公共响应头

下表列出了所有AdasSchedule API的公共响应头域。HTTP协议的标准响应头域不在此处列出

头域(HEADER) 说明
Content-Type 只支持JSON格式,application/json; charset=utf-8
x-bce-request-id AdasSchedule后端生成,并自动设置到响应头域中

错误码

请求发生错误时通过respone body返回详细错误信息,遵循如下格式:

参数名 类型 说明
code String 错误码
message String 错误描述
requestId String 本次请求的requestId

示例:

{
    "requestId" : "ae2225f7-1c2e-427a-a1ad-5413b762957d",
    "code" : "NoSuchKey",
    "message" : "The resource you requested does not exist"
}

公共错误码

错误码 消息 HTTP状态码 语义
AccessDenied Access denied. 403 Forbidden 无权限访问对应的资源
InappropriateJSON The JSON you provided was well-formed and valid, but not appropriate for this operation. 400 Bad Request 请求中的JSON格式正确,但语义上不符合要求。如缺少某个必需项,或者值类型不匹配等。出于兼容性考虑,对于所有无法识别的项应直接忽略,不应该返回这个错误。
InternalError We encountered an internal error. Please try again. 500Internal Server Error 所有未定义的其他错误。在有明确对应的其他类型的错误时(包括通用的和服务自定义的)不应该使用。
InvalidAccessKeyId The Access Key ID you provided does not exist in our records. 403 Forbidden Access Key ID不存在
InvalidHTTPAuthHeader The HTTP authorization header is invalid. Consult the service documentation for details. 400 Bad Request Authorization头域格式错误
InvalidHTTPRequest There was an error in the body of your HTTP request. 400 Bad Request HTTP body格式错误。例如不符合指定的Encoding等
InvalidURI Could not parse the specified URI. 400 Bad Request URI形式不正确。例如一些服务定义的关键词不匹配等。对于ID不匹配等问题,应定义更加具体的错误码,例如NoSuchKey。
MalformedJSON The JSON you provided was not well-formed. 400 Bad Request JSON格式不合法
InvalidVersion The API version specified was invalid. 404 Not Found URI的版本号不合法
OptInRequired A subscription for the service is required. 403 Forbidden 没有开通对应的服务
PreconditionFailed The specified If-Match header doesn't match the ETag header. 412 Precondition Failed 详见ETag
RequestExpired Request has expired. Timestamp date is XXX. 400 Bad Request 请求超时。XXX要改成x-bce-date的值。如果请求中只有Date,则需要将Date转换为datetime。
IdempotentParameterMismatch The request uses the same client token as a previous, but non-identical request. 403 Forbidden clientToken对应的API参数不一样。
SignatureDoesNotMatch The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. Consult the service documentation for details. 400 Bad Request Authorization头域中附带的签名和服务端验证不一致

AdasSchedule业务错误码

错误码 错误描述 HTTP状态码 语义
ScheduleInstanceNotFound The specified schedule instance does not exist. 404 调度实例不存在
UnsupportedScheduleInstanceOperation The status of specified schedule instance does not support this operation. 400 指定的调度实例状态不支持此类型操作
AdasInstanceIsInvalid The specified adas instance is invalid. 400 高防实例不合理
ScheduleNatAlreadyExist The specified schedule nat already exist. 400 调度nat已经存在
ScheduleNatNotFound The specified schedule nat does not exist. 404 调度nat不存在
VpcInstanceNotFound The specified vpc instance does not exist. 404 vpc实例不存在
NatInstanceNotFound The specified nat instance does not exist. 404 nat实例不存在

名词解释

下表列出了所有AdasSchedule API的涉及到的关键名词及解释。

名词 解释
调度实例IP 需要配置调度服务的IP,为用户EIP
高防实例IP 调度发生后,创建的高防实例对应的IP
高防回源IP 调度发生后,高防回源到用户后端服务器的流量的源IP
高防调度域名 正常情况下,解析到调度实例IP;调度发生后,解析到高防实例IP