虚拟专用网络 VPN-创建VPN网关:请求消息

时间:2024-12-25 09:52:04

请求消息

  • 请求参数
    表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。

    ip_version

    String

    • 功能说明:VPN网关的IP协议版本。
    • 取值范围:ipv4、ipv6。
    • 默认值:ipv4

    er_id

    String

    • 功能说明:VPN网关所连接的ER实例的ID。
    • 约束:36位UUID。

      当attachment_type配置为"er"时填写,否则不填。

      er_id和vpc_id不能同时为空。

    可以通过查询企业路由列表查看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

    • 功能说明:IPv4本端子网是云上子网,该子网需要通过VPN与云下对端子网进行互通。

      每个VPN网关最多填写50个本端子网,单个子网格式示例:192.168.52.0/24。

    • 约束:当attachment_type配置为"vpc"时、且ip_version配置为"ipv4"时必填,否则不填。

    local_subnets_v6

    Array of String

    • 功能说明:IPv6本端子网是云上子网,该子网需要通过VPN与云下对端子网进行互通。

      每个VPN网关最多填写50个本端子网,单个子网格式示例:16af:cacc:1097::/48。

    • 约束:当attachment_type配置为"vpc"时、且ip_version配置为"ipv6"时必填,否则不填。

    connect_subnet

    String

    • 功能说明:VPN网关使用的VPC子网ID。
    • 约束:36位UUID。

      当attachment_type配置为"vpc"时必填;当attachment_type配置为"er"时可不填写,当connect_subnet和access_subnet_id都填写时,access_subnet_id生效。

      当attachment_type为er时,子网中需要有至少2个空闲IP。

      当attachment_type为vpc时,如果access_subnet_id与connect_subnet相同,则子网中需要有至少4个空闲IP;如果不同,则需要至少2个空闲IP。

    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网关可用区查询可用区列表,再根据flavor、attachment_type、ip_version的参数组合确定VPN网关支持的可用区。
    • 约束:如果VPN网关支持两个及以上的可用区时,必须填写两个可用区;支持一个可用区时填写一个;无支持可用区时不能创建VPN网关。

    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

    • 功能说明:VPN网关使用的接入VPC中的子网ID。
    • 约束:36位UUID。

      当attachment_type为er时,子网中需要有至少2个空闲IP。

      当attachment_type为vpc时,如果access_subnet_id与connect_subnet相同,则子网中需要有至少4个空闲IP;如果不同,则需要至少2个空闲IP。

    • 默认值:同connect_subnet字段所填的值。

    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时不填。

    可以通过全量查询弹性公网IP列表查看EIP的ID。

    type

    String

    • 功能说明:EIP的类型。
    • 取值范围:0-36个字符。

      可查看申请EIP表6中type字段的取值范围。如果对应局点支持5_bgp类型,建议优先选择该类型。

    • 约束:当新创建EIP场景时需要填写,否则不填。

      具体约束可查看申请EIP表4中type字段的约束。

    charge_mode

    String

    • 功能说明:EIP的带宽计费模式。按流量计费或按带宽计费。
    • 取值范围:

      bandwidth:按带宽计费。

      traffic:按流量计费。

    • 约束:当新创建EIP场景且不绑定共享带宽时需要填写,否则不填。
    • 默认值:bandwidth。

    bandwidth_size

    Integer

    • 功能说明:EIP的带宽大小,单位:Mbit/s。每个region能够提供的EIP最大带宽不同,EIP的最大带宽受限于EIP服务,可以使用工单来提高帐户下的EIP的最大带宽。
    • 取值范围:1-1000,具体取值请参考弹性公网服务创建EIP资料。
    • 约束:当新创建EIP场景且不绑定共享带宽时需要填写,否则不填。

      flavor为Basic时,取值不能大于100;flavor为Professional1时,取值不能大于300;flavor为Professional2时,取值不能大于1000;flavor为GM时,取值不能大于500。

    bandwidth_name

    String

    • 功能说明:EIP的带宽名称。
    • 取值范围:1-64个字符,支持数字、英文字母、中文(\u4e00 - \u9fa5)、_(下划线)、-(中划线)、.(点)。
    • 约束:当新创建EIP场景且不绑定共享带宽时需要填写,否则不填。
    • 默认值:当新创建EIP场景时,不填此字段会自动生成格式为vpngw-bandwidth-****的EIP带宽名称。例如:vpngw-bandwidth-e1fa。

    bandwidth_id

    String

    • 功能说明:带宽ID,创建弹性公网IP时可以指定已有的共享带宽。
    • 取值范围:36位UUID。
    • 约束:绑定共享带宽时需要填写,否则不填。
    表5 VpnResourceTag

    名称

    类型

    是否必选

    描述

    key

    String

    • 功能说明:标签的键。
    • 取值范围:1-128个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。

    value

    String

    • 功能说明:标签的值。
    • 取值范围:0-255个字符,支持数字、英文字母、中文、西班牙语、葡语、空格,以及以下字符:_.:=+-@。
  • 请求样例
    1. 使用已有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"
              }
          }
      }
    2. 新建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"
              }
          }
      }
    3. 创建私网关联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"
          }
      }
support.huaweicloud.com/api-vpn/vpn_api_0014.html