调用CreateVpnAttachment接口创建IPsec连接,用于绑定转发路由器实例。
接口说明
调用CreateVpnAttachment
接口创建的 IPsec 连接默认未绑定任何资源,后续您可以通过调用 CreateTransitRouterVpnAttachment 接口将 IPsec 连接绑定转发路由器实例。
前提条件
创建 IPsec 连接前,请确保您已经在 IPsec 连接所在的地域创建了用户网关。具体操作,请参见 CreateCustomerGateway 。
如果您需要为 IPsec 连接添加 BGP 配置,请确保用户网关已添加了自治系统号。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
vpc:CreateVpnAttachment | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | IPsec 连接所属的地域 ID。 您可以通过调用 DescribeRegions 接口获取地域 ID。 | cn-hangzhou |
Name | string | 否 | IPsec 连接的名称。 名称长度为 1~100 个字符,不能以 | nametest |
CustomerGatewayId | string | 否 | 用户网关 ID。 | cgw-p0w2jemrcj5u61un8**** |
NetworkType | string | 否 | IPsec 连接的网络类型。取值:
| public |
LocalSubnet | string | 是 | 需要和本地数据中心互通的 VPC 侧的网段,用于第二阶段协商。 多个网段之间用半角逗号(,)分隔,例如:192.168.1.0/24,192.168.2.0/24。 关于 IPsec 连接路由模式的说明:
| 10.1.1.0/24,10.1.2.0/24 |
RemoteSubnet | string | 是 | 需要和 VPC 互通的本地数据中心侧的网段,用于第二阶段协商。 多个网段之间用半角逗号(,)分隔,例如:192.168.3.0/24,192.168.4.0/24。 关于 IPsec 连接路由模式的说明:
| 10.1.3.0/24,10.1.4.0/24 |
EffectImmediately | boolean | 否 | 选择 IPsec 连接的配置是否立即生效。 取值:
| false |
IkeConfig | string | 否 | 第一阶段协商的配置信息:
| {"Psk":"1234****","IkeVersion":"ikev1","IkeMode":"main","IkeEncAlg":"aes","IkeAuthAlg":"sha1","IkePfs":"group2","IkeLifetime":86400,"LocalId":"47.XX.XX.1","RemoteId":"47.XX.XX.2"} |
IpsecConfig | string | 否 | 第二阶段协商的配置信息:
| {"IpsecEncAlg":"aes","IpsecAuthAlg":"sha1","IpsecPfs":"group2","IpsecLifetime":86400} |
BgpConfig | string | 否 | BGP 的配置信息:
说明
| {"EnableBgp":"true","LocalAsn":"45104","TunnelCidr":"169.254.11.0/30","LocalBgpIp":"169.254.11.1"} |
HealthCheckConfig | string | 否 | 健康检查配置信息:
| {"enable":"true","dip":"192.168.1.1","sip":"10.1.1.1","interval":"3","retry":"3","Policy": "revoke_route"} |
AutoConfigRoute | boolean | 否 | 是否自动配置路由。取值:
| true |
EnableDpd | boolean | 否 | 是否开启 DPD(对等体存活检测)功能。取值:
| true |
EnableNatTraversal | boolean | 否 | 是否开启 NAT 穿越功能。取值:
| true |
RemoteCaCert | string | 否 | 国密型 VPN 网关创建 IPsec 连接时,对端的 CA 证书。 | -----BEGIN CERTIFICATE----- MIIB7zCCAZW**** -----END CERTIFICATE----- |
ClientToken | string | 否 | 客户端 Token,用于保证请求的幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。 说明
若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。
| 123e4567-e89b-12d3-a456-4266**** |
Tags | array<object> | 否 | IPsec 连接待添加的标签列表。 一次最多支持为 IPsec 连接添加 20 个标签。 | |
object | 否 | 标签信息。 | ||
Key | string | 否 | 标签键。一旦输入该值,则不允许为空字符串。 最多支持 64 个字符,不能以 一次最多支持输入 20 个标签键。 | TagKey |
Value | string | 否 | 标签值。 标签值最多支持 128 个字符,可以为空字符串,不能以 一个标签键对应一个标签值。一次最多支持输入 20 个标签值。 | TagValue |
ResourceGroupId | string | 否 | IPsec 连接所属的资源组 ID。
| rg-acfmzs372yg**** |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "88187252-0E26-3C4D-9D1D-32A04454EBBA",
"VpnConnectionId": "vco-p0wb09rama8qwwgfn****",
"Name": "nametest",
"CreateTime": 1658201810000,
"Code": "200",
"Message": "successful",
"Success": true
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | Resource.QuotaFull | The quota of resource is full | 资源配额已达上限。 |
400 | InvalidVpnConnection.AlreadyExists | Vpn connection already exists. | VPN 连接已经存在,不用再次添加。 |
400 | VpnRouteEntry.AlreadyExists | The specified route entry is already exist. | 该路由已存在。 |
400 | VpnRouteEntry.Conflict | The specified route entry has conflict. | 路由条目存在冲突。 |
400 | NotSupportVpnConnectionParameter.IpsecPfs | The specified vpn connection ipsec Ipsec Pfs is not support. | IPsec连接中指定的Pfs参数不支持 |
400 | NotSupportVpnConnectionParameter.IpsecAuthAlg | The specified vpn connection ipsec Auth Alg is not support. | IPsec连接中指定的认证算法不支持 |
400 | VpnRouteEntry.BackupRoute | Validate backup route entry failed. | 主备路由条目校验失败。 |
400 | VpnRouteEntry.InvalidWeight | Invalid route entry weight value. | 路由权重值不合法 |
400 | InvalidParameter.VpnConnectionName | The specified vpn connection name is invalid. | 指定的VPN连接名称不合规范。 |
400 | QuotaExceeded.PolicyBasedRoute | The maximum number of policy-based routes is exceeded. Existing routes: %s. Routes to be created: %s. Maximum routes: %s. | 策略路由条数已达上限,当前已有%s条,本次将创建%s条,上限为%s条。 |
400 | MissingParameter.TunnelCidr | The parameter TunnelCidr is mandatory when BGP is enabled. | 开启BGP时,隧道CIDR参数是必填项 |
400 | OperationUnsupported.EnableBgp | Current region does not support enable BGP. | 当前地域不支持开启BGP。 |
400 | MissingParam.CustomerGatewayAsn | Asn of customer gateway is mandatory when BGP is enabled. | 开启BGP时,客户网关的自治系统号不可以为空。 |
400 | IllegalParam.LocalAsn | The specified LocalAsn is invalid. | 本端自治系统号不合法。 |
400 | InvalidParameter.BgpConfig | The specified BgpConfig is invalid. | 指定的BGP配置不合规范 |
400 | IllegalParam.EnableBgp | VPN connection must enable BGP when VPN gateway has enabled BGP. | 当 VPN 网关启用 BGP 时,VPN 连接必须启用 BGP。 |
400 | IllegalParam.TunnelCidr | The specified TunnelCidr is invalid. | 参数TunnelCidr不合法。 |
400 | InvalidLocalBgpIp.Malformed | The specified LocalBgpIp is malformed. | 指定的本端BGP的IP异常 |
400 | IllegalParam.LocalBgpIp | The specified LocalBgpIp is invalid. | 本端BGP地址不合法。 |
400 | IllegalParam.LocalSubnet | The specified "LocalSubnet" (%s) is invalid. | 本端网段(%s)不合法。 |
400 | IllegalParam.RemoteSubnet | The specified "RemoteSubnet" (%s) is invalid. | 对端网段(%s)不合法。 |
400 | OperationFailed.MissCertificate | The VPN connecton has not associated any certificates. | 当前VPN连接没有关联任何证书。 |
400 | MissingParam.RemoteId | The remote ID is mandatory when creating national standard VPN connection. | 当创建国密VPN连接时,对端ID是必填参数。 |
400 | CustomerGateway.ConflictRouteEntry | The specified customer gateway has conflict with route entry. | 当前用户网关和路由存在冲突。 |
400 | VpnTask.CONFLICT | Vpn task has conflict. | Vpn操作存在冲突,请稍后重试。 |
400 | Forbidden.TagKey.Duplicated | The specified tag key already exists. | 标签资源重复 |
400 | OperationFailed.NoAvailableAmount | The available amount of your account is less than 0, please recharge before attempting to purchase. | 您的账户可用额度小于0,请先充值后再尝试购买。 |
400 | SizeLimitExceeded.TagNum | The maximum number of tags is exceeded. | 标签数量超限 |
400 | InvalidParameter.TagValue | The specified parameter TagValue is invalid. | 指定的参数TagValue不合规范。 |
400 | InvalidParameter.TagKey | The specified parameter TagKey is invalid. | 指定的参数TagKey不合规范。 |
400 | Duplicated.TagKey | The specified parameter TagKey is duplicated. | 指定的参数TagKey重复。 |
400 | InternalError | The request processing has failed due to some unknown error, exception or failure. | 内部错误 |
400 | InvalidTunnelCidr.Malformed | The specified TunnelCidr is malformed. | 指定的隧道CIDR异常 |
400 | CustomerGateway.ConflictVpnIp | The customer gateway associated with the IPSec connection should not have the same IP address as the VPN gateway. | IPSec连接关联的用户网关与VPN网关不应该有相同的网关IP地址。 |
400 | MissingParameter.TunnelOptionsSpecification | The required parameters are missing when creating a tunnel for dual-tunnel VPN. | 双隧道VPN在创建隧道时,必填参数缺失。 |
400 | CreateDbrRoutesQuotaFull.QuotaFull | The number of created destination routes exceeds the quota limit. | 创建目的路由数量超过配额限制。 |
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 | InvalidCustomerGatewayInstanceId.NotFound | The specified customer gateway instance id does not exist. | 指定的用户网关实例不存在,请您检查用户网关实例ID是否正确。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-10-24 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2024-05-10 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-10-19 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2023-08-09 | OpenAPI 描述信息更新、OpenAPI 错误码发生变更 | 查看变更详情 |