调用CreateVpnPbrRouteEntry接口创建VPN策略路由。
接口说明
前提条件
创建策略路由前,请确保您已经创建了 IPsec 连接。具体操作,请参见 CreateVpnConnection 。
创建策略路由前,建议您先了解策略路由的使用限制、匹配规则等信息。更多信息,请参见使用策略路由。
使用限制
不支持添加目标网段为 0.0.0.0/0 的策略路由。
请勿添加目标网段为 100.64.0.0/10、100.64.0.0/10 下的子网段或者包含 100.64.0.0/10 网段的策略路由,该类策略路由会导致控制台无法显示 IPsec 连接的状态或者导致 IPsec 连接协商失败。
- CreateVpnPbrRouteEntry 接口属于异步接口,即系统先返回策略路由的信息,但该策略路由尚未创建成功,系统后台的创建任务仍在进行。您可以调用 DescribeVpnGateway 接口查询 VPN 网关实例状态,来确定策略路由的创建状态:
当 VPN 网关实例处于 updating 状态时,表示策略路由正在创建中。
当 VPN 网关实例处于 active 状态时,表示策略路由创建成功。
CreateVpnPbrRouteEntry 接口不支持在同一个 VPN 网关实例下并发创建策略路由。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
vpc:CreateVpnPbrRouteEntry |
create |
*VpnGateway
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| RegionId |
string |
是 |
VPN 网关实例所在的地域 ID。您可以通过调用 DescribeRegions 接口获取地域 ID。 |
cn-hangzhou |
| ClientToken |
string |
否 |
客户端 Token,用于保证请求的幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。 说明
若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。 |
d7d24a21-f4ba-4454-9173-b3**** |
| VpnGatewayId |
string |
是 |
VPN 网关实例的 ID。 |
vpn-bp1a3kqjiiq9legfx**** |
| RouteSource |
string |
是 |
策略路由的源网段。 |
192.168.1.0/24 |
| RouteDest |
string |
是 |
策略路由的目标网段。 |
10.0.0.0/24 |
| NextHop |
string |
是 |
策略路由的下一跳。 |
vco-bp15oes1py4i66rmd**** |
| Weight |
integer |
是 |
策略路由的权重值。 在您使用同一个 VPN 网关实例搭建主备 IPsec-VPN 连接的场景中,您可以通过配置策略路由的权重值来指定主链路和备链路,权重值为 100 的策略路由默认为主链路,权重值为 0 的策略路由默认为备链路。 您可以通过为 IPsec 连接配置健康检查来自动探测链路的连通性,在主链路不通的情况下,系统自动将流量切换至备链路进行传输,实现上云链路的高可用。具体操作,请参见 CreateVpnConnection 。
说明
|
0 |
| PublishVpc |
boolean |
是 |
是否发布策略路由到 VPC 中。取值:
|
true |
| Description |
string |
否 |
策略路由的描述信息。 描述信息长度为 1~100 个字符。 |
desctest |
| OverlayMode |
string |
否 |
隧道协议。仅取值:Ipsec(IPsec 隧道协议)。 |
Ipsec |
| Priority |
integer |
否 |
策略路由的策略优先级。取值范围:1~100。默认值:10。 策略优先级数字越小,策略路由的优先级越高。 |
10 |
| DryRun |
boolean |
否 |
是否只预检此次请求。取值:
|
false |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
返回结果。 |
||
| NextHop |
string |
策略路由的下一跳。 |
vco-bp15oes1py4i66rmd**** |
| Weight |
integer |
策略路由的权重值。
|
0 |
| RouteDest |
string |
策略路由的目标网段。 |
10.0.0.0/24 |
| RequestId |
string |
请求 ID。 |
5BE01CD7-5A50-472D-AC14-CA181C5C03BE |
| Description |
string |
策略路由的描述信息。 |
desctest |
| State |
string |
策略路由的发布状态。
|
normal |
| CreateTime |
integer |
创建策略路由的时间戳。单位:毫秒。 时间戳的格式采用 Unix 时间戳,表示从格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒至创建策略路由时的总时长。 |
1492747187000 |
| OverlayMode |
string |
隧道协议。仅取值:Ipsec(IPsec 隧道协议)。 |
Ipsec |
| RouteSource |
string |
策略路由的源网段。 |
192.168.1.0/24 |
| VpnInstanceId |
string |
VPN 网关实例 ID。 |
vpn-bp1cmw7jh1nfe43m9**** |
| Priority |
integer |
策略路由的策略优先级。 |
10 |
示例
正常返回示例
JSON格式
{
"NextHop": "vco-bp15oes1py4i66rmd****",
"Weight": 0,
"RouteDest": "10.0.0.0/24",
"RequestId": "5BE01CD7-5A50-472D-AC14-CA181C5C03BE",
"Description": "desctest",
"State": "normal",
"CreateTime": 1492747187000,
"OverlayMode": "Ipsec",
"RouteSource": "192.168.1.0/24",
"VpnInstanceId": "vpn-bp1cmw7jh1nfe43m9****",
"Priority": 10
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | Resource.QuotaFull | The quota of resource is full | |
| 400 | VpnGateway.FinancialLocked | The specified service is financial locked. | |
| 400 | VpnRouteEntry.AlreadyExists | The specified route entry is already exist. | 该路由已存在。 |
| 400 | VpnRouteEntry.Conflict | The specified route entry has conflict. | 路由条目存在冲突。 |
| 400 | VpnRouteEntry.ConflictSSL | The specified route entry has conflict with SSL client. | 路由条目与SSL客户端冲突。 |
| 400 | VpnRouteEntry.BackupRoute | Validate backup route entry failed. | 主备路由条目校验失败。 |
| 400 | VpnRouteEntry.InvalidWeight | Invalid route entry weight value. | 路由权重值不合法 |
| 400 | InvalidNextHop.NotFound | The specified NextHop does not exist. | 路由指定的下一跳不存在 |
| 400 | IllegalParam.RouteDest | The specified RouteDest is invalid | 目的地址不合法。 |
| 400 | OperationFailed.RouteConflict | Operation failed because there is already a route in VPC route table to another VPN on the same network block. | 在VPC路由表中同一网段上已经存在一条指向另一个VPN网关的路由。 |
| 400 | OperationFailed.InvalidCidrBlock | Operation failed because the specified network block is invalid. | 网段不合法。 |
| 400 | QuotaExceeded.VpnRouteEntry | The number of route entries to the VPN gateway in the VPC routing table has reached the quota limit. | VPC路由表中指向VPN网关的路由条目已经达到配额限制。 |
| 400 | VpnPbrRouteEntryPriority.NotSupport | Current version of the VPN does not support setting custom pbr route entry priority. | 当前版本的VPN不支持设置策略路由条目优先级 |
| 400 | TaskConflict | The operation is too frequent, please wait a moment and try again. | 操作过于频繁,请稍等一会再重试 |
| 400 | VpnTask.CONFLICT | Vpn task has conflict. | Vpn操作存在冲突,请稍后重试。 |
| 400 | VpnGateway.Configuring | The specified service is configuring. | |
| 400 | InternalError | The request processing has failed due to some unknown error, exception or failure. | |
| 400 | VpnRouteEntry.SrcDestWeightConflict | The VPN gateway does not support Policy-based routing with the same source CIDR, destination CIDR and weight. | VPN网关不支持配置源网段、目标网段与权重同时相同的策略路由。 |
| 400 | VpnRouteEntry.SamePriorityPbrRoutePrefixOverlap | The source CIDR and destination CIDR of Policy-based routes with the same priority cannot overlap. | VPN网关不支持相同优先级下的多个策略路由源和目标网段同时重合。 |
| 400 | VpnRouteEntry.SrcDestConflict | The VPN gateway does not support Policy-based routing with the same source CIDR and destination CIDR. | 双隧道类型的VPN网关不支持配置源网段与目标网段同时相同的策略路由。 |
| 400 | CreatePbrRoutesQuotaFull.QuotaFull | The number of policy routes exceeds the quota limit. | 策略路由数量超过配额限制。 |
| 400 | InvalidCidrBlock.Malformed | Specified CIDR block is not valid. | |
| 400 | DryRunOperation | Request validation has been passed with DryRun flag set. | DryRun校验通过。 |
| 400 | VpnPbrRouteEntry.NotSupport | Current version of the VPN does not support pbr route entry. | 当前VPN实例不支持策略路由。 |
| 403 | Forbbiden.SubUser | User not authorized to operate on the specified resource as your account is created by another user. | |
| 403 | Forbidden | User not authorized to operate on the specified resource. | 您没有权限操作指定资源,请申请权限后再操作。 |
| 404 | InvalidVpnGatewayInstanceId.NotFound | The specified vpn gateway instance id does not exist. |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。