开始使用 Azure 自动缩放

自动缩放会根据需求自动调整应用程序或资源的规模。 使用自动缩放预配足够的资源来支持应用程序的需求,而无需过度预配并产生不必要的成本。

本文介绍如何在Azure门户中配置自动缩放设置。 本演练使用应用服务计划,但 Azure Monitor 自动缩放支持多种资源类型。 有关详细信息,请参阅 自动缩放支持的资源

在本演练中,你将了解支持自动缩放的资源,创建基于指标的横向扩展和横向缩减规则,添加计划的缩放条件,并查看运行历史记录和 JSON 配置。

先决条件

  • 拥有有效订阅的 Azure 帐户。 创建帐户
  • 标准层或更高版本上的应用服务计划。
  • 应用服务计划中至少有一个应用。
  • 应用服务计划的 “所有者 ”或 “参与者 ”角色或具有 Microsoft.Insights/autoscaleSettings/* 权限的自定义角色。

Azure Monitor自动缩放将其指标和计划规则应用于整个应用服务计划,因此缩放会影响计划中的每个应用。

注意

应用服务自动缩放 是一个单独的选项,可根据 HTTP 流量缩放单个应用,而无需指标规则或计划。

查看订阅中的自动缩放设置

若要发现可用于自动缩放的资源,请执行以下步骤。

  1. 打开 Azure 门户

  2. 搜索并选择Monitor

  3. “设置”下,选择“ 自动缩放 ”以查看支持自动缩放的资源及其当前状态。

  4. 使用筛选器选择订阅、资源组、资源类型或资源。

    显示可以使用自动缩放的资源及其状态的屏幕截图。

    该页显示每个资源的实例计数和自动缩放状态。 自动缩放状态为:

    • 未配置:尚未为此资源设置自动缩放功能。
    • 已启用:已对此资源启用自动缩放功能。
    • 已禁用:已对此资源禁用自动缩放功能。

    对于应用服务计划,还可以打开该计划,然后在“设置”下选择“横向扩展”(应用服务计划)。

    应用服务计划的屏幕截图,其中“设置”下选择了“横向扩展”。

创建首个自动缩放设置

按照本部分中的步骤创建第一个自动缩放设置。

  1. 在Azure Monitor中打开“自动缩放”窗格,然后选择要缩放的应用服务计划。

  2. 当前实例计数为 1。 选择“自定义自动缩放”。

  3. 查看生成的自动缩放设置名称和资源组。 请根据需要更改这些设置。

    为应用服务计划选择的自定义自动缩放的屏幕截图。

  4. 选择基于指标缩放。

  5. 选择 “添加规则 ”以打开 “缩放规则 ”窗格。

  6. 新规则默认会在应用服务计划的 CPU 百分比 指标在 10 分钟内超过 70% 时,将实例数增加 1。

    保留默认值,然后选择“ 添加”。

  7. 你已创建你的第一个横向扩展规则。 最佳做法是至少有一个横向缩减规则。 若要添加其他规则,请选择“添加规则”。

  8. 将运算符设置为小于。

  9. 触发缩放操作的指标阈值设为 20

  10. 将操作设置为按以下数值减少计数。

    应用服务缩减规则的截图,其中 CPU 阈值设为 20%。

  11. 选择“添加” 。

    你已配置了一个缩放设置,可根据 CPU 使用率进行横向扩展和缩减,但仍限制为最多一个实例。 更改实例限制以允许更多实例。

  12. 实例限制下,将 最大值 设置为 3

    应用服务横向扩展和横向扩展规则的屏幕截图,其中实例限制为 1 到 3。

  13. 选择“保存”。

你创建了一个自动缩放设置,用于根据 CPU 使用率缩放应用服务计划。 当 CPU 使用率大于 70% 时,自动缩放会添加一个实例,最多 3 个实例。 当 CPU 使用率低于 20% 时,自动缩放会删除实例,减少到至少一个实例。 默认实例计数为 1。

添加计划的缩放条件

默认缩放条件定义在没有其他缩放条件生效时处于活动状态的缩放规则。 添加在指定日期和时间生效的缩放条件,或每周重复的缩放条件。

根据重复计划进行缩放

将资源设置为在星期日缩放为单个实例。

  1. 选择 添加缩放条件。

  2. 选择 缩放到特定实例数。 还可以根据特定于此缩放条件的指标和阈值进行缩放。

  3. 在“实例计数”字段中输入 1

  4. 选择“重复特定日期”

  5. 选择 “星期日”。

  6. 设置应用缩放条件的开始时间结束时间。 在此时间范围之外,将应用默认缩放条件。

    于星期日重复执行的应用服务计划缩放条件的屏幕截图。

  7. 选择“保存”。

你定义了一个缩放条件,用于在指定的时间范围内于每个星期日将应用服务计划缩减为一个实例。

在特定日期使用不同的缩放比例

当你预计服务需求会出现异常水平时,可将自动缩放设置为在特定日期采用不同的缩放方式。

  1. 选择 添加缩放条件。

  2. 选择基于指标缩放。

  3. 选择“添加规则”以定义横向扩展和横向缩减规则。 将规则设置为与默认条件相同。

  4. 最大 实例限制设置为 10

  5. 默认 实例限制设置为 3

  6. 选择 “指定开始日期/结束日期”。

  7. 输入应用缩放条件的开始日期结束日期

    应用服务计划指标条件的屏幕截图,其中包含特定的开始日期和结束日期。

  8. 选择“保存”。

已为特定日期范围设置缩放条件。 当 CPU 使用率大于 70% 时,自动缩放会添加一个实例,最大为 10 个。 当 CPU 使用率低于 20% 时,自动缩放会删除实例,减少到至少一个实例。 当此缩放条件变为活动状态时,其默认实例计数为 3。

其他设置

使用自动缩放设置选项卡和资源特定的选项查看活动、编辑 JSON、配置通知和访问高级缩放功能。

查看资源的缩放事件的历史记录

每当资源有任何缩放事件时,活动日志记录它。 可以在“运行历史记录”选项卡中查看缩放事件的历史记录。

“运行历史记录”选项卡上观察到的应用服务计划实例计数的屏幕截图。

查看资源的缩放设置

“自动缩放”是一种 Azure 资源管理器资源。 与其他资源一样,可以采用 JSON 格式查看资源定义。 若要查看 JSON 中的自动缩放设置,请选择“JSON”选项卡。

JSON 选项卡上应用服务计划自动缩放规则的屏幕截图。

如有必要,请直接在 JSON 中进行更改。 保存这些更改后生效。

虚拟机规模集的横向缩减策略

对虚拟机规模集进行缩放时,横向缩减策略决定在发生横向缩减事件时选择哪些虚拟机进行移除。 将缩容策略设置为 DefaultNewestVMOldestVM。 有关详细信息,请参阅对 Azure 虚拟机规模集使用自定义横向缩减策略

显示缩容策略设置的屏幕截图。

通知

配置通知以在发生缩放事件时发送。 将通知发送至电子邮件地址或 Webhook URL。 有关详细信息,请参阅 自动缩放通知

冷却期效果

自动缩放会评估每个候选规则中配置的冷却时间。 执行一次缩放操作后,在该规则自身的冷却期结束之前,它无法发起另一次缩放操作。 冷却期较短的另一条规则可能会更早符合条件。 冷却期可以让指标稳定下来,避免在同一条件下多次缩放。 默认冷却期为 5 分钟。 有关更多信息,请参阅 自动缩放如何评估冷却时间

抖动

回摆是指导致一系列相反缩放事件的循环状态。 当某个扩缩容事件触发了一个相反的扩缩容事件时,就会发生抖动。 例如,缩容会减少实例数量,从而导致剩余实例的 CPU 使用率上升。 此条件触发横向扩展事件,这会导致 CPU 使用率下降,并重复此过程。 有关更多信息,请参阅 自动缩放中的波动排查自动缩放问题

清除自动缩放设置

若要停止资源上的自动缩放,请打开资源的 “自动缩放 ”窗格,选择 “手动缩放”,设置实例计数,然后选择“ 保存”。 手动缩放会删除自动缩放规则,并将资源返回到固定实例计数。

将自动缩放移动到其他区域

本部分介绍如何将 Azure 自动缩放移动到同一订阅和资源组下的另一个区域。 使用 REST API 移动自动缩放设置。

先决条件

  • 确保订阅和资源组可用,并且源区域和目标区域中的详细信息完全相同。
  • 确保你想要迁移到的 Azure 区域可使用 Azure 自动缩放。

移动

使用 REST API 在新环境中创建自动缩放设置。 在目标区域中创建的自动缩放设置是源区域中的自动缩放设置的副本。

无法迁移你在源区域中创建并与自动缩放设置关联的诊断设置。 创建自动缩放设置后,需要在目标区域中重新创建诊断设置。

详细了解如何在 Azure 区域间移动资源

要详细了解如何在区域之间移动资源,以及如何在 Azure 中进行灾难恢复,请参阅将资源移动到新资源组或订阅