全部产品
专有网络 VPC

新建自定义路由

更新时间:2017-07-21 17:15:24   分享:   

描述

新建RouteEntry

支持在专有网络中的路由器(VRouter)和高速通道中的边界路由器(VBR)上的路由表(RouteTable)里,新建路由条目(RouteEntry)

在专有网络中的路由器上的RouteTable中创建RouteEntry:

  • 同一个路由表中自定义路由条目不能超过48条
  • RouteEntry的DestinationCidrBlock不允许和VPC内VSwitch的CIDRBlock相同,也不允许包含VSwitch的CIDRBlock或者被VSwitch的CIDRBlock包含
  • RouteEntry的DestinationCidrBlock网段不允许指向100.64.0.0/10,也不允许被100.64.0.0/10包含
  • 同一RouteTable下RouteEntry的DestinationCidrBlock不允许相同
  • 如果指定的DestinationCidrBlock是一个IP地址,会按照掩码为32位来处理
  • 多条RouteEntry允许指向同一个NextHopId
  • RouteEntry指定的下一跳NextHopId,必须属于所在的VPC
  • 一个VPC内,指向HaVip的路由条目最多可以同时存在5条;
  • 支持通过NextHopList参数配置ECMP路由:
    • 添加普通(非 ECMP )自定义路由时,需指定 DestinationCidrBlockNextHopType(默认为Instance) 和 NextHopId,且不能指定 NextHopList
    • 添加 ECMP 路由时,需指定DestinationCidrBlockNextHopList,且不能指定NextHopTypeNextHopId

在边界路由器上的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
  • 仅支持添加普通路由(非 ECMP),需指定 DestinationCidrBlock、NextHopType(默认为Instance) 和 NextHopId,且不能指定 NextHopList;

请求参数

名称 类型 是否必须 描述
Action String 系统规定参数,取值:CreateRouteEntry
RouteTableId String RouteTableId
DestinationCidrBlock String RouteEntry的目的网段
NextHopType String 下一跳的类型,可选值为Instance|Tunnel|HaVip|RouterInterface|VpnGateway,默认值为Instance,即ECS实例
NextHopId String 路由条目的下一跳实例ID,非ECMP路由
NextHopList NextHopListType 路由条目的下一跳列表如果指定了NextHopList,则该路由为ECMP类路由,NextHopList包含了ECMP方式的多个下一跳。此时NextHopType和NextHopId必须为空,NextHopList支持包含有2-4个下一跳。只支持VRouter上的路由指定NextHopList,而且下一跳只能是从VRouter连往VBR方向的RouterInterface
如果没有指定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 指定实例的状态不支持当前操作

示例

请求示例

  1. https://vpc.aliyuncs.com/?Action=CreateRouteEntry
  2. &VpcId=vpc-257gq642n
  3. &RouteTableId=vrt-5citwfp6a
  4. &DestinationCidrBlock=0.0.0.0/0
  5. &NextHopId=i-25skktcp4
  6. &NextHopType=Instance
  7. &<公共请求参数>

返回示例

XML格式

  1. <CreateRouteEntryResponse>
  2. <RequestId>12D086F6-8F31-4658-84C1-006DED011A85</RequestId>
  3. </CreateRouteEntryResponse>

JSON格式

  1. {
  2. "RequestId": "12D086F6-8F31-4658-84C1-006DED011A85"
  3. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?