在 Azure 中管理应用服务计划

Azure 应用服务 计划提供应用服务应用需要运行的资源。 本文介绍如何管理应用服务计划。

创建应用服务计划

提示

如果要在应用服务环境中创建计划,可以在 Region 列表中选择该计划,并按照本节中所述的其余步骤进行操作。

在创建应用时可以创建一个空的应用服务计划,也可以创建一个计划。

  1. 若要开始创建应用服务计划,请转到 Azure 门户中的 创建应用服务计划

    截图,显示 Azure 门户中的“创建应用服务计划”页面。

  2. 在配置应用服务计划之前配置 Project Details 部分。

  3. 在“应用服务计划详细信息”部分中,命名应用服务计划,然后选择“操作系统”和“区域”。 该区域指定创建应用服务计划的位置。

  4. 创建计划时,可以选择新计划的定价层。 在 定价层中,选择 定价计划,或选择 “浏览定价计划 ”以查看其他详细信息。

  5. “区域冗余”部分中,根据需求选择“启用或禁用”。

  6. 选择“查看 + 创建”,然后选择“创建”。

重要

在现有资源组中创建新的应用服务计划时,现有应用的某些条件可能会触发以下错误:

  • The pricing tier is not allowed in this resource group
  • <SKU_NAME> workers are not available in resource group <RESOURCE_GROUP_NAME>

由于定价层级、区域、操作系统、可用区、现有函数应用或现有 Web 应用之间的不兼容,可能会出现这些错误。 如果发生其中一个错误,请在新的资源组中创建应用服务计划。

将应用移到另一个应用服务计划

只要源计划和目标计划位于同一资源组和地理区域以及相同 OS 类型,就可以将应用移动到另一个应用服务计划。 不支持类型中的任何更改(例如Windows到 Linux 或与原始类型不同的类型)。

在更改应用服务计划之前,必须禁用在应用上配置的任何虚拟网络集成。

注意

Azure将每个新的应用服务计划部署到部署单元中,内部称为 webspace。 每个区域都可以有许多 Web 空间,但应用只能在相同 Web 空间中创建的计划之间移动。 应用服务环境 可以有多个 Web 空间,但您的应用只能在同一 Web 空间中创建的计划之间移动。

创建计划时无法指定所需的 Web 空间,但可以确保计划与现有计划在同一 Web 空间中创建。 使用同一资源组、区域组合和作系统创建的所有计划都部署到同一 Web 空间中。 例如,如果在资源组 A 和区域 B 中创建计划,则随后在资源组 A 中创建的任何计划以及区域 B 将部署到同一 Web 空间。 请注意,计划在创建后无法转移其所属的 Web 空间,因此您无法通过将计划移动到另一个资源组,来使其所在的 Web 空间与另一个计划相同。

  1. Azure 门户中,搜索并选择 App 服务,然后选择要移动的应用。

  2. 在左窗格中,在 “应用服务计划”下,选择 “应用服务计划”。

  3. “应用服务计划 ”页上,选择“ 更改计划”。

    应用服务计划页的屏幕截图。

  4. “更改应用服务计划 ”窗格中的 “应用服务计划 ”列表中,选择要将应用移动到的现有计划。 该列表仅显示与当前应用服务计划位于同一资源组和地理区域中的计划。 如果不存在此类计划,则默认情况下,你可以创建一个计划。 还可以通过选择 “新建计划 ”,然后选择“ 新建”手动创建新计划。

  5. 完成后,选择“保存”。

如果创建新计划,可以更改其定价层。 有关详细信息,请参阅本文后面的 “缩放应用服务计划 ”部分。

重要

如果将应用从较高层的计划移动到较低层计划,例如从 D1 移动到 F1,则应用可能会在目标计划中丢失某些功能。 例如,如果应用使用 TLS/SSL 证书,可能会出现以下错误消息:

Cannot update the site with hostname '<app_name>' because its current TLS/SSL configuration 'SNI based SSL enabled' is not allowed in the target compute mode. Allowed TLS/SSL configuration is 'Disabled'.

将应用移到不同的区域

运行应用的区域是应用服务计划所在的区域。 但是,无法更改应用服务计划的区域。 如果想要在不同的区域中运行应用,替代方法是使用应用克隆。 在任何区域的新的或现有的应用服务计划中,克隆可以复制您的应用程序。

可以在左窗格的“开发工具”部分找到“克隆应用”。

重要

克隆具有一些限制。 可以在 Azure 应用服务 应用克隆中了解它们。

缩放应用服务计划

有关纵向扩展应用服务计划的定价层的信息,请参阅 在 Azure

有关缩放应用实例数的信息,请参阅 手动或自动缩放实例计数

异步缩放应用服务计划(预览版)

创建或手动横向扩展应用服务计划时,可能会遇到以下情况:建议使用低于最初请求的实例计数重试的情况,例如,你可能要求横向扩展到 15 个实例,但被告知只有 6 个实例可用,因此必须缩放到 6,然后等待并重试以达到目标 15 个实例。

使用应用服务计划异步预览,可以请求目标实例数,平台扩展到目标编号,而无需修改原始请求并重试。 平台扩展到可用实例数,然后触发基础平台,使更多实例可用。 可以在横向扩展操作或创建计划时使用此功能。 所有基本、标准和高级定价计划都支持此功能。

注意

对于在应用服务环境中创建的应用服务计划,此行为不可配置。 默认情况下,应用服务环境会异步创建和缩放应用服务计划。

纵向扩展或缩减应用服务计划 SKU

使用异步缩放时,可以扩展或缩减到更大或更小的 SKU。 在此类操作期间,无法更改应用服务计划的其他属性。 如果没有足够的应用服务计划实例来完全满足请求,那么纵向扩展或缩减到新 SKU 可能会失败,这是为了防止应用服务计划的工作线程数量少于请求的数量。

如果纵向扩展或缩减操作失败,您可以在当前 SKU 中进行向内扩展或向外扩展,或者使用可接受的最小工作者数量执行该操作,然后以异步方式扩展到所需的目标。

取消异步扩展操作

仅当显式更改 TargetWorkerCount 属性时,才会取消正在进行的异步缩放操作。 对其他应用服务计划属性的更改不会取消操作,包括对 SKU 或应用服务计划实例计数的更改。 除非 TargetWorkerCount 也发生更改,否则无法同步完成的应用服务计划实例计数更改将被忽略。 若要显式取消缩放操作,请将 TargetWorkerCount 设置为 0。

az appservice plan update -g <resourceGroupName> -n <App Service Plan Name> --async-scaling-enabled true --number-of-workers <number of workers to scale out to>

删除应用服务计划

为避免意外费用,当你删除应用服务计划中的最后一个应用时,默认情况下,应用服务也会删除该计划。 如果选择保留计划,则应将计划更改为 免费 层,以免产生费用。

重要

未与任何应用关联的应用服务计划仍会产生费用,因为它们继续保留配置的 VM 实例。

下一步