新建自定义路由
描述
新建RouteEntry
支持在专有网络中的路由器(VRouter)和高速通道中的边界路由器(VBR)上的路由表(RouteTable)里,新建RouteEntry
在专有网络中的路由器上的RouteTable中创建RouteEntry:
同一个路由表中自定义路由条目不能超过48条
RouteEntry的DestinationCidrBlock不允许和VPC内VSwitch的CIDRBlock相同,也不允许包含VSwitch的CIDRBlock或者被VSwitch的CIDRBlock包含
RouteEntry的DestCidrBlock网段不允许指向100.64.0.0/10,也不允许被100.64.0.0/10包含
同一RouteTable下RouteEntry的DestCidrBlock不允许相同
如果指定的DestinationCidrBlock是一个IP地址,会按照掩码为32位来处理
多条RouteEntry允许指向同一个InstanceId
RouteEntry指定的下一跳InstanceId,必须属于所在的VPC
一个VPC内,指向HaVip的路由条目最多可以同时存在5条;
支持通过NextHopList参数配置ECMP路由
在边界路由器上的RouteTable中新建RouteEntry
同一个路由表中自定义路由条目不能超过48条
不支持NextHopList参数
RouteEntry的DestCidrBlock网段不允许指向100.64.0.0/10,也不允许被100.64.0.0/10包含
同一RouteTable下RouteEntry的DestCidrBlock不允许相同
如果指定的DestinationCidrBlock是一个IP地址,会按照掩码为32位来处理
多条RouteEntry允许指向同一个InstanceId
RouteEntry指定的下一跳InstanceId,必须属于所在的VBR
RouteEntry的下一跳类型仅支持RouterInterface
只允许在VBR状态是Active,而且对应的物理专线状态是Enabled且没有被欠费锁定的情况下在VBR上新建RouteEntry
请求参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
Action | String | 是 | 系统规定参数,取值:CreateRouteEntry |
RouteTableId | String | 是 | RouteTableId |
DestinationCidrBlock | String | 是 | RouteEntry的目的网段 |
NextHopType | String | 否 | 下一跳的类型,可选值为Instance|Tunnel|HaVip,默认值为Instance |
NextHopId | String | 否 | 路由条目的下一跳实例ID,非ECMP路由 |
NextHopList | NextHopListType | 否 | 路由条目的下一跳列表如果指定了NextHopList,则该路由为ECMP类路由,NextHopList包含了ECMP方式的多个下一跳。此时NextHopType和NextHopId必须为空,NextHopList支持包含有2-4个下一跳。 如果没有指定NextHopList,则该路由为非ECMP类路由。由NextHopType和NextHopId指定下一跳。 |
ClientToken | String | 否 | 用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不值过64个ASCII字符。 具体参见附录:如何保证幂等性。 |
返回参数
全是公共返回参数,详见公共返回参数
错误码
错误代码 | 描述 | Http 状态码 | 语义 |
---|---|---|---|
MissingParameter | Miss mandatory parameter. | 400 | 缺少必要参数参数 |
InvalidCidrBlock.Malformed | Specified CIDR block is not valid. | 400 | 指定的网段不合法 |
InvalidNextHopId.NotFound | Specified next hop does not exist. | 404 | 指定的NextHopId不存在 |
InvalidInstanceId.NotFound | Specified instance does not exist. | 404 | 指定的ECS实例不存在(实例不在该vpc下) |
InvalidRouteTableId.NotFound | Specified route table does not exist. | 404 | 指定的虚拟路由表不存在 |
InvalidCIDRBlock.Duplicate | Specified CIDR block is already exists. | 400 | 指定的网段已经在该路由表中存在 |
IncorrectVpcStatus | Current VPC status does not support this operation. | 400 | 所指定的VPC未创建完成 |
QuotaExceeded | Route entry quota exceeded in this route table. | 400 | 同一个路由表中自定义路由条目不能超过48条 |
IncorretRouteEntryStatus | Some route entry status blocked this operation. | 400 | 同一个vpc下面的路由表中的任一个路由条目/VSwitch处在中间状态(添加中,修改中,删除中),不能创建路由条目 |
InvalidCidrBlock | Specified CIDR block is not valid. | 400 | 1. 该用户不在10.0.0.0/8的路由网段的白名单中,不能使用该网段。 2. 添加的自定义路由目标网段不能从属于同一个vpc下面所有vswitch的网段。 3. 网段不能是:100.64.0.0/10。 |
InvalidNextHop.NotFound | Specified next hop does not exist. | 404 | 指定的next hop不存在 |
InvalidNexthopTypeAndList.BothNull | both nexthopType and nextHopList are null. | 400 | NexthopType和NextHopList不能同时为空 |
InvalidHaViNpId.NotFound | The specified HaVip does not exist in the specified VPC. | 404 | 指定的HaVip不存在,或者不属于当前RouterTable所在的VPC。 |
InvalidRouterInterface | invalid router interface. | 400 | 指定的RouterInterface不合法 |
InvalidOppositeRouterType | nexthop list cannot only contain router interface whose opposite router interface is on vbr. | 400 | NextHopList只能包含对端路由器接口在VBR上的路由器接口 |
InvalidNexthopListSize | nexthop size is illegal. Must be between 2 and 4. | 400 | NextHopList中需要包含2-4个下一跳 |
CountLimitExceed.HaVipRouteEntry | There can be 5 route entry to HaVip at most in one route table. | 400 | 一个VPC内,指向HaVip对象的路由最多同时只能存在五条。 |
IncorrectHaVipStatus | This operation is denied because satus of the specified HaVip is neither Available nor InUse. | 400 | 只有当HaVip的状态为Available或者InUse时,创建指向这个HaVip的路由。 |
InvalidVBRStatus | invalid virtual border router status. | 400 | VBR状态不合法 |
InvalidPhysicalConnectionBusinessStatus | invalid physical connection business status. | 400 | 物理专线业务状态被锁定 |
InvalidRouterType | Cannot specify nexthop list in vbr's route table. | 400 | 不能在VBR的路由表中指定NextHopList |
InvalidRouteEntry.Duplicate | The route entry already exist. | 400 | 该路由条目已经存在 |
IncorrectInstanceStatus | The current status of the resource does not support this operation. | 403 | 指定实例的状态不支持当前操作 |
示例
请求示例
https://ecs.aliyuncs.com/?Action=CreateRouteEntry
&VpcId=vpc-257gq642n
&DestinationCidrBlock=0.0.0.0/0
&NextHopId=i-25skktcp4
&NextHopType=Instance
&<公共请求参数>
返回示例