创建VPN网关
功能介绍
创建VPN网关。当前仅支持创建按需计费的VPN网关。
调用方法
请参见如何调用API。
URI
名称 |
类型 |
是否必选 |
描述 |
---|---|---|---|
project_id |
String |
是 |
项目ID,可以通过获取项目ID获取项目ID。 |
请求消息
- 请求参数
表2 请求参数 名称
类型
是否必选
描述
vpn_gateway
CreateVgwRequestBodyContent object
是
VPN网关对象。
表3 CreateVgwRequestBodyContent 名称
类型
是否必选
描述
name
String
否
- 功能说明:VPN网关名称。
- 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。
- 默认值:不填时会自动生成格式为vpngw-****的名称。例如:vpngw-a45b。
network_type
String
否
- 功能说明:VPN网关网络类型,公网(public)类型的VPN网关通过EIP与对端网关建连;私网(private)类型的VPN网关通过VPC内的私网IP与对端网关建连。
- 取值范围:public,private。
- 默认值:public。
attachment_type
String
否
- 功能说明:关联模式。
- 取值范围:vpc,er。
- 默认值:vpc。
er_id
String
否
可以通过查询企业路由列表查看ER实例的ID。
vpc_id
String
否
- 功能说明:
- 当attachment_type为vpc时,vpc_id是VPN网关关联的业务VPC的ID。
- 当attachment_type为er时,vpc_id是VPN网关的接入VPC的ID,此时可以使用任意VPC的ID。
- 约束:36位UUID。
当attachment_type配置为"vpc"时必填;当attachment_type配置为"er"时可不填写,当vpc_id和access_vpc_id都填写时,access_vpc_id生效。
vpc_id和er_id不能同时为空。
可以通过查询VPC列表查看VPC的ID。
local_subnets
Array of String
否
connect_subnet
String
否
bgp_asn
Long
否
- 功能说明:VPN网关的BGP自治域编号。
- 取值范围:1-4294967295。
- 默认值:64512。
flavor
String
否
- 功能说明:VPN网关的规格类型。实际可选范围请参考VPN控制台创建VPN网关页面的Specification选项。
- 取值范围:
- Basic
- Professional1
- Professional2
- Professional1-NonFixedIP
- Professional2-NonFixedIP
- GM
不同规格类型的特性,请参考企业版VPN不同型号的区别。- 华北-乌兰察布一:Basic、Professional1、Professional2、GM
- 华南-广州:Basic、Professional1、Professional2
- 华北-北京四:Basic、Professional1、Professional2
- 华东-上海一:Basic、Professional1、Professional2
- 西南-贵阳一:Basic、Professional1、Professional2
- 中国-香港:Professional1、Professional2
- 亚太-曼谷:Professional1、Professional2
- 亚太-新加坡:Professional1、Professional2
- 亚太-雅加达:Professional1、Professional2
- 欧洲-都柏林:Professional1、Professional2
- 中东-阿布扎比-OP5:Professional1、Professional2
- 拉美-墨西哥城二:Professional1、Professional2
- 土耳其-伊斯坦布尔:Professional1、Professional2
- 约束:当network_type为private时不能填写Basic;当attachment_type为er时不能填写Basic。
- 默认值:Professional1。
availability_zone_ids
Array of String
否
- 功能说明:部署VPN网关的可用区。不填时自动为VPN网关选择可用区。如果需要指定可用区可以通过查询VPN网关可用区查询可用区列表。
- 约束:查询VPN网关可用区返回两个及以上可用区时必须填写2个;返回1个可用区时填写1个;返回无可用区时不能创建。
enterprise_project_id
String
否
- 功能说明:企业项目ID。
- 约束:36位UUID或者"0"。
- 默认值:"0",表示资源属于default企业项目。
eip1
CreateRequestEip object
否
- 功能说明:双活VPN网关表示使用的第一个EIP,主备模式网关表示主EIP。
- 约束:network_type为public时必选,为private时不需要填写。
eip2
CreateRequestEip object
否
- 功能说明:双活VPN网关表示使用的第二个EIP,主备模式网关表示备EIP。
- 约束:network_type为public时必选,为private时不需要填写。
access_vpc_id
String
否
- 功能说明:VPN网关使用的接入VPC ID。
- 约束:36位UUID。
- 默认值:同vpc_id字段所填的值。
可以通过查询VPC列表查看VPC的ID。
access_subnet_id
String
否
ha_mode
String
否
- 功能说明:网关的HA模式,"active-active"表示双活,"active-standby"表示主备。
- 取值范围:active-active,active-standby。
- 默认值:active-active。
access_private_ip_1
String
否
- 功能说明:私网类型VPN网关的接入私网IP1,指定ip创建私网网关时设置,主备网关时为主ip,双活网关时为主ip1。
- 取值范围:接入子网网段内的可分配ip。
- 约束:需与接入ip2同时指定,不能与接入ip2重复。
access_private_ip_2
String
否
- 功能说明:私网类型VPN网关的接入私网IP2,指定ip创建私网网关时设置,主备网关时为备ip,双活网关时为主ip2。
- 取值范围:接入子网网段内的可分配ip。
- 约束:需与接入ip1同时指定,不能与接入ip1重复。
tags
Array of VpnResourceTag objects
否
- 功能说明:标签列表。
- 约束:最多填写20个。
表4 CreateRequestEip 名称
类型
是否必选
描述
id
String
否
- 功能说明:EIP的ID。
- 取值范围:36位UUID。
- 约束:当使用已有EIP时填写,当新创建EIP时不填。不能填写共享带宽类型的EIP的ID;不能填写已冻结的EIP的ID。
可以通过全量查询弹性公网IP列表查看EIP的ID。
type
String
否
charge_mode
String
否
bandwidth_size
Integer
否
bandwidth_name
String
否
- 功能说明:EIP的带宽名称。
- 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。
- 约束:当新创建EIP场景时需要填写,否则不填。
- 默认值:当新创建EIP场景时,不填此字段会自动生成格式为vpngw-bandwidth-****的EIP带宽名称。例如:vpngw-bandwidth-e1fa。
- 请求样例
- 使用已有EIP创建关联VPC的VPN网关。
POST https://{Endpoint}/v5/{project_id}/vpn-gateways { "vpn_gateway": { "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "eip1": { "id": "cff40e5e-demo-a8df-va86-7366077bf097" }, "eip2": { "id": "d290f1ee-demo-a8df-va86-d701748f0851" } } }
- 新建EIP创建关联ER的VPN网关。
POST https://{Endpoint}/v5/{project_id}/vpn-gateways { "vpn_gateway": { "name": "vpngw-1234", "attachment_type": "er", "er_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "vpc_id": "584a238f-demo-a8df-va86-edca746f6277", "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 65533, "flavor": "Professional2", "availability_zone_ids": [ "cn-south-1f", "cn-south-1e" ], "eip1": { "type": "5_bgp", "charge_mode": "bandwidth", "bandwidth_size": 1000, "bandwidth_name": "vpngw-bandwidth-1391" }, "eip2": { "type": "5_bgp", "charge_mode": "bandwidth", "bandwidth_size": 1000, "bandwidth_name": "vpngw-bandwidth-1392" } } }
- 创建私网关联VPC的VPN网关。
POST https://{Endpoint}/v5/{project_id}/vpn-gateways { "vpn_gateway": { "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "network_type": "private" } }
- 使用已有EIP创建关联VPC的VPN网关。
响应消息
- 响应参数
返回状态码为 201: successful operation。
表7 ResponseVpnGateway 名称
类型
描述
id
String
- 功能说明:VPN网关ID。
- 格式:36位UUID。
name
String
- 功能说明:VPN网关名称。
- 取值范围:1-64个字符,包括数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)。
network_type
String
- 功能说明:VPN网关网络类型。
- 取值范围:public,private。
- 默认值:public。
attachment_type
String
- 功能说明:关联模式。
- 取值范围:vpc,er。
certificate_id
String
- 功能说明:证书ID。
- 格式:36位UUID。
er_id
String
VPN网关所连接的ER实例的ID。仅当attachment_type为er时返回。
vpc_id
String
当attachment_type为vpc时,vpc_id是VPN网关关联的业务VPC的ID。
当attachment_type为er时,不返回此字段。可以通过access_vpc_id字段查看VPN网关的接入VPC的ID。
local_subnets
Array of String
本端子网。本端子网是云上子网,该网段需要通过VPN与用户侧网络进行互通。单个网段格式示例:192.168.52.0/24。仅当attachment_type为vpc时返回。
connect_subnet
String
VPN网关所使用的VPC中的一个子网ID。
bgp_asn
Long
VPN网关的BGP自治域编号。
flavor
String
- 功能说明:VPN网关的规格类型。实际可选范围请参考VPN控制台创建VPN网关页面的Specification选项。
- 取值范围:
v300:最大转发带宽300Mbps。该取值已经废弃,但仍然保留兼容性支持,建议不要使用该取值。
v1g:最大转发带宽1Gbps。该取值已经废弃,但仍然保留兼容性支持,建议不要使用该取值。
Basic:最大转发带宽100Mbps。
Professional1:最大转发带宽300Mbps。
Professional1-NonFixedIP:最大转发带宽300Mbps。
Professional2:最大转发带宽1Gbps。
Professional2-NonFixedIP:最大转发带宽1Gbps。
GM: 最大转发带宽500Mbps。
connection_number
Integer
VPN网关下的最大VPN连接数。
used_connection_number
Integer
VPN网关下当前已经使用的VPN连接数。
used_connection_group
Integer
VPN网关下当前已经使用的VPN连接组个数。同一用户网关入云的两条连接组成一个连接组。VPN网关默认支持10个免费的VPN连接组。
enterprise_project_id
String
- 功能说明:企业项目ID。
- 格式:36位UUID或者"0"。
access_vpc_id
String
- 功能说明:VPN网关使用的接入VPC ID。
- 格式:36位UUID。
access_subnet_id
String
- 功能说明:VPN网关使用的接入VPC中的子网ID。
- 格式:36位UUID。
ha_mode
String
- 功能说明:网关的HA模式,"active-active"表示双活,"active-standby"表示主备。
- 取值范围:active-active,active-standby。
- 默认值:active-active。
policy_template
PolicyTemplate object
非固定IP接入VPN网关网关的策略模板配置,只有在规格为非固定IP接入VPN网关时返回。
tags
Array of VpnResourceTag objects
标签列表。
表8 VpnResourceTag 名称
类型
描述
key
String
- 功能说明:标签的键。
- 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。
value
String
- 功能说明:标签的值。
- 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。
表9 PolicyTemplate 名称
类型
描述
ike_policy
IkePolicy object
ike 策略对象。
ipsec_policy
IpsecPolicy object
ipsec 策略对象。
表10 IkePolicy 名称
类型
描述
encryption_algorithm
String
- 功能说明:加密算法。
- 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128。
dh_group
String
- 功能说明:第一阶段密钥交换使用的DH组。
- 取值范围:group14,group15,group16,group19,group20,group21,disable。
authentication_algorithm
String
- 功能说明:认证算法。
- 取值范围:sha2-512,sha2-384,sha2-256。
lifetime_seconds
Integer
- 功能说明:表示SA的生存周期,当该生存周期超时后IKE SA将自动更新。
- 取值范围:60-604800,单位:秒。
表11 IpsecPolicy 名称
类型
描述
authentication_algorithm
String
- 功能说明:认证算法。
- 取值范围:sha2-512,sha2-384,sha2-256。
encryption_algorithm
String
- 功能说明:加密算法。
- 取值范围:aes-256-gcm-16,aes-128-gcm-16,aes-256,aes-192,aes-128。
pfs
String
- 功能说明:PFS使用的DH密钥组。
- 取值范围:group14,group15,group16,group19,group20,group21,disable。
lifetime_seconds
Integer
- 功能说明:表示配置IPSec连接建立的隧道以时间为基准的生存周期。
- 取值范围:30-604800,单位:秒。
- 响应样例
- 使用已有EIP创建关联VPC的VPN网关的响应。
{ "vpn_gateway": { "id": "134f9fb1-demo-a8df-va86-2040a5c13325", "name": "vpngw-9f24", "network_type": "public", "attachment_type": "vpc", "vpc_id": "0cf79a3f-demo-a8df-va86-d7ace626b0fa", "local_subnets": ["192.168.0.0/24"], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 64512, "flavor": "Professional1", "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "access_vpc_id": "0cf79a3f-demo-a8df-va86-d7ace626b0fa", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" }, "request_id": "7b37532a-d6e4-46b9-98dc-9169ec2ca58f" }
- 新建EIP创建关联ER的VPN网关的响应。
{ "vpn_gateway": { "id": "80ac167b-demo-a8df-va86-a9a2a23223b8", "name": "vpngw-1234", "network_type": "public", "attachment_type": "er", "er_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "bgp_asn": 65533, "flavor": "Professional2", "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "access_vpc_id": "0cf79a3f-demo-a8df-va86-d7ace626b0fa", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" }, "request_id": "cd71cade-bfbd-410b-b672-4bfe46cfc311" }
- 创建私网关联VPC的VPN网关的响应。
{ "vpn_gateway": { "id": "80ac167b-demo-a8df-va86-a9a2a23223b8", "name": "vpngw-1234", "network_type": "private", "attachment_type": "vpc", "vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "local_subnets": ["192.168.0.0/24", "192.168.1.0/24"], "connect_subnet": "f5741286-demo-a8df-va86-2c82bd9ee114", "bgp_asn": 65533, "flavor": "Professional2", "connection_number": 200, "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "access_vpc_id": "cb4a631d-demo-a8df-va86-ca3fa348c36c", "access_subnet_id": "f5741286-demo-a8df-va86-2c82bd9ee114", "ha_mode": "active-active" }, "request_id": "cd71cade-bfbd-410b-b672-4bfe46cfc311" }
- 使用已有EIP创建关联VPC的VPN网关的响应。
状态码
请参见状态码。