新建自定义路由
描述
新建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
&<公共请求参数>
返回示例
