华为云用户手册

  • 多表归一场景注意事项 DRS支持多表对一的数据聚合场景,最佳实践是推荐只选择同步加列DDL,其他大部分DDL同步都可能会因目标表修改而导致其他任务失败或数据不一致的情况发生,常见情况有:同步truncate导致目标数据全部被清空;同步创建索引导致目标表被锁定;同步rename导致其他任务找不到目标表而失败;同步改列导致其他任务因数据类型不兼容而失败。 多表归一高风险操作: DROP、TRUNCATE、RENAME等高危DDL未过滤,导致目标表DROP、TRUNCATE、RENAME。 随意执行DDL,导致同步任务中断未提前识别业务数据冲突,出现同步后数据不一致。 多对一的表不支持Online DDL工具。Online DDL通常会使用临时表和执行rename操作,多对一任务如果未过滤rename会导致目标数据丢失。 多表归一DDL操作技巧: 增加列ADD COLUMN: 配置DRS任务时过滤ADD COLUMN:先在目标库目标表增加列,再在每个多对一任务的源库源表分别增加列。同步任务会自动兼容源表列少于目标表的场景,因此任务不受影响。顺序相反则会导致任务中断。 配置DRS任务时未过滤ADD COLUMN:DRS会自动识别只执行一次DDL,不会导致任务失败。 修改列MODIFY COLUMN: 配置DRS任务时过滤MODIFY COLUMN:需要确保所有源表已经完成同步无时延并且无业务写入,先在目标库目标表修改列,再在每个多对一任务的源库源表分别修改列。 配置DRS任务时未过滤MODIFY COLUMN:DRS会自动识别只执行一次DDL,不会导致任务失败。 删除列DROP COLUMN: 配置DRS任务时过滤DROP COLUMN:先在每个源库源表删除列,多对一任务的所有源表删除列后,再在目标库表删除列。同步任务会自动兼容源表列少于目标表的场景,因此任务不受影响。顺序相反则会导致任务中断。 配置DRS任务时未过滤DROP COLUMN:DRS会自动识别只执行一次DDL,不会导致任务失败。 DROP、TRUNCATE类操作: 高危操作建议配置DRS任务时过滤掉,手工执行。如果未选择过滤,多对一任务一张源表的DROP、TRUNCATE操作会同步到目标表执行DROP、TRUNCATE操作,比如多对一任务DROP掉其中一个表,在目标库就把多对一的表DROP掉了,DROP索引、DROP约束是类似的。
  • 对等连接限制 有重叠子网网段的VPC建立的对等连接,可能不生效。 两个VPC之间不能同时建立多个VPC对等连接。 不同区域的VPC不能创建对等连接。 如果两个VPC的CIDR有重叠,建立对等连接时,只能针对子网建立对等关系。如果两个VPC下的子网网段有重叠,那么该对等关系不生效。建立对等连接时,请确保两个VPC之间没有重叠的子网。 对等连接建立后,需要在本端VPC、对端VPC分别添加对方子网的路由才能通信。 VPC A与B、C分别建立对等连接,如果B、C两个VPC的网段有重叠,A中无法添加具有相同目的网段的路由。 为了安全起见,请不要接受来自未知账号的对等连接申请。 对等连接双方账号都有权限删除对等连接,一方删除对等连接后,对等连接的所有信息会被立刻删除,包括对等连接关联的路由信息。 VPC对等连接路由存在时,VPC无法被删除。 支持在华为云中国站和国际站同一区域创建对等连接。 VPC1与VPC2创建对等连接,默认情况下VPC2不能通过VPC1的EIP访问公网。您可以通过使用NAT网关服务或配置SNAT服务器,使得VPC2下的弹性云服务器可以通过VPC1下绑定了EIP的弹性云服务器访问Internet。具体实现方式请参见无公网IP的弹性云服务器访问Internet。 具体设置VPC对等连接的方法,可参考《虚拟私有云用户指南》。 对等连接建立后,需要在本端VPC、对端VPC分别添加对方子网的路由才能通信,详细操作可参考添加VPC对等连接路由。 在添加对等路由时,建议添加网段路由信息。如果添加点对点路由,DRS任务重建后实例IP会发生改变,此时需要重新添加路由,否则会导致网络不通。
  • 可能原因 原因1:全量阶段刚结束,增量迁移延迟高。全量迁移过程中,源库增量数据还在不断地写入,DRS需要在全量结束之后,将这部分增量数据同步到目标端去,因此时延较高。 原因2:源库有大批量数据变更(导入、更新、删除)。大事务写入在源库执行时间本来就很长,而DRS把数据同步到目标库也需要一段时间,所以此时延迟会慢慢增加,如果此大事务的表没有主键或者索引,恢复时间会相应拉长。 原因3:源库存在大批量DDL操作,DDL执行比较慢,同步到目标导致时延增高。 原因4:DRS任务规格限制。DRS不同规格对应的性能上限不同,详细可参考规格说明,当源库数据写入量过大达到瓶颈时,就会导致任务出现延迟。 原因5:目标库规格受限,达到写入瓶颈。以目标实例为RDS for MySQL为例,用户可以在RDS控制台查看数据库性能指标。 原因6:可能存在热点更新。无主键表的写入会导致热点更新,源库对单一表或单一行的高频更新也会导致热点更新,从而导致时延增大。以RDS for MySQL为例,可以通过RDS的审计日志进行确认,详情可参考RDS审计日志。 原因7:网络不稳定导致的时延增大。
  • 解决方法 解决方法1:针对这种情况,DRS会自动追平时延,无需处理,用户可观察增量时延是否降低。 解决方法2:存在大事务写入的情况时,等待更新完毕,或者从业务上考虑尽量避免大事务写入的情况。用户可查看源库执行历史,看是否有大事务的写入,同时可以在目标库查看DRS数据回放情况。以MySQL为例,可执行show processlist查看。 解决方法3:源库应尽量避免执行批量DDL,如果必须执行DDL,请尽量在业务低峰期执行。 解决方法4:重新创建任务,选择较大规格提升同步性能(目前,DRS同步仅支持任务类型为单AZ的同步任务升级实例规格,不支持降低规格,具体操作及约束限制可参考同步规格变更)。 解决方法5:升级目标库的实例规格,提高目标库实例写入性能。以目标实例为RDS for MySQL为例,参考变更规格,升级实例配置。 解决方法6:如果存在热点更新,需要等待热点更新完毕,或者从业务上尽量避免热点更新。 解决方法7:网络延迟无法避免,用户可以通过专线网络接入源库和目标库实例减少延迟。
  • WAF获取真实IP是从报文中哪个字段获取到的? WAF引擎会根据防护规则确定是否代理转发请求去后端,如果WAF配置了基于IP的规则(比如黑白名单、地理位置、基于IP的精准访问防护规则),那么WAF引擎就会获取真实IP后才能放行或者拦截代理请求。获取真实IP的方法基于以下原则: 在WAF中开启了代理,即添加域名时,“是否已使用代理”选择了“四层代理”或“七层代理”,按以下顺序获取源IP: 优先取“upstream”中配置的源IP头列表,即在域名的基本信息页面配置的“IP标记”,具体的操作请参见配置攻击惩罚的流量标识。如果未取到,执行2。 如果想以TCP连接IP作为客户端IP,“IP标记”应配置为“remote_addr”。 取config中配置的源IP头列表“cdn-src-ip”字段对应的值,未取到,执行3。 取“x-real-ip”字段的值,未取到,执行4。 取“x-forwarded-for”字段左边开始第一个公网IP,未取到,执行5。 取WAF看到的TCP连接IP,“remote_addr”字段对应的值。 在WAF中未开启代理,即添加域名时,“是否已使用代理”选择了“无代理”,直接取“remote_ip”字段的值为真实IP。 获取客户端的真实IP的具体方法,详见获取客户端真实IP。 父主题: 防护日志
  • Web应用防火墙 支持哪些工作模式和防护模式? 域名接入WAF后,WAF作为一个反向代理部署在客户端和服务器之间,服务器的真实IP被隐藏起来,Web访问者只能看到WAF的IP地址。 WAF支持以下几种工作模式: 开启防护 暂停防护 Bypass 如果“部署模式”为“云模式”的网站在接入WAF前使用了代理,则不能切换为“Bypass”工作模式。 “部署模式”为“独享模式”的网站不支持“Bypass”工作模式。 有关切换WAF工作模式的详细操作,请参见切换工作模式。 WAF防护规则支持的防护模式说明如表1所示。 表1 支持的防护模式说明 防护规则 防护模式 Web基础防护规则 拦截 仅记录 CC攻击防护规则 人机验证 阻断 动态阻断 仅记录 精准访问防护规则 阻断 放行 仅记录 黑白名单规则 拦截 放行 仅记录 地理位置访问控制规则 拦截 放行 仅记录 须知: WAF专业版、铂金版、独享版和ELB模式支持配置该规则。 网站反爬虫规则 特征反爬虫支持以下防护动作: 拦截 仅记录 须知: WAF专业版、铂金版、独享版和ELB模式支持配置该规则。 拦截:发现攻击行为后立即阻断并记录。 仅记录:发现攻击行为后只记录不阻断攻击。 父主题: 其他类
  • 可能原因 防护网站开启了“JS脚本反爬虫”,由于用户的客户端浏览器没有JavaScript解析能力,客户端会缓存包含WAF返回JavaScript代码的页面,而用户每次访问防护网站时都会访问该缓存页面,WAF由此判定用户访问请求为非法的浏览器或爬虫工具,访问请求验证一直失败,造成无限循环,最终导致URI长度超出浏览器限制,访问网站失败。 开启JS脚本反爬虫后,当客户端发送请求时,WAF会返回一段JavaScript代码到客户端。如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求到WAF,即WAF完成JS验证,并将该请求转发给源站,如图2所示。 图2 JS脚本反爬虫正常检测流程 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求到WAF,即WAF无法完成js验证。 如果客户端爬虫伪造了WAF的认证请求,发送到WAF时,WAF将拦截该请求,js验证失败。
  • CDN+WAF如何配置? CDN+WAF配置后,流量被 CDN加速 后转发到WAF,WAF再将流量转到源站,在提升用户访问网站的响应速度与网站的可用性的同时,实现网站流量检测和攻击拦截。 云模式 先将域名解析到CDN,再修改CDN源站信息,将源站域名修改为WAF的“CNAME”,同时,为了防止其他用户提前将您的域名配置到Web应用防火墙上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加一条WAF的子域名和TXT记录。 独享模式 先将域名解析到CDN,再修改CDN源站信息,将源站IP修改为WAF独享引擎实例配置弹性负载均衡绑定的弹性公网IP。 ELB模式 先将域名解析到CDN,再修改CDN源站信息,将源站IP修改为ELB模式实例所绑定ELB的弹性公网IP。 有关同时部署CDN和WAF的详细介绍,请参见“CDN+WAF”联动提升网站防护能力和访问速度。 父主题: WAF与其他华为云服务同时部署
  • 响应示例 状态码: 200 查询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" : "747a911c17067a39692f75ac146fb47e" }
  • 响应示例 状态码: 200 查询操作成功。 { "request_id" : "36479272a29de0be0a8a8b294c02ab7a", "tags" : [ { "key" : "keys", "values" : [ "value" ] }, { "key" : "key3", "values" : [ "value3", "value33" ] }, { "key" : "key1", "values" : [ "value1" ] }, { "key" : "key2", "values" : [ "value2", "value22" ] } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 请求id。 最小长度:1 最大长度:36 tags Array of Tags objects 标签。 数组长度:1 - 10 表4 Tags 参数 参数类型 描述 key String 键。最大长度128个unicode字符。搜索时不对此参数做校验,key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后空格。 最小长度:1 最大长度:128 values Array of strings 值列表。每个值最大长度255个unicode字符。 最小长度:0 最大长度:255
  • URI DELETE /v3/{project_id}/private-nat-gateways/{resource_id}/tags/{key} 表1 路径参数 参数 是否必选 参数类型 描述 key 是 String 标签key。 最小长度:1 最大长度:128 project_id 是 String 项目的ID。 最小长度:1 最大长度:32 resource_id 是 String 私网NAT网关 的ID。 最小长度:36 最大长度:36
  • 响应示例 状态码: 200 查询公网NAT网关实例成功。 { "nat_gateway" : { "id" : "14338426-6afe-4019-996b-3a9525296e11", "name" : "nat-gateway-name", "description" : "nat-gateway-description", "spec" : "1", "router_id" : "d84f345c-80a1-4fa2-a39c-d0d397c3f09a", "tenant_id" : "70505c941b9b4dfd82fd351932328a2f", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "internal_network_id" : "89d66639-aacb-4929-969d-07080b0f9fd9", "status" : "ACTIVE", "admin_state_up" : true, "billing_info" : "", "dnat_rules_limit" : 200, "snat_rule_public_ip_limit" : 20, "ngport_ip_address" : "192.168.0.138", "created_at" : "2019-04-22 08:47:13.902312" } }
  • 请求示例 添加私网NAT网关标签,其中,标签键为“key1”,对应的值为“value1”。 POST https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/private-nat-gateways/3320166e-b937-40cc-a35c-02cd3f2b3ee2/tags { "tag" : { "key" : "key1", "value" : "value1" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:1 最大长度:10240 表3 请求Body参数 参数 是否必选 参数类型 描述 tag 是 Tag object 标签。 表4 Tag 参数 是否必选 参数类型 描述 key 是 String 键。最大长度128个unicode字符。key不能为空。 最小长度:1 最大长度:128 value 是 String 值。每个值最大长度255个unicode字符。 最小长度:0 最大长度:255
  • 请求示例 查询私网NAT网关实例,其中,操作标识为filter,进行分页查询,查询记录数为10条。 POST https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/private-nat-gateways/resource_instances/action { "offset" : "10", "limit" : "10", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ] } 查询私网NAT网关实例,其中,操作标识为count,按照条件将总条数返回。 POST https://{Endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/private-nat-gateways/resource_instances/action { "action" : "count", "not_tags" : [ { "key" : "key1", "values" : [ "value1", "*value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "matches" : [ { "key" : "resource_name", "value" : "resource1" } ] }
  • 响应示例 状态码: 200 查询操作成功。 示例1:action为count时的响应体 示例2:action为filter时的响应体 示例 1 { "request_id" : "a67262f6b7242d63d4ae95e41abf2790", "total_count" : 100 } 示例 2 { "resources" : [ { "resource_detail" : null, "resource_id" : "e5ad289f-9c56-4daf-b08b-2e53a983473a", "resource_name" : "nat_gateways", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] } ], "request_id" : "a67262f6b7242d63d4ae95e41abf2790", "total_count" : 1 }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 resources Array of Resource objects 资源列表。 数组长度:1 - 2000 request_id String 请求id。 最小长度:1 最大长度:36 total_count Integer 总记录数。 表7 Resource 参数 参数类型 描述 resource_detail Object 资源详情。用于扩展。默认为空。 resource_id String 资源的ID。 最小长度:36 最大长度:36 resource_name String 资源名称,资源没有名称时默认为空字符串。 最小长度:0 最大长度:36 resource_tag Array of ResourceTag objects 标签列表,没有标签默认为空数组。 数组长度:1 - 10 表8 ResourceTag 参数 参数类型 描述 key String 标签key值。 最小长度:1 最大长度:128 value String 标签value。 最小长度:0 最大长度:255
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:1 最大长度:10240 表3 请求Body参数 参数 是否必选 参数类型 描述 offset 否 String 索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数。 最小长度:0 最大长度:65535 limit 否 String 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。 最小长度:1 最大长度:1000 action 是 String 操作标识(仅限于filter,count):filter(过滤),count(查询总条数) 如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可。 枚举值: filter count matches 否 Array of Match objects 搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。此字段为固定字典值。 根据不同的字段确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配。resource_id为精确匹配。第一期只做resource_name,后续在扩展。 not_tags 否 Array of Tags objects 不包含标签,最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 数组长度:1 - 10 tags 否 Array of Tags objects 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。 数组长度:1 - 10 tags_any 否 Array of Tags objects 包含任意标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回包含任意标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 数组长度:1 - 10 not_tags_any 否 Array of Tags objects 不包含任意标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。返回不包含任意标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。 数组长度:1 - 10 表4 Match 参数 是否必选 参数类型 描述 key 是 String 搜索条件key值。 最小长度:1 最大长度:128 value 是 String 搜索条件value。 最小长度:0 最大长度:255 表5 Tags 参数 是否必选 参数类型 描述 key 是 String 键。最大长度128个unicode字符。搜索时不对此参数做校验,key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后空格。 最小长度:1 最大长度:128 values 是 Array of strings 值列表。每个值最大长度255个unicode字符。 最小长度:0 最大长度:255
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 transit_ip TransitIp object 中转子网IP的响应体。 request_id String 请求ID。 最小长度:1 最大长度:36 表4 TransitIp 参数 参数类型 描述 id String 中转IP的ID。 最小长度:36 最大长度:36 project_id String 项目的ID。 最小长度:1 最大长度:36 network_interface_id String 中转IP的网络接口ID。 最小长度:36 最大长度:36 ip_address String 中转IP的地址。 最小长度:7 最大长度:35 created_at String 中转IP的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ 最小长度:1 最大长度:36 updated_at String 中转IP的更新时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ 最小长度:1 最大长度:36 virsubnet_id String 当前租户子网的ID。 最小长度:0 最大长度:36 tags Array of Tag objects 标签列表。 数组长度:1 - 10 gateway_id String 中转IP绑定的私网NAT网关实例的ID。 最小长度:36 最大长度:36 enterprise_project_id String 企业项目ID。创建中转IP时,关联的企业项目ID。 最小长度:1 最大长度:36 表5 Tag 参数 参数类型 描述 key String 标签key值。 最小长度:1 最大长度:128 value String 标签value。 最小长度:0 最大长度:255
  • 响应示例 状态码: 200 查询指定中转IP成功。 { "transit_ip" : { "id" : "a2845109-3b2f-4627-b08f-09a726c0a6e7", "project_id" : "da261828016849188f4dcc2ef94d9da9", "network_interface_id" : "adebbdca-8c26-4c14-b34f-3f53cd2c42f2", "ip_address" : "192.168.1.68", "gateway_id" : "521bb3d9-8bed-4c6c-9ee8-669bd0620f76", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "created_at" : "2019-04-29T02:16:09", "updated_at" : "2019-04-29T02:16:09", "virsubnet_id" : "49ee5fb5-75bf-4320-946e-b21ef4c9c9c1", "tags" : [ { "key" : "key1", "value" : "value1" } ] }, "request_id" : "747a911c17067a39692f75ac146fb47e" }
  • 响应示例 状态码: 200 查询公网NAT网关实例列表成功 { "nat_gateways" : [ { "id" : "a253be25-ae7c-4013-978b-3c0785eccd63", "router_id" : "b1d81744-5165-48b8-916e-e56626feb88f", "status" : "ACTIVE", "description" : "nat01", "admin_state_up" : true, "tenant_id" : "27e25061336f4af590faeabeb7fcd9a3", "created_at" : "2017-11-15 14:50:39.505112", "spec" : "2", "internal_network_id" : "5930796a-6026-4d8b-8790-6c6bfc9f87e8", "name" : "wj3", "enterprise_project_id" : "0aad99bc-f5f6-4f78-8404-c598d76b0ed2", "billing_info" : "", "dnat_rules_limit" : 200, "snat_rule_public_ip_limit" : 20, "ngport_ip_address" : "192.168.0.138" }, { "id" : "e824f1b4-4290-4ebc-8322-cfff370dbd1e", "router_id" : "305dc52f-13dd-429b-a2d4-444a1039ba0b", "status" : "ACTIVE", "description" : "1234", "admin_state_up" : true, "tenant_id" : "27e25061336f4af590faeabeb7fcd9a3", "created_at" : "2017-11-17 07:41:07.538062", "spec" : "2", "internal_network_id" : "fc09463b-4ef8-4c7a-93c8-92d9ca6daf9d", "name" : "lyl001", "enterprise_project_id" : "0", "billing_info" : "", "dnat_rules_limit" : 200, "snat_rule_public_ip_limit" : 20, "ngport_ip_address" : "192.168.5.210" } ] }
  • URI DELETE /v3/{project_id}/transit-ips/{resource_id}/tags/{key} 表1 路径参数 参数 是否必选 参数类型 描述 key 是 String 标签key。 最小长度:1 最大长度:128 project_id 是 String 项目的ID。 最小长度:1 最大长度:32 resource_id 是 String 中转IP的ID。 最小长度:36 最大长度:36
  • 响应示例 状态码: 200 查询DNAT规则成功。 { "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", "private_ip" : "", "internal_service_port" : 993, "protocol" : "tcp", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526d", "created_at" : "2017-11-15 15:44:42.595173", "id" : "5b95c675-69c2-4656-ba06-58ff72e1d338", "floating_ip_address" : "5.21.11.226", "external_service_port" : 242, "description" : "my dnat rule 01" } }
  • 响应参数 状态码: 201 表6 响应Body参数 参数 参数类型 描述 transit_ip TransitIp object 中转子网IP的响应体。 request_id String 请求ID。 最小长度:1 最大长度:36 表7 TransitIp 参数 参数类型 描述 id String 中转IP的ID。 最小长度:36 最大长度:36 project_id String 项目的ID。 最小长度:1 最大长度:36 network_interface_id String 中转IP的网络接口ID。 最小长度:36 最大长度:36 ip_address String 中转IP的地址。 最小长度:7 最大长度:35 created_at String 中转IP的创建时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ 最小长度:1 最大长度:36 updated_at String 中转IP的更新时间,遵循UTC时间,格式是yyyy-mm-ddThh:mm:ssZ 最小长度:1 最大长度:36 virsubnet_id String 当前租户子网的ID。 最小长度:0 最大长度:36 tags Array of Tag objects 标签列表。 数组长度:1 - 10 gateway_id String 中转IP绑定的私网NAT网关实例的ID。 最小长度:36 最大长度:36 enterprise_project_id String 企业项目ID。创建中转IP时,关联的企业项目ID。 最小长度:1 最大长度:36 表8 Tag 参数 参数类型 描述 key String 标签key值。 最小长度:1 最大长度:128 value String 标签value。 最小长度:0 最大长度:255
  • 请求示例 创建中转IP,其中,当前项目子网的id为2759da7b-8015-404c-ae0a-a389007b0e2a,中转IP地址为192.168.1.68,创建中转IP时,关联的企业项目id为2759da7b-8015-404c-ae0a-a389007b0e2a。 POST https://{Endpoint}/v3/da261828016849188f4dcc2ef94d9da9/private-nat/transit-ips { "transit_ip" : { "virsubnet_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "ip_address" : "192.168.1.68", "tags" : [ { "key" : "key1", "value" : "value1" } ] } }
  • 响应示例 状态码: 201 创建中转IP成功。 { "transit_ip" : { "id" : "a2845109-3b2f-4627-b08f-09a726c0a6e7", "project_id" : "da261828016849188f4dcc2ef94d9da9", "network_interface_id" : "adebbdca-8c26-4c14-b34f-3f53cd2c42f2", "ip_address" : "192.168.1.68", "gateway_id" : "521bb3d9-8bed-4c6c-9ee8-669bd0620f76", "enterprise_project_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "created_at" : "2019-04-29T02:16:09", "updated_at" : "2019-04-29T02:16:09", "virsubnet_id" : "2759da7b-8015-404c-ae0a-a389007b0e2a", "tags" : [ { "key" : "key1", "value" : "value1" } ] }, "request_id" : "747a911c17067a39692f75ac146fb47e" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用户Token也就是调用获取用户Token获取请求认证接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:1 最大长度:512 表3 请求Body参数 参数 是否必选 参数类型 描述 transit_ip 是 CreatTransitIpOption object 创建中转IP的请求体。 表4 CreatTransitIpOption 参数 是否必选 参数类型 描述 virsubnet_id 是 String 当前项目子网的ID。 最小长度:1 最大长度:36 ip_address 否 String 中转IP地址。 最小长度:7 最大长度:35 enterprise_project_id 否 String 企业项目ID。创建中转IP时,关联的企业项目ID。 缺省值:0 最小长度:1 最大长度:36 tags 否 Array of Tag objects 标签 数组长度:0 - 2000 表5 Tag 参数 是否必选 参数类型 描述 key 是 String 标签key值。 最小长度:1 最大长度:128 value 是 String 标签value。 最小长度:0 最大长度:255
  • 响应示例 状态码: 200 查询DNAT规则列表成功。 { "dnat_rules" : [ { "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", "private_ip" : "", "internal_service_port" : 993, "protocol" : "tcp", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526d", "created_at" : "2017-11-15 15:44:42.595173", "id" : "79195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address" : "5.21.11.226", "external_service_port" : 242, "description" : "my dnat rule 01" }, { "floating_ip_id" : "cf99c679-9f41-4dac-8513-9c9228e713e1", "status" : "ACTIVE", "nat_gateway_id" : "dda3a125-2406-456c-a11f-598e10578541", "admin_state_up" : true, "port_id" : "", "private_ip" : "192.168.1.100", "internal_service_port" : 0, "protocol" : "any", "tenant_id" : "d199ba7e0ba64899b2e81518104b1526d", "created_at" : "2017-11-16 15:44:42.595173", "id" : "89195d50-0271-41f1-bded-4c089b2502ff", "floating_ip_address" : "5.21.11.227", "external_service_port" : 0, "description" : "my dnat rule 01" } ] }
  • 响应示例 状态码: 200 查询SNAT规则成功。 { "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" : "d199ba7e0ba64899b2e81518104b1526", "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" } }
共100000条