什么是 Azure 应用服务计划?

Azure 应用服务计划定义一组要运行的 Web 应用的计算资源。 应用服务始终在应用服务计划中运行。 Azure Functions 还可以选择在应用服务计划中运行。

备注

从 2024 年 6 月 1 日开始,新创建的应用服务应用可以生成使用命名约定 <app-name>-<random-hash>.<region>.chinacloudsites.cn 的唯一默认主机名。 例如: myapp-ds27dh7271aah175.westus-01.chinacloudsites.cn。 现有应用名称保持不变。

myapp-ds27dh7271aah175.chinanorth3-01.chinacloudsites.cn

在特定区域中创建应用服务计划时,在该区域中为该计划创建一组计算资源。 在计划中定义的那些计算资源上运行放入应用服务计划的任何应用。

每个应用服务计划定义:

  • 操作系统(Windows、Linux)
  • 区域(中国北部 2、中国东部 2 等)
  • 虚拟机(VM)实例数
  • VM 实例的大小(小、中、大)
  • 定价层(免费、共享、基本、标准、高级、PremiumV2、PremiumV3、IsolatedV2)

定价层级

应用服务计划的定价层确定了所提供的应用服务功能和计划费用。 应用服务计划可用的定价层取决于在创建应用服务计划时选择的作系统。 下表显示了定价层的类别:

类别 等级 DESCRIPTION
共享计算 免费、共享 “免费”和“共享”,这两个基本层在其他应用服务应用(包括其他客户的应用)所在的同一个 Azure VM 上运行应用。 这些层将 CPU 配额分配给在共享资源上运行的每个应用。 资源无法横向扩展。这些层仅用于开发和测试目的。
专用计算 Basic、Standard、Premium、PremiumV2、PremiumV3 基本层、标准层、高级层、PremiumV2 层在专用 Azure VM 上运行应用。 只有同一应用服务计划中的应用可以共享相同的计算资源。 层越高,可用于横向扩展的 VM 实例就越多。
孤立 IsolatedV2 IsolatedV2 层在专用 Azure 虚拟网络上运行专用 Azure VM。 此层在计算隔离的基础上为应用提供了网络隔离。 它提供最大的横向扩展功能。

每个层还提供应用服务功能的特定子集。 这些功能包括自定义域和 TLS/SSL 证书、自动缩放、部署槽位、备份、Azure 流量管理器集成等。 层越高,可用的功能越多。 若要了解每个定价层支持哪些功能,请参阅 应用服务计划详细信息

可以在 应用服务限制中找到更多计划比较。

运行和缩放应用的注意事项

在免费层和共享层中,应用在共享 VM 实例上接收 CPU 分钟数,并且无法横向扩展。

在其他层中,应用程序运行和扩展的方式如下:

  • 如果在应用服务中创建应用,则它是应用服务计划的一部分。 该应用运行时,将在应用服务计划中配置的所有 VM 实例上运行。
  • 如果同一应用服务计划中包含多个应用,这些应用将共享相同的 VM 实例。
  • 如果对某个应用使用多个部署槽位,所有部署槽位也在相同的 VM 实例上运行。
  • 如果启用诊断日志、执行备份或运行 WebJobs,它们也会在这些 VM 实例上使用 CPU 周期和内存。

于是,应用服务计划便成了应用服务应用的缩放单元。 如果将计划配置为运行五个 VM 实例,该计划中的所有应用将在所有五个实例上运行。 如果计划配置为自动缩放,则计划中的所有应用会根据自动缩放设置一起横向扩展。

有关横向扩展应用的详细信息,请参阅 Azure 中的自动缩放入门

应用服务计划的成本

本部分介绍应用服务应用的计费方式。 有关特定于区域的详细定价信息,请参阅 应用服务定价

除免费层外,应用服务计划对它使用的计算资源收费:

  • 共享层:每个应用都会收到 CPU 分钟配额,因此 每个应用 都按 CPU 配额收费。
  • 专用计算层(基本、标准、高级、PremiumV2、PremiumV3):应用服务计划定义将应用缩放到的 VM 实例数,因此应用服务计划 中的每个 VM 实例 都收费。 无论在 VM 上运行的应用数如何,这些 VM 实例都按相同的方式收费。 若要避免意外费用,请参阅 “删除应用服务计划”。
  • IsolatedV2 层级:应用服务环境定义了运行应用的隔离辅助角色数目,每个辅助角色都会产生费用

使用可供使用的应用服务功能不收费。 这些功能包括配置自定义域、TLS/SSL 证书、部署槽位和备份。 例外情况包括:

  • 应用服务域:在 Azure 中购买一个域,并在每年续订时付费。
  • 应用服务证书:在 Azure 中购买一个证书,并在每年续订时付费。
  • 基于 IP 的 TLS 连接:每个基于 IP 的 TLS 连接每小时收费,但某些标准层或更高层免费提供一个基于 IP 的 TLS 连接。 基于服务器名称指示(SNI)的 TLS 连接是免费的。

如果将应用服务与其他 Azure 服务集成,可能需要考虑该服务的费用。 例如,如果使用 Azure 流量管理器在地理上缩放应用,流量管理器也会根据使用情况收费。 若要估算 Azure 中的跨服务成本,请参阅 定价计算器

功能或特性的缩放

可以随时纵向扩展或缩减应用服务计划。 只需更改计划的定价层即可。 首先可以选择较低的定价层,然后在需要更多应用服务功能时纵向扩展。

例如,可以在免费层应用服务计划中开始测试 Web 应用,无需支付任何费用。 将 自定义 DNS 名称 添加到 Web 应用时,只需将计划纵向扩展到共享层即可。 稍后,如果要 创建 TLS 绑定,请将计划纵向扩展到基本层。 想要具有过渡环境时,可纵向扩展到标准层。 需要更多的核心、内存或存储时,可提高到同一层中的更大 VM 大小。

同一进程反向工作。 当不再需要更高层的功能或功能时,可以缩减到较低层并节省资金。

有关纵向扩展应用服务计划的详细信息,请参阅 在 Azure 应用服务中纵向扩展应用

如果应用与其他应用位于同一应用服务计划中,则可能需要通过隔离计算资源来提高应用的性能。 可以通过 将应用移动到单独的应用服务计划来隔离资源。

决定是为应用使用新的方案还是现有的方案

对于您的应用服务计划分配的计算资源,您需按前文中所述的成本支付费用。 可以通过将多个应用放入一个应用服务计划来节省资金。 只要现有的计划能够提供足够的资源来处理负载,就可以持续将应用添加到该计划。

但请记住,同一应用服务计划中的所有应用共享相同的计算资源。 若要确定新应用是否具有必要的资源,需要了解现有应用服务计划的容量以及新应用的预期负载。 重载应用服务计划可能会导致新应用和现有应用停机。 可以在 应用服务限制下找到计划之间的更多比较。

当以下情况时,将您的应用程序隔离到新的应用服务计划中:

  • 应用占用大量资源。
  • 想要独立于现有计划中的其他应用缩放该应用。
  • 应用需要其他地理区域中的资源。 这样,便可以为应用分配一组新的资源,并更好地控制应用。

备注

活跃槽位也被归类为活跃应用,因为它在同一应用服务计划中竞争资源。