更新时间:2022-12-06 GMT+08:00

创建VPC通道

功能介绍

在API网关中创建连接私有VPC资源的通道,并在创建API时将后端节点配置为使用这些VPC通道,以便API网关直接访问私有VPC资源。

每个用户最多创建30个VPC通道。

URI

HTTP/HTTPS请求方法以及URI如下表所示。

表1 HTTP/HTTPS请求方法以及URI

请求方法

URI

POST

/v1.0/apigw/vpc-channels

请求消息

表2 参数说明

参数

是否必选

类型

说明

name

String

VPC通道的名称。

长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“-”、“_”组成,且只能以英文或中文开头。

说明:

中文字符必须为UTF-8或者unicode编码。

type

Integer

VPC通道的类型。

  • 2:API网关内置支持负载均衡功能的快速通道类型

member_type

type = 2时必选

String

VPC通道的成员类型。

  • ip(暂不支持)
  • instance

仅VPC通道类型为2时有效,缺省为instance。

port

type = 2时必选

Integer

VPC通道中主机的端口号。

取值范围1 ~ 65535,仅VPC通道类型为2时有效。

balance_strategy

type = 2时必选

Integer

分发算法。

  • 1:加权轮询(wrr)
  • 2:加权最少连接(wleastconn)
  • 3:源地址哈希(source)
  • 4:URI哈希(uri)

仅VPC通道类型为2时有效,缺省为1。

vpc_health_config

type = 2时必选

字典数据类型

健康检查详情,仅VPC通道类型为2时有效。

表3 健康检查详情

参数

是否必选

类型

说明

protocol

String

使用以下协议,对VPC中主机执行健康检查。
  • TCP
  • HTTP
  • HTTPS

path

protocol = http时必选

String

健康检查时的目标路径。

说明:

需要服从URI规范。

port

Integer

健康检查的目标端口,缺省时为VPC中主机的端口号。

取值范围1 ~ 65535。

threshold_normal

Integer

正常阈值。

判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。

取值范围2 ~ 10

threshold_abnormal

Integer

异常阈值。

判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。

取值范围2 ~ 10。

time_out

Integer

超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。

取值范围2 ~ 30。

time_interval

Integer

间隔时间:连续两次检查的间隔时间,单位为秒。必须大于time_out字段取值。

取值范围5 ~ 300。

http_code

protocol = http时必选

String

检查目标HTTP响应时,判断成功使用的HTTP响应码。

取值范围为100到599之前的任意整数值,支持如下三种格式:

  • 多个值,如:200,201,202
  • 一系列值,如:200-299
  • 组合值,如:201,202,210-299
表4 后端实例列表

参数

是否必选

类型

说明

instance_name

String

后端实例的名称。

支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。

说明:

中文字符必须为UTF-8或者unicode编码。

instance_id

String

后端实例的编号。

支持英文,数字,“-”,“_”,1 ~ 64字符。

weight

type = 2时必选

Integer

权重值。

权重值越大,转发到该后端实例的请求数量越多。

取值范围1 ~ 100,仅VPC通道类型为2时有效。

请求消息样例:

{
  "balance_strategy": 1,
  "name": "vpc_001",
  "port": 15565,
  "type": 2,
  "member_type": "instance",
  "vpc_health_config": {
    "http_code": "205",
    "path": "/hc",
    "port": 15563,
    "protocol": "http",
    "threshold_abnormal": 5,
    "threshold_normal": 5,
    "time_interval": 200,
    "time_out": 30
  },
  "vpc_instances": [
    {
      "instance_id": "instance01",
      "instance_name": "instance_name01",
      "weight": 10
    }
  ]
}

响应消息

表5 参数说明

名称

类型

说明

id

String

VPC通道的编号。

name

String

VPC通道的名称。

type

Integer

VPC通道的类型。

  • 2:API网关内置支持负载均衡功能的快速通道类型

member_type

String

VPC通道的成员类型。

  • ip(暂不支持)
  • instance

仅VPC通道类型为2时有效。

status

Integer

VPC通道的状态。

  • 1:正常
  • 2:异常

port

Integer

VPC通道中主机的端口号。

balance_strategy

Integer

分发算法。

  • 1:加权轮询(wrr)
  • 2:加权最少连接(wleastconn)
  • 3:源地址哈希(source)
  • 4:URI哈希(uri)

create_time

Timestamp

VPC通道的创建时间。

响应消息样例:

{
  "name": "vpc_001",
  "type": 2,
  "member_type": "instance",
  "port": 15565,
  "balance_strategy": 1,
  "id": "c3e6a7d85d9e47be89dfcc3cd37405d7",
  "create_time": "2018-07-27T12:30:48.027484Z",
  "status": 1
}

状态码

表6 返回消息说明

状态码

说明

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Internal Error