Azure 中的自动缩放入门

通过自动缩放,可以根据需求自动缩放应用程序或资源。 使用自动缩放预配足够的资源来支持应用程序的需求,避免过度预配并产生不必要的成本。

本文介绍如何在 Azure 门户中为资源配置自动缩放设置。

Azure 自动缩放支持许多资源类型。 有关支持的资源的详细信息,请参阅自动缩放支持的资源

了解订阅中的自动缩放设置

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

  1. 打开 Azure 门户

  2. 使用页面顶部的搜索栏搜索并选择 Azure Monitor

  3. 选择“自动缩放”以查看自动缩放适用的所有资源及其当前的自动缩放状态。

  4. 使用顶部的筛选器窗格选择特定资源组中的资源、资源类型或特定资源。

    A screenshot showing resources that can use autoscale and their statuses.

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

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

    还可以通过从每个资源的“设置”菜单中选择“缩放”来访问缩放页面。

    A screenshot showing a resource overview page with the scaling menu item.

创建第一个自动缩放设置

注意

除了本文中的自动缩放说明外,Azure 应用服务中还有新的自动缩放。 有关此功能的详细信息,请参阅自动缩放一文。

按照以下步骤创建你的第一个自动缩放设置。

  1. 在 Azure Monitor 中打开“自动缩放”窗格,然后选择要缩放的资源。 以下步骤使用与某 Web 应用关联的应用服务计划。 仅需 5 分钟,就可在 Azure 中创建首个 ASP.NET Web 应用。

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

  3. 输入“名称”和“资源组”或使用默认值。

  4. 选择“根据指标进行缩放”。

  5. 选择“添加规则”。 在右侧打开上下文窗格。

    A screenshot showing the Configure tab of the Autoscale Settings page.

  6. 如果 CPU 百分比大于 70%,默认规则会将资源扩展一个实例。 保留默认值,并选择“添加”。

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

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

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

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

  11. 选择添加

    A screenshot showing a scale rule.

    你现在有一个缩放设置,可根据 CPU 使用率进行横向扩展和缩减,但仍限制为最多一个实例。

  12. 在“实例限制”下, 将“最大值”设为 3

  13. 选择“保存”。

    A screenshot showing the configure tab of the autoscale setting page with configured rules.

你已成功创建第一个缩放设置,以根据 CPU 使用率自动缩放 Web 应用。 当 CPU 使用率超过 70%时,将添加一个额外的实例,最多 3 个实例。 当 CPU 使用率低于 20% 时,将删除一个实例,直到仅剩 1 个实例。 默认情况下,将有 1 个实例。

计划内的缩放条件

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

按重复计划缩放

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

  1. 选择“添加缩放条件”。

  2. 输入缩放条件的说明。

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

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

  5. 选择“星期日

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

  7. 选择“保存

A screenshot showing a scale condition with a repeating schedule.

你现已定义了一个缩放条件,该条件会在每个星期日将资源实例数减少到 1 个。

在特定的日期以不同的方式缩放

将自动缩放设置为在特定日期以不同的比例进行缩放(当你知道服务将面临异常水平的需求时)。

  1. 选择“添加缩放条件”。

  2. 选择“根据指标进行缩放”。

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

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

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

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

  7. 选择“保存

A screenshot showing an scale condition for a specific date.

现已为特定日期定义了缩放条件。 当 CPU 使用率超过 70% 时,将添加一个额外的实例,最多 10 个实例,用于处理预期的负载。 当 CPU 使用率低于 20% 时,将删除一个实例,直到仅剩 1 个实例。 默认情况下,当此缩放条件变为活动状态时,将自动缩放到 3 个实例。

其他设置

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

每当资源发生任何缩放事件时,活动日志都会对其进行记录。 可以在“运行历史记录”选项卡中查看缩放事件的历史记录。

A screenshot showing the run history tab in autoscale settings.

查看资源的缩放设置

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

A screenshot showing the autoscale settings JSON tab.

如果需要,可以直接在 JSON 中进行更改。 这些更改将在保存后生效。

冷却期效果

自动缩放使用冷却期。 此期间是在执行缩放操作之后、再次执行缩放操作之前所要等待的时间。 冷却期可以让指标稳定下来,避免在同一条件下多次缩放。 冷却期适用于横向缩减和横向扩展事件。 例如,如果冷却设置为 10 分钟且自动缩放刚刚横向缩减,则自动缩放在接下来的 10 分钟之内不会尝试在任一方向再次缩放。 有关详细信息,请参阅自动缩放计算步骤

不稳定

回摆是指导致一系列相反缩放事件的循环状态。 当一个缩放事件触发了相反的缩放事件时,就会发生回摆。 例如,横向缩减可减少导致剩余实例中 CPU 上升的实例数。 这反过来会触发横向扩展事件,导致 CPU 使用率下降,并重复该过程。 有关详细信息,请参阅自动缩放中的回摆自动缩放故障排除

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

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

先决条件

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

移动

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

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

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

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

后续步骤