项目下创建VPC通道
功能介绍
创建相同的VPC通道关联到多个实例。同一个项目下VPC通道名称不可重复。注意:实例特性vpc_name_modifiable配置为off时才可使用。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/apic/vpc-channels
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、中划线、下划线组成,且只能以英文或中文开头。
说明:
中文字符必须为UTF-8或者unicode编码。 |
port |
是 |
Integer |
VPC通道中主机的端口号。 取值范围1 ~ 65535。 |
balance_strategy |
是 |
Integer |
分发算法。
缺省值:1 |
member_type |
是 |
String |
VPC通道的成员类型。
缺省值:ecs |
type |
否 |
Integer |
vpc通道类型,默认为服务器类型。
缺省值:2 |
dict_code |
否 |
String |
VPC通道的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
member_groups |
否 |
Array of MemberGroupCreate objects |
VPC通道后端服务器组列表 |
members |
否 |
Array of MemberInfo objects |
VPC后端实例列表。 |
vpc_health_config |
否 |
VpcHealthConfig object |
健康检查详情。 |
microservice_info |
否 |
MicroServiceCreate object |
微服务详情。 |
instance_ids |
是 |
Array of strings |
关联实例列表。至少包含一个实例编号,最多10个,如需扩大配额请联系技术工程师修改PROJECT_VPC_OPERATOR_NUM_LIMIT配置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
member_group_name |
是 |
String |
VPC通道后端服务器组名称 |
member_group_remark |
否 |
String |
VPC通道后端服务器组描述 |
member_group_weight |
否 |
Integer |
VPC通道后端服务器组权重值。 当前服务器组存在服务器且此权重值存在时,自动使用此权重值分配权重。 最小值:0 最大值:100 |
dict_code |
否 |
String |
VPC通道后端服务器组的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
microservice_version |
否 |
String |
VPC通道后端服务器组的版本,仅VPC通道类型为微服务时支持。 最大长度:64 |
microservice_port |
否 |
Integer |
VPC通道后端服务器组的端口号,仅VPC通道类型为微服务时支持。端口号为0时后端服务器组下的所有地址沿用原来负载端口继承逻辑。 最小值:0 最大值:65535 |
microservice_labels |
否 |
Array of MicroserviceLabel objects |
VPC通道后端服务器组的标签,仅VPC通道类型为微服务时支持。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
label_name |
是 |
String |
标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
label_value |
是 |
String |
标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
host |
否 |
String |
后端服务器地址 后端实例类型为ip时必填 最大长度:64 |
weight |
否 |
Integer |
权重值。 允许您对后端服务进行评级,权重值越大,转发到该云服务的请求数量越多。 最小值:0 最大值:10000 |
is_backup |
否 |
Boolean |
是否备用节点。 开启后对应后端服务为备用节点,仅当非备用节点全部故障时工作。 实例需要升级到对应版本才支持此功能,若不支持请联系技术支持。 缺省值:false |
member_group_name |
否 |
String |
后端服务器组名称。为后端服务地址选择服务器组,便于统一修改对应服务器组的后端地址。 |
status |
否 |
Integer |
后端服务器状态
|
port |
否 |
Integer |
后端服务器端口 最小值:0 最大值:65535 |
ecs_id |
否 |
String |
后端云服务器的编号。 后端实例类型为ecs时必填,支持英文,数字,“-”,“_”,1 ~ 64字符。 最大长度:255 |
ecs_name |
否 |
String |
[后端云服务器的名称。] 后端实例类型为ecs时必填,支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 最大长度:64 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
protocol |
是 |
String |
使用以下协议,对VPC中主机执行健康检查:
|
path |
否 |
String |
健康检查时的目标路径。protocol = http或https时必选 |
method |
否 |
String |
健康检查时的请求方法 缺省值:GET |
port |
否 |
Integer |
健康检查的目标端口,缺少或port = 0时为VPC中主机的端口号。 若此端口存在非0值,则使用此端口进行健康检查。 最小值:0 最大值:65535 |
threshold_normal |
是 |
Integer |
正常阈值。判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 最小值:1 最大值:10 |
threshold_abnormal |
是 |
Integer |
异常阈值。判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 最小值:1 最大值:10 |
time_interval |
是 |
Integer |
间隔时间:连续两次检查的间隔时间,单位为秒。必须大于timeout字段取值。 最小值:5 最大值:300 |
http_code |
否 |
String |
检查目标HTTP响应时,判断成功使用的HTTP响应码。取值范围为100到599之前的任意整数值,支持如下三种格式:
|
enable_client_ssl |
否 |
Boolean |
是否开启双向认证。若开启,则使用实例配置中的backend_client_certificate配置项的证书 缺省值:false |
status |
否 |
Integer |
健康检查状态
|
timeout |
是 |
Integer |
超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 最小值:2 最大值:30 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
service_type |
否 |
String |
微服务类型:
|
cse_info |
否 |
MicroServiceInfoCSEBase object |
CSE基础信息 |
cce_info |
否 |
MicroServiceInfoCCEBase object |
暂不支持 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
project_vpc_channels |
Array of ProjectVpcChannelInfo objects |
项目VPC通道列表 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、中划线、下划线组成,且只能以英文或中文开头。
说明:
中文字符必须为UTF-8或者unicode编码。 |
port |
Integer |
VPC通道中主机的端口号。 取值范围1 ~ 65535。 |
balance_strategy |
Integer |
分发算法。
缺省值:1 |
member_type |
String |
VPC通道的成员类型。
缺省值:ecs |
type |
String |
vpc通道类型。
|
dict_code |
String |
VPC通道的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
create_time |
String |
VPC通道的创建时间 |
id |
String |
VPC通道的编号 |
status |
Integer |
VPC通道的状态。
|
member_groups |
Array of MemberGroupInfo objects |
后端云服务器组列表。 |
instance_id |
String |
实例编号 |
instance_name |
String |
实例名称 |
members |
Array of VpcMemberInfo objects |
后端实例列表。 |
vpc_health_config |
VpcHealthConfigInfo object |
健康检查详情。 |
microservice_info |
MicroServiceInfo object |
微服务的响应对象 |
参数 |
参数类型 |
描述 |
---|---|---|
member_group_name |
String |
VPC通道后端服务器组名称 |
member_group_remark |
String |
VPC通道后端服务器组描述 |
member_group_weight |
Integer |
VPC通道后端服务器组权重值。 当前服务器组存在服务器且此权重值存在时,自动使用此权重值分配权重。 最小值:0 最大值:100 |
dict_code |
String |
VPC通道后端服务器组的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
microservice_version |
String |
VPC通道后端服务器组的版本,仅VPC通道类型为微服务时支持。 最大长度:64 |
microservice_port |
Integer |
VPC通道后端服务器组的端口号,仅VPC通道类型为微服务时支持。端口号为0时后端服务器组下的所有地址沿用原来负载端口继承逻辑。 最小值:0 最大值:65535 |
microservice_labels |
Array of MicroserviceLabel objects |
VPC通道后端服务器组的标签,仅VPC通道类型为微服务时支持。 |
member_group_id |
String |
VPC通道后端服务器组编号 |
create_time |
String |
VPC通道后端服务器组创建时间 |
update_time |
String |
VPC通道后端服务器组更新时间 |
参数 |
参数类型 |
描述 |
---|---|---|
label_name |
String |
标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
label_value |
String |
标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
参数 |
参数类型 |
描述 |
---|---|---|
host |
String |
后端服务器地址 后端实例类型为ip时必填 最大长度:64 |
weight |
Integer |
权重值。 允许您对后端服务进行评级,权重值越大,转发到该云服务的请求数量越多。 最小值:0 最大值:10000 |
is_backup |
Boolean |
是否备用节点。 开启后对应后端服务为备用节点,仅当非备用节点全部故障时工作。 实例需要升级到对应版本才支持此功能,若不支持请联系技术支持。 缺省值:false |
member_group_name |
String |
后端服务器组名称。为后端服务地址选择服务器组,便于统一修改对应服务器组的后端地址。 |
status |
Integer |
后端服务器状态
|
port |
Integer |
后端服务器端口 最小值:0 最大值:65535 |
ecs_id |
String |
后端云服务器的编号。 后端实例类型为ecs时必填,支持英文,数字,“-”,“_”,1 ~ 64字符。 最大长度:255 |
ecs_name |
String |
[后端云服务器的名称。] 后端实例类型为ecs时必填,支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 最大长度:64 |
id |
String |
后端实例对象的编号 |
vpc_channel_id |
String |
VPC通道的编号 |
create_time |
String |
后端实例增加到VPC通道的时间 |
member_group_id |
String |
后端服务器组编号 |
参数 |
参数类型 |
描述 |
---|---|---|
protocol |
String |
使用以下协议,对VPC中主机执行健康检查:
|
path |
String |
健康检查时的目标路径。protocol = http或https时必选 |
method |
String |
健康检查时的请求方法 缺省值:GET |
port |
Integer |
健康检查的目标端口,缺少或port = 0时为VPC中主机的端口号。 若此端口存在非0值,则使用此端口进行健康检查。 最小值:0 最大值:65535 |
threshold_normal |
Integer |
正常阈值。判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 最小值:1 最大值:10 |
threshold_abnormal |
Integer |
异常阈值。判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 最小值:1 最大值:10 |
time_interval |
Integer |
间隔时间:连续两次检查的间隔时间,单位为秒。必须大于timeout字段取值。 最小值:5 最大值:300 |
http_code |
String |
检查目标HTTP响应时,判断成功使用的HTTP响应码。取值范围为100到599之前的任意整数值,支持如下三种格式:
|
enable_client_ssl |
Boolean |
是否开启双向认证。若开启,则使用实例配置中的backend_client_certificate配置项的证书 缺省值:false |
status |
Integer |
健康检查状态
|
timeout |
Integer |
超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 最小值:2 最大值:30 |
vpc_channel_id |
String |
VPC通道的编号 |
id |
String |
健康检查的编号 |
create_time |
String |
创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
微服务编号 |
instance_id |
String |
实例编号 |
service_type |
String |
微服务类型:
|
cse_info |
MicroServiceInfoCSE object |
CSE基础信息 |
cce_info |
MicroServiceInfoCCE object |
暂不支持 |
update_time |
String |
微服务更新时间 |
create_time |
String |
微服务创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
engine_id |
String |
微服务引擎编号 最大长度:64 |
service_id |
String |
微服务编号 最大长度:64 |
engine_name |
String |
微服务引擎名称 |
service_name |
String |
微服务名称 |
register_address |
String |
注册中心地址 |
cse_app_id |
String |
微服务所属的应用 |
version |
String |
微服务的版本,已废弃,通过后端服务器组中的版本承载。 最大长度:64 |
参数 |
参数类型 |
描述 |
---|---|---|
cluster_id |
String |
云容器引擎集群编号 最大长度:64 |
namespace |
String |
命名空间 最大长度:64 |
workload_type |
String |
工作负载类型
|
app_name |
String |
APP名称 最大长度:64 |
label_key |
String |
标签名 最大长度:64 |
label_value |
String |
标签值 最大长度:64 |
cluster_name |
String |
云容器引擎集群名称 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
请求示例
在项目下创建一个VPC通道,成员类型为IP,添加后端服务器,并关联对应的实例
{ "balance_strategy" : 1, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark" }, { "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark" } ], "members" : [ { "host" : "192.168.0.5", "weight" : 1, "member_group_name" : "test" }, { "host" : "192.168.1.124", "weight" : 2, "member_group_name" : "default" } ], "instance_ids" : [ "eea73cde015940908ae0117d67bf7330", "ddd73cde017890908ae0117d67bf7330" ] }
响应示例
状态码: 201
OK
{ "project_vpc_channels" : [ { "balance_strategy" : 1, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 2, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_id" : "ec79066c6f6f462e91ff3f17f0e43f2a", "member_group_name" : "test", "member_group_remark" : "remark", "member_group_weight" : 1, "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" }, { "member_group_id" : "5b26a82cd18547f3ada54b3cfa641df9", "member_group_name" : "default", "member_group_remark" : "remark", "member_group_weight" : 2, "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" } ], "instance_id" : "eea73cde015940908ae0117d67bf7330", "instance_name" : "test1" }, { "balance_strategy" : 1, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 2, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "create_time" : "2021-08-30T14:02:25Z", "member_group_id" : "ec79066c6f6f462e91ff3f17f0e43f2a", "member_group_name" : "test", "member_group_remark" : "", "member_group_weight" : 1, "update_time" : "2021-08-30T14:02:25Z" }, { "create_time" : "2021-08-04T06:03:47Z", "member_group_id" : "5b26a82cd18547f3ada54b3cfa641df9", "member_group_name" : "default", "member_group_remark" : "", "member_group_weight" : 1, "update_time" : "2021-08-04T06:03:47Z" } ], "instance_id" : "ddd73cde017890908ae0117d67bf7330", "instance_name" : "test2" } ] }
状态码: 400
Bad Request
{ "error_code" : "APIG.2011", "error_msg" : "The request parameters must be specified,parameterName:name. Please refer to the support documentation" }
状态码: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
状态码: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
状态码: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
状态码
状态码 |
描述 |
---|---|
201 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
500 |
Internal Server Error |
错误码
请参见错误码。