适用于:基本 | 标准 | 高级
Azure API 管理服务实例可以根据一组规则自动缩放。 可以通过 Azure Monitor 自动缩放启用和配置此行为。
本文逐步讲解配置自动缩放的过程,并建议自动缩放规则的最佳配置。
重要
更改 API 管理服务的基础结构(例如配置自定义域、添加 CA 证书、缩放、虚拟网络配置、可用性区域更改和区域添加)可能需要 15 分钟或更长时间才能完成,具体取决于服务层和部署大小。 对于具有更大规模单位或多区域配置的实例,预期时间更长。 仔细执行对 API 管理的滚动更改,以保留容量和可用性。
当服务正在更新时,无法进行其他服务基础结构更改。 但是,可以配置 API、产品、策略和用户设置。 该服务 不会 经历网关停机,API 管理 将继续 服务 API 请求,而不会中断(开发人员层除外)。
先决条件
若要执行本文中的步骤,必须:
- 拥有一个有效的 Azure 订阅。
- 有一个 Azure API 管理实例。 有关详细信息,请参阅创建 Azure API 管理实例。
- 了解 API 管理实例容量的概念。
- 了解 Azure API 管理实例的手动缩放,包括成本影响。
Azure API 管理自动缩放的限制
在配置自动缩放行为之前,需要考虑到缩放存在的某些限制和造成的后果。
- API 管理实例的定价层确定了可缩放到的最大单位数。 例如,可将标准层扩展到 4 个单元。 可将任意数目的单位添加到“高级”层。
- 如果服务被另一操作锁定,则缩放请求将会失败并自动重试。
- 如果服务实例部署在多个区域(位置),则只有主要位置中的单位可以使用 Azure Monitor 自动缩放进行自动缩放。 其他位置的单位只能手动缩放。
- 如果服务实例在主要位置中配置了可用性区域,则配置自动缩放时请注意区域数。 自动缩放规则和限制中的 API Management 单位数必须是区域数的倍数。
为 API 管理实例启用和配置自动缩放
遵循以下步骤为 Azure API 管理服务配置自动缩放:
登录到 Azure 门户,并导航到 API Management 实例。
在左侧菜单中,选择“横向扩展(自动缩放)”,然后选择“自定义自动缩放”。
在“默认”缩放条件下,选择“基于指标缩放”,然后选择“添加规则”。
定义新的横向扩展规则。
例如,当过去 30 分钟的平均容量指标超过 70% 时,横向扩展规则可能触发添加 1 个 API 管理单元的操作。 下表提供了此类规则的示例配置。 在环境中定义横向扩展规则时,请查看先前的限制。
参数 值 说明 指标源 当前资源 基于当前 Azure API 管理资源指标定义规则。 条件 指标名称 容量 容量指标是一个 API 管理标准,用于反映 Azure API 管理实例的资源用量。 位置 选择 API 管理实例的主要位置 运算符 大于 指标阈值 70% 平均容量指标的阈值。 有关设置此阈值的注意事项,请参阅使用容量进行缩放决策。 持续时间(分钟) 30 要计算平均值的容量指标的时间跨度特定于使用模式。 持续时间越长,反应越顺利。 间歇性峰值对横向扩展决策的影响较小。 但是,它还会延迟横向扩展触发器。 时间粒度统计信息 平均值 行动 运算 计数增量 实例计数 1 以 1 个单位为增量横向扩展 Azure API 管理实例。 冷却(分钟) 六十 在大多数情况下,60 分钟冷却期可以防止触发许多的横向扩展操作。 选择“添加”以保存规则。
若要添加其他规则,请选择“添加规则”。
此时,需要定义横向缩减规则。 这可确保在 API 用量减少时不会浪费资源。
定义新的横向缩减规则。
例如,当过去 30 分钟的平均容量指标低于 35% 时,横向缩减规则可以触发删除 1 个 API 管理单元的操作。 下表提供了此类规则的示例配置。
参数 值 说明 指标源 当前资源 基于当前 Azure API 管理资源指标定义规则。 条件 时间聚合 平均值 指标名称 容量 横向扩展规则所用的相同指标。 位置 选择 API 管理实例的主要位置 运算符 小于 阈值 35% 与横向扩展规则一样,此值在很大程度取决于 API 管理的使用模式。 持续时间(分钟) 30 横向扩展规则所用的相同值。 时间粒度统计信息 平均值 行动 运算 计数减量 与横向扩展规则使用的值相反。 实例计数 1 横向扩展规则所用的相同值。 冷却(分钟) 90 横向缩减应该比横向扩展更保守,因此冷却期应该更长。 选择“添加”以保存规则。
在“实例限制”中,选择“最小”、“最大”和“默认”API 管理单元数。
注意
API 管理会限制实例可以横向扩展到的单元数。 该限制取决于服务层级。
选择“保存”。 自动缩放已配置。