云服务器内容精选

  • 计费周期 按需计费时,实例按秒计费,每一个小时整点结算一次费用(以GMT+08:00时间为准),结算完毕后进入新的计费周期。计费的起点以部署在API网关上实例启动运行的时间点为准,终点以实例删除的时间为准。 例如,您在2023/03/10 8:45:30部署了专业版实例,然后在9:30:00将其全部删除,则计费周期分为如下两个时间段: 8:00:00~9:00:00时间段,在8:45:30~9:00:00间产生费用,该计费周期内的计费时长为870秒。 9:00:00~10:00:00时间段,在9:00:00~9:30:00间产生费用,该计费周期内的计费时长为1800秒。
  • 升级实例版本后对计费的影响 如果您当前使用的实例版本不能满足需要,API网关支持升级产品版本,例如从“基础版”升级到“专业版”或者铂金版,并且对现有业务没有影响。 如果您在一个小时内升级了实例版本,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如2023/03/10 9:00:00,您部署运行了专业版实例(假设实例版本单价为12.88元/小时/实例,公网带宽单价为0.063元/小时/实例)。并在9:30:00升级实例版本到企业版(假设实例版本单价为19.36元/小时/实例,公网带宽单价为0.063元/小时/实例),那么在9:00:00 ~ 10:00:00间会产生两条计费信息: 第一条对应9:00:00 ~ 9:30:00,按照专业版计费。则参考计费项中的计费公式,该计费时间段内的费用为:1800÷3600x12.88x1+1800÷3600x0.063x1=6.47(元)。 第二条对应9:30:00 ~ 10:00:00,按照企业版计费。则参考计费项中的计费公式,该计费时间段内的费用为:1800÷3600x19.36x1+1800÷3600x0.063x1=9.71(元)。
  • 计费示例 假设您在2023/03/10 8:45:30部署专业版实例(假设实例版本单价为12.88元/小时/实例,公网带宽单价为0.063元/小时/实例),然后在9:30:00将其全部删除,则计费周期分为如下两个时间段: 8:00:00~9:00:00时间段,在8:45:30~9:00:00间产生费用,该计费周期内的计费时长为870秒。则参考计费项中的计费公式,该计费时间段内的费用为:870÷3600x12.88x1+870÷3600x0.063x1=3.13(元)。 9:00:00~10:00:00时间段,在9:00:00~9:30:00间产生费用,该计费周期内的计费时长为1800秒。则参考计费项中的计费公式,该计费时间段的费用为:1800÷3600x12.88x1+1800÷3600x0.063x1=6.47(元)。
  • 适用计费项 表1 按需计费适用计费项 计费项 说明 版本(实例规格) API网关提供的实例版本有:基础版、专业版、企业版、铂金版等,您可以根据实际业务需要按需使用。实例版本说明,请参考产品规格。如果您当前使用的实例版本不能满足需要,API网关支持升级产品版本,例如从“基础版”升级到“专业版”或者铂金版,并且对现有业务没有影响。 实例版本单价,请参考价格详情中的按需计费价格。 公网带宽 使用的公网入口和公网出口带宽大小。 购买时长 使用实例或公网带宽的时间长度,按小时计费,精确到秒。 购买个数 实例的个数。 假设您计划使用1个专业版实例,开启公网出口,公网带宽大小为5Mbit/s,使用时长1小时,在价格计算器页面底部,您将看到所需的配置费用。 图1 按需计费配置费用示例 配置费用包括版本、公网带宽、实例数以及使用时长。
  • 共享版API网关 共享版API网关按调用量费用+公网流量费用计费,调用量指API调用次数,流量指API调用的下行网络流量。计费模式详情请参考表3。 共享版APIG已下线,当前仅存量用户可以使用。关于计费模式详情请参考价格详情,下文不再具体描述。 表3 共享版API网关计费模式 计费模式 按需计费 付费方式 后付费 按照实际使用量计费。 计费周期 按天结算。 账单出账时间通常在当前计费周期结束后一小时内,最长不超过三个小时。 适用计费项 使用量(包含API调用量和公网流量) 如果后端服务与API网关不在同一区域,或后端服务不在华为云,将会额外收取API网关到后端服务的流量费用。 适用场景 适用于API需求较小的场景。
  • 产品功能 API生命周期管理 包括API的创建、发布、下线和删除的完整生命周期管理功能。通过API生命周期管理功能,您可以快速、高效地开放成熟的业务能力。 云原生网关 API网关将流量入口和微服务治理能力融合,用一个网关去同时支持了k8s Ingress和Gateway API的功能,不仅大幅提升了性能,还简化了架构,降低了部署和运维成本。 便捷调试工具 API网关提供页面调试工具,您可以使用该工具添加HTTP头部参数与body体参数,对API进行调试,简化API开发,降低API的开发维护成本。 版本管理 API可以发布到不同的环境,如果您需要再次发布此API到之前已发布的环境,那么此次的发布版本将立即覆盖之前的版本。API网关支持查看API发布历史(如版本、发布说明、发布时间和发布环境),并支持回滚到任一API历史版本,以便满足业务灰度发布、版本升级、回滚等需求。 环境变量 环境变量是指在环境上创建可管理的一种变量,该变量固定在环境上。当API发布到不同环境时,发布过程中变量标识会被相应环境的变量值替换,API本身定义不变。通过创建环境变量,实现同一个API,在不同环境中调用不同的后端服务。 精细流量控制 针对不同的业务等级、用户等级,可实施API的请求频率、用户的请求频率、应用(凭据)的请求频率和源IP的请求频率的管控,用于保障后端服务的稳定运行。 针对API调用path、query、header等参数精细化配置不同的流量的限制。 流量控制的时间单位可以是秒、分钟、小时或天。 针对特殊的应用(凭据)和租户设置特殊的流控限制。 监控告警 提供实时、可视化的API监控,包括:API请求次数、API调用延迟和API错误信息,通过监控面板更清晰地了解API的调用情况,识别可能影响业务的潜在风险。 安全防护 域名 访问认证支持TLS1.1、TLS1.2防护,支持mTLS双向认证。 访问控制策略主要用来控制访问API的IP地址和账户,您可以通过设置IP地址或账户的黑白名单来拒绝/允许某个IP地址或账户访问API。 断路器策略是API网关在后端服务出现性能问题时保护系统的机制,支持通过熔断降级的方式保护后端服务。 身份认证策略支持通过AKSK、Token等多种方式进行服务认证,支持用户通过函数自定义API访问认证逻辑,支持对后端服务进行证书校验,支持签名密钥用于后端服务验证API网关的身份。 VPC通道(负载通道) 在API网关中创建VPC通道来访问VPC环境中的资源,并将部署在VPC中的后端服务开放为API。VPC通道具有负载均衡功能,可对接服务器、微服务注册中心,支持后端流量的均衡、灰度策略,从而实现后端服务的负载均衡。 模拟响应 API网关支持设置模拟的API后端响应,支持利用Mock响应支持熔断降级、重定向等场景。 API云商店 将华为云上创建的API通过华为云商店开放给合作伙伴及第三方开发者,从而实现业务能力变现。目前仅支持共享版API上架云商店。
  • 专享版与共享版的差异 API网关当前提供共享版与专享版两种服务方式。其中共享版API即开即用,专享版API网关需要购买专享版实例,并在实例中管理API。 专享版API网关常用于企业内部系统解耦,各服务部署在云上的VPC内,服务之间以RESTful API方式通信,通信链路在VPC内部进行,网络安全得到进一步保障。同时专享版实例支持前端或后端服务部署在公有网络,通过绑定弹性公网IP实现网络交互。 表3 共享版与专享版API网关差异 差异项 共享版 专享版 计费 按API的调用量和公网流量计费。 按实例规格与公网出口带宽计费。 网络访问 公网访问。 实例运行在虚拟私有云(VPC)中,在VPC内,使用实例的虚拟私有云访问地址调用API。 可通过开启公网入口与出口访问,允许外部服务调用API,及后端部署在外部网络环境中。 云商店售卖 API可在云商店公开售卖。 不支持将API上架到云商店公开售卖。 使用对象 小型用户。 物理隔离要求较低,能够开箱即用,快速实现API能力开放。 中大型用户。 专享版API网关拥有物理隔离的独立集群, 更丰富的特性。 满足内部API调用跟API开放,专享独立的公网带宽。 API网关的共享版与专享版在功能上的异同点如下表所示。 表4 共享版与专享版API网关功能差异 规格分类 规格描述 共享版 专享版 基本功能 精细化流控 √ √ IP&用户访问控制 √ √ 安全认证 √ √ API生命周期管理 √ √ 自定义域名 √ √ Swagger导入导出 √ √ 支持VPC通道(负载通道) √ √ API参数编排 √ √ API分组变量管理 √ √ 高级功能 自定义认证 √ √ 支持对接API云商店 √ 即将支持 支持API策略路由 √ √ 运维分析展示 √ √ 支持后端负载均衡 × √ 支持内部API管理 × √ 后端支持对接私有云 × √ 支持对接专线服务 × √ 插件 × √ 日志分析 × √ 性能指标 独立物理多租集群 × √ 出、入网带宽独立 × √ 推荐每秒请求次数 200TPS 4000~10000TPS
  • 专享版规格 专享版API网关QPS(Query Per Second,每秒查询率)吞吐受应答大小、是否开启HTTPS、是否开启gzip等多种因素影响。下表是API网关处于30%CPU水位下的QPS参考值,参考场景为无认证和单机流控模式。 安全水位指能够在突发流量增长至双倍的情况下,API网关系统依然维持高吞吐量和低延迟性能。 表1 QPS性能参考 实例规格 基础版 专业版 企业版 铂金版 铂金版x2 连接类型 应答字节数(KBytes) 是否使用HTTPS 是否使用gzip CPU处于安全水位(30%)的QPS参考 短连接 1 否 否 3500 3600 9000 55000 72000 是 否 1000 1100 2800 16000 20000 长连接 1 否 否 4500 4200 13000 79000 105000 是 否 4000 4000 11000 67000 95000 10 否 否 3500 4000 10000 67000 85000 是 否 3200 3800 9500 65000 80000 不同实例规格的带宽和内网连接数都不同,建议参考下表数据将带宽和连接数控制在有效范围内。 表2 带宽和连接数参考 实例规格 带宽 内网每秒新建连接数 基础版 单AZ:50Mbit/s 双AZ及以上:100Mbit/s 1000 专业版 单AZ:100Mbit/s 双AZ及以上:200Mbit/s 1000 企业版 单AZ:200Mbit/s 双AZ及以上:400Mbit/s 1000 铂金版 单AZ:400Mbit/s 双AZ及以上:800Mbit/s 1000 铂金版 x2 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 铂金版 x3 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 铂金版 x4 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 铂金版 x5 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 铂金版 x6 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 铂金版 x7 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 铂金版 x8 单AZ:2Gbit/s 双AZ及以上:4Gbit/s 1000 部分新特性(支持实例规格变更、断路器策略等)在新版实例中才能使用,如果您发现当前实例不支持,请联系技术支持升级实例版本。 专享版实例对于API的各项默认配额,与共享版一致。 专享版实例规格变更请参考实例规格变更章节。 目前仅北京四、上海一支持选择更多铂金版规格。
  • 生成签名 生成签名的方式和APP认证相同,用AK代替APP认证中的AppKey,SK替换APP认证中的AppSecret,即可完成签名和请求。您可使用Java、Go、Python、C#、JavaScript、PHP、C++、C、Android进行签名和访问。 客户端须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。 API网关(即API管理)除了校验时间格式外,还会校验该时间值与网关收到请求的时间差,如果时间差大于15分钟,API网关将拒绝请求。
  • 生成AK、SK 如果已生成过AK/SK,则可跳过此步骤,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。 如下图所示,文件包含了租户名(User Name),AK(Access Key Id),SK(Secret Access Key)。 图1 credential.csv文件内容 AK/SK生成步骤: 登录控制台。 将鼠标移至用户名,在下拉列表中单击“我的凭证”。 单击“访问密钥”。 单击“新增访问密钥”,进入“新增访问密钥”页面。 按照界面提示输入验证码或登录密码,单击“确定”,下载密钥,请妥善保管。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 permissions 是 Array of strings 白名单记录列表。每个白名单记录的格式为iam:domain::授权账号ID。 其中,授权账号ID是长度为32的字符串,只包含英文字母(a-f)或数字;也可为*,表示允许全部用户连接。 数组长度:1 - 50
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 x-request-id String 请求编号 表5 响应Body参数 参数 参数类型 描述 permissions Array of strings 白名单记录列表。每个白名单记录的格式为iam:domain::授权账号ID。 其中,授权账号ID是长度为32的字符串,只包含英文字母(a-f)或数字;也可为*,表示允许全部用户连接。 数组长度:1 - 50 状态码: 401 表6 响应Header参数 参数 参数类型 描述 x-request-id String 请求编号 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Header参数 参数 参数类型 描述 x-request-id String 请求编号 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表10 响应Header参数 参数 参数类型 描述 x-request-id String 请求编号 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表12 响应Header参数 参数 参数类型 描述 x-request-id String 请求编号 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "permissions" : [ "iam:domain::930ba6b0ea64457e8ed1861e596c7a9a" ] } 状态码: 401 Unauthorized { "error_code" : "APIC.7102", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIC.7106", "error_msg" : "No permissions to request for the method" } 状态码: 404 Resource Not Found { "error_code" : "APIC.7314", "error_msg" : "Endpoint service not found" } 状态码: 500 Internal Server Error { "error_code" : "APIC.9007", "error_msg" : "Failed to execute VCPEP request" }
  • URI POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-endpoint/permissions/batch-add 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 throttle_applys Array of ThrottleApiBinding objects API与流控策略的绑定关系列表 表5 ThrottleApiBinding 参数 参数类型 描述 publish_id String API的发布记录编号 scope Integer 策略作用域,取值如下: 1:整个API 2: 单个用户 3:单个APP 目前只支持1 strategy_id String 流控策略的ID apply_time String 绑定时间 id String 绑定关系的ID 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述