创建VPC通道
功能介绍
在API网关中创建连接私有VPC资源的通道,并在创建API时将后端节点配置为使用这些VPC通道,以便API网关直接访问私有VPC资源。
每个用户最多创建30个VPC通道。
URI
HTTP/HTTPS请求方法以及URI如下表所示。
请求方法 |
URI |
---|---|
POST |
/v1/{project_id}/apigw/instances/{instance_id}/vpc-channels |
URI中的参数说明如下表所示。
名称 |
是否必选 |
类型 |
说明 |
---|---|---|---|
project_id |
是 |
String |
项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 |
instance_id |
是 |
String |
实例ID,可从API网关控制台的专享版实例信息中获取。 |
请求消息
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
name |
是 |
String |
VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“-”、“_”组成,且只能以英文或中文开头。
说明:
中文字符必须为UTF-8或者unicode编码。 |
type |
是 |
Integer |
VPC通道的类型。
|
member_type |
type = 2时必选 |
String |
VPC通道的成员类型。
仅VPC通道类型为2时有效,缺省为instance。 |
port |
type = 2时必选 |
Integer |
VPC通道中主机的端口号。 取值范围1 ~ 65535,仅VPC通道类型为2时有效。 |
balance_strategy |
type = 2时必选 |
Integer |
分发算法。
仅VPC通道类型为2时有效,缺省为1。 |
vpc_health_config |
type = 2时必选 |
字典数据类型 |
健康检查详情,仅VPC通道类型为2时有效。 |
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
protocol |
是 |
String |
使用以下协议,对VPC中主机执行健康检查。
|
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之前的任意整数值,支持如下三种格式:
|
参数 |
是否必选 |
类型 |
说明 |
---|---|---|---|
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 } ] }
响应消息
名称 |
类型 |
说明 |
---|---|---|
id |
String |
VPC通道的编号。 |
name |
String |
VPC通道的名称。 |
type |
Integer |
VPC通道的类型。
|
member_type |
String |
VPC通道的成员类型。
仅VPC通道类型为2时有效。 |
status |
Integer |
VPC通道的状态。
|
port |
Integer |
VPC通道中主机的端口号。 |
balance_strategy |
Integer |
分发算法。
|
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 }
状态码
状态码 |
说明 |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Server Internal Error |