开始使用 Azure 自动缩放

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

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

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

先决条件

在开始之前,请确保满足以下先决条件:

  1. 拥有有效订阅的 Azure 帐户。 创建帐户
  2. 支持自动缩放的资源。 本演练使用与某个 Web 应用关联的应用服务计划。 若要创建一个应用,请参阅在Azure中创建 ASP.NET Web 应用。 有关受支持资源类型的完整列表,请参阅 支持自动缩放的服务
  3. 在目标资源上配置自动缩放的权限。 所有者参与者角色或具有Microsoft.Insights/autoscaleSettings/*权限的自定义角色授予所需的访问权限。

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

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

  1. 打开 Azure 门户

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

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

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

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

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

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

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

    显示包含缩放菜单项的资源概述页的屏幕截图。

创建首个自动缩放设置

注意

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

以下步骤使用 Azure 门户。 若要以编程方式创建自动缩放设置,请使用Azure PowerShellAzure CLIAzure 资源管理器模板REST API

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

  1. 在Azure Monitor中打开“自动缩放”窗格,然后选择要缩放的资源。 以下步骤使用与某 Web 应用关联的应用服务计划。 若要创建一个应用,请参阅在Azure中创建 ASP.NET Web 应用

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

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

  4. 选择基于指标缩放。

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

    显示“自动缩放设置”页的“配置”选项卡的屏幕截图。

  6. 如果 Percentage CPU 指标大于 70%,默认规则会将你的资源扩展 1 个实例。 保留默认运算符(大于)、阈值(70)和操作(增加计数 1),然后选择“ 添加”。

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

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

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

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

  11. 选择“添加” 。

    显示缩放规则的屏幕截图。

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

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

  13. 选择“保存”。

    显示具有已配置规则的自动缩放设置页的“配置”选项卡的屏幕截图。

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

计划内的缩放条件

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

根据重复计划进行缩放

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

  1. 选择 添加缩放条件。

  2. 输入量表条件的描述。

  3. 选择 缩放到特定实例数。 或者,根据此缩放条件特有的指标和阈值进行缩放。

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

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

  6. 选择“星期日

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

  8. 选择“保存”

显示具有重复计划的缩放条件的屏幕截图。

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

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

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

  1. 选择 添加缩放条件。

  2. 选择根据指标进行扩缩。

  3. 选择“添加规则”以定义横向扩展和横向缩减规则。 配置一个横向扩展规则:当 Percentage CPU 大于 70% 时,将实例数增加 1;并配置一个横向缩减规则:当 Percentage CPU 小于 20% 时,将实例数减少 1,与默认条件一致。

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

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

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

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

  8. 选择“保存”

显示特定日期的缩放条件的屏幕截图。

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

其他设置

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

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

显示自动缩放设置中的“运行历史记录”选项卡的屏幕截图。

查看资源的缩放设置

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

显示了自动缩放设置的 JSON 选项卡的屏幕截图。

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

缩容策略

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

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

通知

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

冷却期效果

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

抖动

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

清除自动缩放设置

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

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

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

先决条件

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

移动

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

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

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

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

后续步骤