华为云用户手册

  • 请求示例 查询公网NAT网关资源实例,其中,操作标识为filter,进行分页查询,查询记录数为100条。 POST https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/resource_instances/action{ "offset" : "100", "limit" : "100", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "nat_gateways" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key2", "values" : [ "*value3", "value4" ] } ], "tags_any" : [ { "key" : "key3", "values" : [ "*value5", "value6" ] } ], "not_tags_any" : [ { "key" : "key4", "values" : [ "*value7", "value8" ] } ]} 查询公网NAT网关资源实例,其中,操作标识为count,按照条件将总条数返回。 POST https://{VPC_endpoint}/v2.0/9ad601814ac94c80bf7bb9073ded66fc/nat_gateways/resource_instances/action{ "action" : "count", "matches" : [ { "key" : "resource_name", "value" : "nat_gateways" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key2", "values" : [ "*value3", "value4" ] } ], "tags_any" : [ { "key" : "key3", "values" : [ "*value5", "value6" ] } ], "not_tags_any" : [ { "key" : "key4", "values" : [ "*value7", "value8" ] } ]}
  • 响应示例 状态码: 200 查询操作成功。 示例1:action为filter时的响应体 示例2:action为count时的响应体 示例 1 { "resources" : [ { "resource_detail" : null, "resource_id" : "e5ad289f-9c56-4daf-b08b-2e53a983473a", "resource_name" : "nat_gateways", "tags" : [ { "key" : "key2", "value" : "value4" }, { "key" : "key2", "value" : "value3" } ] } ], "total_count" : 1000} 示例 2 { "total_count" : 1000}
  • 响应示例 状态码: 200 查询DNAT规则列表成功。 { "dnat_rules" : [ { "id" : "24dd6bf5-48f2-4915-ad0b-5bb111d39c83", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707", "type" : "COMPUTE", "protocol" : "any", "internal_service_port" : "0", "transit_service_port" : "0", "private_ip_address" : "192.168.1.72", "created_at" : "2019-04-29T07:10:01", "updated_at" : "2019-04-29T07:10:01" }, { "id" : "25dcdb21-97de-43cd-b476-31637a47f05d", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "15abdf29-4a68-474c-9963-79c4e6d495d7", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "network_interface_id" : "9e2f0dbb-68b2-4c4b-9298-fa4f13187976", "type" : "COMPUTE", "protocol" : "any", "internal_service_port" : "0", "transit_service_port" : "0", "private_ip_address" : "192.168.1.99", "created_at" : "2019-04-29T07:15:41", "updated_at" : "2019-04-29T07:15:41" } ], "request_id" : "a7b00469-5a31-4274-bb10-59167243383e", "page_info" : { "previous_marker" : "14338426-6afe-4019-996b-018008113013", "current_count" : 2 }}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 dnat_rules Array of PrivateDnat objects 查询DNAT规则列表的响应体。 request_id String 请求ID。 最小长度:1 最大长度:36 page_info PageInfo object 分页信息。 表5 PrivateDnat 参数 参数类型 描述 id String DNAT规则的ID。 最小长度:36 最大长度:36 project_id String 项目的ID。 最小长度:36 最大长度:36 description String DNAT规则的描述。 最小长度:1 最大长度:36 transit_ip_id String 中转IP的ID。 最小长度:36 最大长度:36 gateway_id String 私网NAT网关 实例的ID。 最小长度:1 最大长度:36 network_interface_id String 网络接口ID,支持计算、ELB、VIP等实例的端口。 最小长度:1 最大长度:36 type String DNAT规则后端的类型。 取值: COMPUTE:后端为计算实例。 VIP:后端为VIP的实例。 ELB:后端为ELB的实例。 ELBv3:后端为ELBv3的实例。 CUSTOMIZE:后端为自定义IP。 最小长度:1 最大长度:10 protocol String 协议类型。 目前支持TCP/tcp、UDP/udp、ANY/any。 对应协议号6、17、0。 最小长度:1 最大长度:3 枚举值: tcp udp any private_ip_address String 后端实例的私网IP地址。 最小长度:7 最大长度:15 internal_service_port String 后端实例的端口号。 最小值:0 最大值:65535 最小长度:1 最大长度:5 transit_service_port String 中转IP的端口号。 最小值:0 最大值:65535 最小长度:1 最大长度:5 enterprise_project_id String 企业项目ID。创建DNAT规则时,关联的企业项目ID。 最小长度:1 最大长度:36 created_at String DNAT规则的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 最小长度:1 最大长度:36 updated_at String DNAT规则的更新时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 最小长度:1 最大长度:36 表6 PageInfo 参数 参数类型 描述 next_marker String 分页查询结果中最后一条记录的ID。通常用于查询下一页。 最小长度:1 最大长度:36 previous_marker String 分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。 最小长度:1 最大长度:36 current_count Integer 分页查询资源时,本页的实例的个数。 最小值:1 最大值:2000
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 gateways Array of PrivateNat objects 查询私网NAT网关实例列表的响应体。 详见PrivateNat字段说明。 request_id String 请求ID。 最小长度:1 最大长度:36 page_info PageInfo object 分页信息。 表5 PrivateNat 参数 参数类型 描述 id String 私网NAT网关实例的ID。 最小长度:36 最大长度:36 project_id String 项目的ID。 最小长度:32 最大长度:32 name String 私网NAT网关实例的名字。 最小长度:1 最大长度:64 description String 私网NAT网关实例的描述。 最小长度:0 最大长度:255 spec String 私网NAT网关实例的规格。 取值为: "Small":小型 "Medium":中型 "Large":大型 "Extra-large":超大型 缺省值:Small 枚举值: Small Medium Large Extra-large status String 私网NAT网关实例的状态。 取值为: "ACTIVE":正常运行 "FROZEN":冻结 枚举值: ACTIVE FROZEN created_at String 私网NAT网关实例的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 updated_at String 私网NAT网关实例的更新时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 downlink_vpcs Array of DownlinkVpc objects 私网NAT网关实例所属的VPC实例。 tags Array of Tag objects 标签列表。 enterprise_project_id String 企业项目ID。 创建私网NAT网关实例时,关联的企业项目ID。 最小长度:1 最大长度:36 表6 DownlinkVpc 参数 参数类型 描述 vpc_id String 私网NAT网关实例所属VPC的ID。 最小长度:36 最大长度:36 virsubnet_id String 私网NAT网关实例所属子网的ID。 最小长度:36 最大长度:36 表7 Tag 参数 参数类型 描述 key String 标签key值。 最小长度:1 最大长度:128 value String 标签value。 最小长度:0 最大长度:255 表8 PageInfo 参数 参数类型 描述 next_marker String 分页查询结果中最后一条记录的ID。通常用于查询下一页。 最小长度:1 最大长度:36 previous_marker String 分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。 最小长度:1 最大长度:36 current_count Integer 分页查询资源时,本页的实例的个数。 最小值:1 最大值:2000
  • 响应示例 状态码: 200 查询私网NAT网关实例列表成功 { "gateways" : [ { "id" : "14338426-6afe-4019-996b-3a9525296e11", "name" : "private-nat-gateway-name1", "description" : "private-nat-gateway-description1", "spec" : "Small", "project_id" : "70505c941b9b4dfd82fd351932328a2f", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "status" : "ACTIVE", "created_at" : "2019-04-22T08:47:13", "updated_at" : "2019-04-22T08:47:13", "tags" : [ { "key" : "key1", "value" : "value1" } ], "downlink_vpcs" : [ { "vpc_id" : "3cb66d44-9f75-4237-bfff-e37b14d23ad2", "virsubnet_id" : "373979ee-f4f0-46c5-80e3-0fbf72646b70" } ] }, { "id" : "65995b8e-dcb7-4ab4-9931-bc3c95beec0a", "name" : "private-nat-gateway-name2", "description" : "private-nat-gateway-description2", "spec" : "Small", "project_id" : "70505c941b9b4dfd82fd351932328a2f", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "status" : "ACTIVE", "created_at" : "2019-04-22T09:06:54", "updated_at" : "2019-04-22T09:06:54", "tags" : [ { "key" : "key1", "value" : "value1" } ], "downlink_vpcs" : [ { "vpc_id" : "3cb66d44-9f75-4237-bfff-e37b14d23ad2", "virsubnet_id" : "373979ee-f4f0-46c5-80e3-0fbf72646b70" } ] } ], "request_id" : "a7b00469-5a31-4274-bb10-59167243383e", "page_info" : { "previous_marker" : "14338426-6afe-4019-996b-3a9525296e11", "current_count" : 2 }}
  • 响应示例 状态码: 200 查询SNAT规则列表成功。 { "snat_rules" : [ { "id" : "8a522ff9-8158-494b-83cd-533b045700e6", "project_id" : "cfa563efb77d4b6d9960781d82530fd8", "description" : "snat rule description", "gateway_id" : "80da6f26-94eb-4537-97f0-5a56f4d04cfb", "cidr" : "", "virsubnet_id" : "95df1b88-d9bc-4edd-a808-a771dd4ded32", "transit_ip_associations" : [ { "transit_ip_id" : "bbe7c2e7-3bad-445b-a067-b30acce66053", "transit_ip_address" : "172.20.1.98" } ], "created_at" : "2019-10-22T03:33:07", "updated_at" : "2019-10-22T03:33:07" }, { "id" : "af4dbb83-7ca0-4ed1-b28b-668c1f9c6b81", "project_id" : "cfa563efb77d4b6d9960781d82530fd8", "description" : "snat rule description", "gateway_id" : "80da6f26-94eb-4537-97f0-5a56f4d04cfb", "cidr" : "", "virsubnet_id" : "5b9ea497-727d-4ad0-a99e-3984b3f5aaed", "transit_ip_associations" : [ { "transit_ip_id" : "36a3049a-1682-48b3-b1cf-cb986a3350ef", "transit_ip_address" : "172.20.1.10" } ], "created_at" : "2019-10-22T03:31:19", "updated_at" : "2019-10-22T03:31:19" } ], "page_info" : { "next_marker" : "af4dbb83-7ca0-4ed1-b28b-668c1f9c6b81", "previous_marker" : "8a522ff9-8158-494b-83cd-533b045700e6", "current_count" : 2 }, "request_id" : "69806207-62e3-4950-b463-ff5c1779b714"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 snat_rules Array of PrivateSnat objects 查询SNAT规则列表的响应体。 page_info PageInfo object 分页信息。 request_id String 请求ID。 最小长度:1 最大长度:36 表5 PrivateSnat 参数 参数类型 描述 id String SNAT规则的ID。 最小长度:36 最大长度:36 project_id String 项目的ID。 最小长度:36 最大长度:36 gateway_id String 私网NAT网关实例的ID。 最小长度:36 最大长度:36 cidr String 功能说明:规则匹配的CIDR。 取值约束: 与virsubnet_id参数二选一。 cidr不能与已有snat规则的网段相同。 最小长度:9 最大长度:18 virsubnet_id String 功能说明:规则匹配的子网的ID。 取值约束:与cidr参数二选一。 最小长度:36 最大长度:36 description String SNAT规则的描述。 最小长度:1 最大长度:36 transit_ip_associations Array of AssociatedTransitIp objects 关联的中转IP详情列表。 created_at String SNAT规则的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 最小长度:1 最大长度:36 updated_at String SNAT规则的更新时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ。 最小长度:1 最大长度:36 enterprise_project_id String 企业项目id 最小长度:1 最大长度:36 表6 AssociatedTransitIp 参数 参数类型 描述 transit_ip_id String 中转IP的ID。 最小长度:36 最大长度:36 transit_ip_address String 中转IP地址。 最小长度:7 最大长度:35 表7 PageInfo 参数 参数类型 描述 next_marker String 分页查询结果中最后一条记录的ID。通常用于查询下一页。 最小长度:1 最大长度:36 previous_marker String 分页查询结果中第一条记录的ID。通常用于配合page_reverse=true查询上一页。 最小长度:1 最大长度:36 current_count Integer 分页查询资源时,本页的实例的个数。 最小值:1 最大值:2000
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 dnat_rules Array(Object) dnat_rule对象列表。详见表3。 表3 dnat_rule字段说明 参数 参数类型 描述 id String DNAT规则的id。 tenant_id String 项目的ID。 nat_gateway_id String 所属公网NAT网关的id。 port_id String 虚拟机或者裸机的Port ID。 private_ip String 用户私有IP地址,例如专线连接的私有云地址。 internal_service_port Integer 虚拟机或者裸机对外提供服务的协议端口号。 floating_ip_id String 弹性公网IP的id。 floating_ip_address String 弹性公网的IP地址。 external_service_port Integer Floatingip对外提供服务的端口号。 protocol String 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0 status String 功能说明:DNAT规则的状态。 取值范围:资源状态说明。 admin_state_up Boolean 解冻/冻结状态。 取值范围: “true”:解冻 “false”:冻结 created_at String DNAT规则的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
  • URI GET /v2.0/dnat_rules 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。支持参数说明中所有非必选参数过滤,请参考请求样例。 表1 参数说明 参数 参数类型 描述 id String DNAT规则的id。 limit Integer 每页返回的个数。 tenant_id String 项目的ID。 nat_gateway_id String 所属公网NAT网关的id。 port_id String 虚拟机或者裸机的Port ID。 private_ip String 用户私有IP地址,例如专线连接的私有云地址。 internal_service_port Integer 虚拟机或者裸机对外提供服务的协议端口号。 floating_ip_id String 弹性公网IP的id。 floating_ip_address String 弹性公网的IP地址。 external_service_port Integer Floatingip对外提供服务的端口号。 protocol String 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0 status String 功能说明:DNAT规则的状态。 取值范围:资源状态说明。 admin_state_up Boolean 解冻/冻结状态。 取值范围: “true”:解冻 “false”:冻结 created_at String DNAT规则的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
  • 示例 请求样例 创建指定端口的规则 POST https://{Endpoint}/v2.0/dnat_rules{ "dnat_rule": { "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port": 993, "protocol": "tcp", "external_service_port": 242 }} 创建all port类型的规则。 POST https://{Endpoint}/v2.0/dnat_rules{ "dnat_rule": { "floating_ip_id": "Cf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id": "Dda3a125-2406-456c-a11f-598e10578541", "private_ip": "192.168.1.100", "internal_service_port": 0, "protocol": "any", "external_service_port": 0 }} 指定端口范围创建规则 POST https://{Endpoint}/v2.0/dnat_rules { "dnat_rule": { "floating_ip_id": "0cc38f0c-f26b-4556-b956-f5831061bb86", "nat_gateway_id": "dcb80bee-3e67-4282-8cc3-981431a63583", "private_ip": "172.16.1.197", "internal_service_port": 0, "internal_service_port_range": "55-66", "protocol": "udp", "external_service_port": 0, "external_service_port_range": "55-66", "description": "my dnat rule 01" } }
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 描述 dnat_rule Object dnat_rule对象。详见表4。 表4 dnat_rule字段说明 参数 参数类型 描述 id String DNAT规则的id。 tenant_id String 项目的ID。 nat_gateway_id String 所属公网NAT网关的id。 port_id String 虚拟机或者裸机的Port ID,在VPC场景时使用此参数,与private_ip参数二选一。 private_ip String 用户私有IP地址,例如专线连接的私有云地址, 在专线场景时使用此参数,与port_id参数二选一。 internal_service_port Integer 虚拟机或者裸机对外提供服务的协议端口号。 floating_ip_id String 弹性公网IP的id。 floating_ip_address String 弹性公网IP的IP地址。 external_service_port Integer Floatingip对外提供服务的端口号。 protocol String 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0 status String 功能说明:DNAT规则的状态。 取值范围:资源状态说明。 admin_state_up Boolean 解冻/冻结状态。 取值范围: “true”:解冻 “false”:冻结 created_at String DNAT规则的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss internal_service_port_range String 虚拟机或者裸机对外提供服务的协议端口号范围。 功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。 external_service_port_range String Floatingip对外提供服务的端口号范围。 功能说明:该端口范围与internal _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。
  • 请求消息 请求参数如表1所示。 表1 请求参数 参数 是否必选 参数类型 描述 dnat_rule 是 Object dnat_rule对象。详见表2。 表2 dnat_rule字段说明 参数 是否必选 参数类型 描述 nat_gateway_id 是 String 所属公网NAT网关的id。 port_id 否 String 虚拟机或者裸机的Port ID,与private_ip参数二选一。 获取虚拟机Port ID的方法请参考查询云服务器网卡信息,获取裸机Port ID的方法请参考查询裸金属服务器IP地址。 private_ip 否 String 用户私有IP地址,例如专线连接的私有云地址,与port_id参数二选一。 internal_service_port 是 Integer 虚拟机或者裸机对外提供服务的协议端口号。 取值范围:0~65535。 floating_ip_id 是 String 弹性公网IP的id。获取弹性公网IP的id的方法请参考查询弹性公网IP列表。 external_service_port 是 Integer Floatingip对外提供服务的端口号。 取值范围:0~65535。 protocol 是 String 协议类型,目前支持TCP/UDP/ANY 对应协议号6/17/0 internal_service_port_range 否 String 虚拟机或者裸机对外提供服务的协议端口号范围。 功能说明:该端口范围与external _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。 external_service_port_range 否 String Floatingip对外提供服务的端口号范围。 功能说明:该端口范围与internal _service_port_range按顺序实现1:1映射。 取值范围:1~65535。 约束:只能以’-’字符连接端口范围。
  • 状态码 正常返回码 类型 说明 200 OK GET和PUT操作正常返回。 201 Created POST操作正常返回。 204 No Content DELETE操作正常返回。 错误返回码 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成,服务异常。 501 Not Implemented 请求未完成,服务器不支持所请求的功能。 502 Bad Gateway 请求未完成,服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成,系统暂时异常。 504 Gateway Timeout 网关超时。 父主题: 附录
  • 修订记录 发布日期 修订记录 2022-11-28 第十四次正式发布。 新增:公网NAT网关标签,上线公网NAT网关标签相关接口。 新增:6.1.5-标签,上线私网NAT网关标签相关接口。 2022-08-31 第十三次正式发布。 新增:API(私网NAT网关),上线私网NAT网关相关接口。 更新:错误码,新增私网NAT网关相关错误码。 2022-07-14 第十二次正式发布。文档内容更新为: 更新创建公网NAT网关章节,修改请求示例。 更新更新DNAT规则章节,修改请求示例。 2020-08-30 第十一次正式发布。文档内容更新为: 新增应用示例内容。 2020-06-02 第十次正式发布。文档内容更新为: 在权限策略和授权项章节,调整表格。 在错误码章节,错误码说明补充API网关错误码说明。 2020-01-20 第九次正式发布。文档内容更新为: 修改“策略及授权项说明”章节内容。 2020-01-13 第八次发布,本次更新内容如下: 新增API V2内容。 2019-08-26 第七次发布,本次更新内容如下: 整体更新参数类型。 2019-06-10 第六次发布,本次更新内容如下: 更新API参考文档模板3.0。 新增权限策略和授权项。 2019-03-26 第五次发布,本次更新内容如下: 刷新错误码说明。 新增资源状态说明。 2018-07-30 第四次发布,本次内容变更如下: 修改创建SNAT规则章节,增加可选参数。 DNAT规则支持all port类型。 2018-03-30 第三次正式发布,本次内容变更如下: 新增DNAT规则。 2018-01-30 第二次正式发布,本次内容变更如下: 创建公网NAT网关“对象模型”中的“name”属性新增“中文”约束。 2017-12-18 第一次正式发布。
  • 基本概念 帐号 用户注册时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由帐号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看帐号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到帐号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。 NAT网关支持自定义策略授权项如下所示: 公网NAT网关,包含NAT网关v2接口对应的授权项,如创建NAT网关、更新NAT网关、删除NAT网关等接口。 公网NAT网关SNAT规则,包含SNAT规则v2接口对应的授权项,如创建SNAT规则、查询SNAT规则列表等接口。 公网NAT网关DNAT规则,包含DNAT规则v2接口对应的授权项,如创建DNAT规则、查询DNAT规则列表等接口。
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 nat_gateway Object nat_gateway对象。详见表3。 表3 nat_gateway字段说明 参数 参数类型 描述 id String 公网NAT网关的id。 tenant_id String 项目的ID。 name String 公网NAT网关的名字,长度限制为64。 公网NAT网关的名字仅支持数字、字母、_(下划线)、-(中划线)、中文。 description String 公网NAT网关的描述,长度限制为255。 spec String 公网NAT网关的规格。 取值为: “1”:小型,SNAT最大连接数10000 “2”:中型,SNAT最大连接数50000 “3”:大型,SNAT最大连接数200000 “4”:超大型,SNAT最大连接数1000000 router_id String 路由器的ID。 internal_network_id String 公网NAT网关下行口(DVR的下一跳)所属的network id。 status String 功能说明:公网NAT网关的状态。 取值范围:资源状态说明。 admin_state_up Boolean 解冻/冻结状态。 取值范围: “true”:解冻 “false”:冻结 created_at String 公网NAT网关的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 描述 nat_gateway Object nat_gateway对象。详见表4。 表4 nat_gateway字段说明 参数 参数类型 描述 id String 公网NAT网关的id。 tenant_id String 项目的ID。 name String 公网NAT网关的名字,长度限制为64。 公网NAT网关的名字仅支持数字、字母、_(下划线)、-(中划线)、中文。 description String 公网NAT网关的描述,长度限制为255。 spec String 公网NAT网关的规格。 取值为: “1”:小型,SNAT最大连接数10000 “2”:中型,SNAT最大连接数50000 “3”:大型,SNAT最大连接数200000 “4”:超大型,SNAT最大连接数1000000 router_id String 路由器的ID。 internal_network_id String 公网NAT网关下行口(DVR的下一跳)所属的network id。 status String 功能说明:公网NAT网关的状态。 取值范围:资源状态说明。 admin_state_up Boolean 解冻/冻结状态。 取值范围: “true”:解冻 “false”:冻结 created_at String 公网NAT网关的创建时间戳,遵循UTC时间,保留小数点后6位,格式是yyyy-mm-dd hh:mm:ss
  • 示例 请求示例 POST https://{Endpoint}/v2.0/nat_gateways{ "nat_gateway": { "name": "nat_001", "description": "my nat gateway 01", "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9", "spec": "1" }} 响应示例 { "nat_gateway": { "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "status": "PENDING_CREATE", "description": "my nat gateway 01", "admin_state_up": true, "tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:34:32.203044", "spec": "1", "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9", "id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "name": "nat_001" }}
  • 请求消息 请求参数如表1所示。 表1 请求参数 参数 是否必选 参数类型 描述 nat_gateway 是 Object 公网NAT网关对象。详见表2。 表2 nat_gateway字段说明 参数 是否必选 参数类型 描述 tenant_id 否 String 项目的ID。 name 是 String 公网NAT网关的名字,长度限制为64。 公网NAT网关的名字仅支持数字、字母、_(下划线)、-(中划线)、中文。 description 否 String 公网NAT网关的描述,长度限制为255。 spec 是 String 公网NAT网关的规格。 取值为: “1”:小型,SNAT最大连接数10000 “2”:中型,SNAT最大连接数50000 “3”:大型,SNAT最大连接数200000 “4”:超大型,SNAT最大连接数1000000 router_id 是 String VPC的id。获取router_id的方法请参考查询VPC路由列表下的vpc_id。 internal_network_id 是 String 公网NAT网关下行口(DVR的下一跳)所属的network id。获取network id的方法请参考查询子网列表下的neutron_network_id。
  • 操作步骤 预置NAT网关。 确定所用的VPC。 查询VPC列表 URI格式:GET /v1/{project_id}/vpcs 详情请参见查询VPC列表。 根据实际需要选择VPC并确认VPC下没有默认路由,然后记录VPC的id。 确定所用VPC下的子网。 查询所用的VPC下的子网列表 URI格式:GET /v1/{project_id}/subnets?vpc_id={vpc_id} 详情请参见查询子网列表。 根据实际需要选择子网,并记录子网的id。 创建公网NAT网关。 接口相关信息 URI格式:POST /v2/{project_id}/nat_gateways 详情请参见创建公网NAT网关。 请求示例 POST https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/nat_gateways {endpoint}信息请从地区和终端节点获取。 响应示例 { "nat_gateway": { "name": "nat_001", "description": "my nat gateway 01", "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9", "spec": "1", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" }} 确定公网NAT网关创建成功,并且网关状态为active。 接口相关信息 URI格式:GET /v2/{project_id}/nat_gateways/{nat_gateway_id} 详情请参见查询指定的公网NAT网关详情。 记录新创建的NAT网关的id和对应的internal_network_id。 确定待使用的弹性公网IP。 查询弹性公网IP资源。 接口相关信息 URI格式:GET /v1/{project_id}/publicips 详情请参见查询弹性公网IP列表。 根据实际需要选择弹性EIP,并记录弹性EIP的id。 创建SNAT规则。 接口相关信息 URI格式: POST /v2/{project_id}/snat_rules 接口约束及请求参数说明详情,请参见创建SNAT规则。 请求示例 POST https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/snat_rules {endpoint}信息请从地区和终端节点获取。 Body: { "snat_rule": { "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "source_type": 0, "floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "description": "my snat rule 01" }} 响应示例 { "snat_rule": { "floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status": "PENDING_CREATE", "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true, "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "description": "", "source_type": 0, "tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:54:21.665430", "id": "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address": "5.21.11.226" }} 确认SNAT规则创建成功。 接口相关信息 URI格式: GET /v2/{project_id}/snat_rules/{snat_rule_id} 详情请参见查询指定的SNAT规则详情。 请求示例 GET https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/snat_rules/5b95c675-69c2-4656-ba06-58ff72e1d338 {endpoint}信息请从地区和终端节点获取。 响应示例 { "snat_rule": { "floating_ip_id": "bdc10a4c-d81a-41ec-adf7-de857f7c812a", "status": "ACTIVE", "nat_gateway_id": "a78fb3eb-1654-4710-8742-3fc49d5f04f8", "admin_state_up": true, "network_id": "eaad9cd6-2372-4be1-9535-9bd37210ae7b", "source_type": 0, "tenant_id": "27e25061336f4af590faeabeb7fcd9a3", "created_at": "2017-11-18 07:54:21.665430", "id": "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address": "5.21.11.226", "freezed_ip_address": "", "description": "my snat rule 01" }}
  • 前提条件 已创建VPC和子网,具体参见创建云服务器所需要的VPC和子网。 确认VPC下没有默认路由(“华北-北京四”区域无此限制)。 创建规则时,要求网关状态status = "ACTIVE",要求网关管理员状态admin_state_up = True。 当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权。 通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
  • 概述 欢迎使用NAT网关(NAT Gateway)。NAT网关能够为虚拟私有云内的云主机(弹性云服务器、裸金属服务器)或者通过云专线/VPN接入虚拟私有云的本地数据中心的服务器,提供 网络地址转换 服务,使多个云主机可以共享弹性公网IP访问Internet或使云主机提供互联网服务。 您可以使用本文档提供的API对NAT网关进行相关操作,如创建、删除、添加SNAT规则等。支持的全部操作请参考API概览。 在调用NAT网关API之前,请确保已经充分了解NAT网关相关概念,详细信息请参考产品介绍。 父主题: 使用前必读
  • API v2.0 表5 NAT网关v2.0接口类型 类型 说明 公网NAT网关 支持对公网NAT网关进行创建、查询、更新、删除等操作,包括创建公网NAT网关、查询公网NAT网关列表、查询公网NAT网关、更新公网NAT网关、删除公网NAT网关等接口。 SNAT规则 支持创建、查询、删除SNAT规则,包括创建SNAT规则、查询SNAT规则列表、查询SNAT规则、删除SNAT规则等接口。 DNAT规则 支持创建、查询、删除DNAT规则,包括创建DNAT规则、查询DNAT规则列表、查询DNAT规则、删除DNAT规则等接口。 表6 NAT网关v2.0接口说明 类型 API 说明 公网NAT网关 创建公网NAT网关 创建公网NAT网关实例。 查询公网NAT网关列表 查询公网NAT网关列表。 查询指定的公网NAT网关详情 查询指定的公网NAT网关详情。 更新公网NAT网关 更新公网NAT网关。 删除公网NAT网关 删除公网NAT网关。 SNAT规则 创建SNAT规则 创建SNAT规则。 查询SNAT规则列表 查询SNAT规则列表。 查询指定的SNAT规则详情 查询指定的SNAT规则详情。 删除SNAT规则 删除SNAT规则。 DNAT规则 创建DNAT规则 创建DNAT规则 查询DNAT规则列表 查询DNAT规则列表。 查询指定的DNAT规则详情 查询指定的DNAT规则详情。 删除DNAT规则 删除DNAT规则。
  • 私网NAT网关 表3 私网NAT网关接口类型 类型 说明 私网NAT网关 支持对私网NAT网关进行查询、更新、删除、创建等操作,包括查询私网NAT网关列表、更新私网NAT网关、删除私网NAT网关、创建私网NAT网关、查询指定的私网NAT网关详情接口。 DNAT规则 支持查询、更新、创建、删除DNAT规则,包括查询DNAT规则列表、更新DNAT规则、创建DNAT规则、删除DNAT规则、查询指定的DNAT规则详情接口。 SNAT规则 支持查询、更新、创建、删除SNAT规则,包括查询SNAT规则列表、查询指定的SNAT规则详情、更新SNAT规则、创建SNAT规则、删除SNAT规则接口。 中转IP 支持查询、删除、创建中转IP,包括查询中转IP列表、删除中转IP、创建中转IP、查询指定的中转IP详情接口。 表4 私网NAT网关接口说明 类型 API 说明 私网NAT网关 查询私网NAT网关列表 查询私网NAT网关列表。 更新私网NAT网关 更新私网NAT网关。 删除私网NAT网关 删除私网NAT网关。 创建私网NAT网关 创建私网NAT网关实例。 查询指定的私网NAT网关详情 查询指定的私网NAT网关详情。 DNAT规则 查询DNAT规则列表 查询DNAT规则列表。 更新DNAT规则 更新DNAT规则。 创建DNAT规则 创建DNAT规则。 删除DNAT规则 删除DNAT规则。 查询指定的DNAT规则详情 查询指定的DNAT规则详情。 SNAT规则 查询SNAT规则列表 查询SNAT规则列表。 查询指定的SNAT规则详情 查询指定的SNAT规则详情。 更新SNAT规则 更新SNAT规则。 创建SNAT规则 创建SNAT规则。 删除SNAT规则 删除SNAT规则。 中转IP 查询中转IP列表 查询中转IP列表。 删除中转IP 删除中转IP。 创建中转IP 创建中转IP。 查询指定的中转IP详情 查询指定的中转IP详情。
  • 公网NAT网关 表1 公网NAT网关接口类型 类型 说明 公网NAT网关 支持对公网NAT网关进行创建、查询、更新、删除等操作,包括创建公网NAT网关、查询公网NAT网关列表、查询指定的公网NAT网关详情、更新公网NAT网关、删除公网NAT网关等接口。 SNAT规则 支持创建、查询、更新、删除SNAT规则,包括创建SNAT规则、查询SNAT规则列表、查询指定的SNAT规则详情、更新SNAT规则、删除SNAT规则等接口。 DNAT规则 支持创建、查询、更新、删除DNAT规则,包括创建DNAT规则、批量创建DNAT规则、查询DNAT规则列表、查询指定的DNAT规则详情、更新DNAT规则、删除DNAT规则等接口。 表2 公网NAT网关接口说明 类型 API 说明 公网NAT网关 创建公网NAT网关 创建公网NAT网关实例。 查询公网NAT网关列表 查询公网NAT网关列表。 查询指定的公网NAT网关详情 查询指定的公网NAT网关详情。 更新公网NAT网关 更新公网NAT网关。 删除公网NAT网关 删除公网NAT网关。 DNAT规则 创建DNAT规则 创建DNAT规则。 批量创建DNAT规则 批量创建DNAT规则。 查询DNAT规则列表 查询DNAT规则列表。 查询指定的DNAT规则详情 查询指定的DNAT规则详情。 更新DNAT规则 更新DNAT规则。 删除DNAT规则 删除DNAT规则。 SNAT规则 创建SNAT规则 创建SNAT规则。 查询SNAT规则列表 查询SNAT规则列表。 查询指定的SNAT规则详情 查询指定的SNAT规则详情。 更新SNAT规则 更新SNAT规则。 删除SNAT规则 删除SNAT规则。
  • 操作场景 本章节指导用户通过调用API来创建DNAT规则。API的调用方法请参见如何调用API。 前提条件 已创建VPC和子网,具体参见创建云服务器所需要的VPC和子网。 确认VPC下没有默认路由(“华北-北京四”区域无此限制)。 创建规则时,要求网关状态status = "ACTIVE",要求网关管理员状态admin_state_up = True。 当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权。 通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。 操作步骤 预置NAT网关。 确定所用的VPC。 查询VPC列表 URI格式:GET /v1/{project_id}/vpcs 详情请参见查询VPC列表。 根据实际需要选择VPC并确认VPC下没有默认路由,然后记录VPC的id。 确定所用VPC下的子网。 查询所用的VPC下的子网列表 URI格式:GET /v1/{project_id}/subnets?vpc_id={vpc_id} 详情请参见查询子网列表。 根据实际需要选择子网,并记录子网的id。 创建公网NAT网关。 接口相关信息 URI格式:POST /v2/{project_id}/nat_gateways 详情请参见创建公网NAT网关。 请求示例 POST https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/nat_gateways {endpoint}信息请从地区和终端节点获取。 响应示例 { "nat_gateway": { "name": "nat_001", "description": "my nat gateway 01", "router_id": "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "internal_network_id": "89d66639-aacb-4929-969d-07080b0f9fd9", "spec": "1", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" }} 确定公网NAT网关创建成功,并且网关状态为active。 接口相关信息 URI格式:GET /v2/{project_id}/nat_gateways/{nat_gateway_id} 详情请参见查询指定的公网NAT网关详情。 记录新创建的公网NAT网关的id和对应的internal_network_id。 确定待使用的弹性云服务器。 查询云服务器详情列表。 接口相关信息 URI格式:GET https://{endpoint}/v1/{project_id}/cloudservers/detail 详情请参见查询云服务器详情列表。 根据实际需要选择弹性云服务器,并记录弹性云服务器的对应的网卡端口id。 确定待使用的弹性公网IP。 查询弹性公网IP资源。 接口相关信息 URI格式:GET /v1/{project_id}/publicips 详情请参见查询弹性公网IP列表。 根据实际需要选择弹性EIP,并记录弹性EIP的id。 创建DNAT规则。 接口相关信息 URI格式: POST /v2/{project_id}/dnat_rules 接口约束及请求参数说明详情,请参见创建DNAT规则。 请求示例 POST https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/dnat_rules {endpoint}信息请从地区和终端节点获取。 Body: { "dnat_rule": { "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port": 993, "protocol": "tcp", "external_service_port": 242, "description": "my dnat rule 01" }} 响应示例 { "dnat_rule": { "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "status": "ACTIVE", "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up": true, "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port": 993, "protocol": "tcp", "tenant_id": "abc", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "external_service_port": 242, "floating_ip_address": "5.21.11.226", "description": "my dnat rule 01" }} 确认DNAT规则创建成功。 接口相关信息 URI格式: GET /v2/{project_id}/dnat_rules/{dnat_rule_id} 详情请参见查询指定的DNAT规则详情。 请求示例 GET https://{Endpoint}/v2/27e25061336f4af590faeabeb7fcd9a3/dnat_rules/5b95c675-69c2-4656-ba06-58ff72e1d338 {endpoint}信息请从地区和终端节点获取。 响应示例 { "dnat_rule": { "floating_ip_id": "bf99c679-9f41-4dac-8513-9c9228e713e1", "status": "ACTIVE", "nat_gateway_id": "cda3a125-2406-456c-a11f-598e10578541", "admin_state_up": true, "port_id": "9a469561-daac-4c94-88f5-39366e5ea193", "internal_service_port": 993, "protocol": "tcp", "tenant_id": "abc", "created_at": "2017-11-15 15:44:42.595173", "id": "79195d50-0271-41f1-bded-4c089b2502ff", "external_service_port": 242, "floating_ip_address": "5.21.11.226", "description": "my dnat rule 01" }}
  • 请求示例 创建DNAT规则,其中,中转IP的id为3faa719d-6d18-4ccb-a5c7-33e65a09663e,私网NAT网关实例的id为0adefb29-a6c2-48a5-8637-2be67fa03fec。 POST https://{Endpoint}/v3/da261828016849188f4dcc2ef94d9da9/private-nat/dnat-rules{ "dnat_rule" : { "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707" }}
  • 响应示例 状态码: 201 创建DNAT规则成功。 { "dnat_rule" : { "id" : "24dd6bf5-48f2-4915-ad0b-5bb111d39c83", "project_id" : "da261828016849188f4dcc2ef94d9da9", "description" : "aa", "gateway_id" : "0adefb29-a6c2-48a5-8637-2be67fa03fec", "transit_ip_id" : "3faa719d-6d18-4ccb-a5c7-33e65a09663e", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "network_interface_id" : "dae9393a-b536-491c-a5a2-72edc1104707", "type" : "COMPUTE", "protocol" : "any", "internal_service_port" : "0", "transit_service_port" : "0", "private_ip_address" : "192.168.1.72", "created_at" : "2019-04-29T07:10:01", "updated_at" : "2019-04-29T07:10:01" }, "request_id" : "70505c941b9b4dfd82fd351932328a2f"}
共100000条