Azure 应用服务计划定义一组要运行的 Web 应用的计算资源。 应用服务始终在应用服务计划中运行。 Azure Functions 在某些情况下也使用 App Service 计划。
在特定区域中创建应用服务计划时,在该区域中为该计划创建一组计算资源。 你放入App Service计划的任何应用都会运行在这些计算资源上。
每个应用服务计划定义:
- 操作系统(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 资源 专用于应用服务计划,不会与其他客户共享。
但是, 放置在同一应用服务计划中的任何应用都彼此共享这些专用资源。
这意味着计算是专用于计划级别,而不是每个应用程序级别。
若要隔离每个应用的计算,请创建单独的应用服务计划。
- IsolatedV2 层级:应用服务环境定义了运行应用的隔离辅助角色数目,每个辅助角色都会产生费用。
使用可供使用的应用服务功能不收费。 这些功能包括配置自定义域、TLS/SSL 证书、部署槽位和备份。 例外情况包括:
- 应用服务域:在 Azure 中购买一个域,并在每年续订时付费。
- 应用服务证书:在 Azure 中购买一个证书,并在每年续订时付费。
- 基于 IP 的 TLS 连接:每个基于 IP 的 TLS 连接每小时收费,但某些标准层或更高层免费提供一个基于 IP 的 TLS 连接。 服务器名称指示(SNI)TLS连接是免费的。
如果将应用服务与其他 Azure 服务集成,可能需要考虑该服务的费用。 例如,如果你使用 Azure 流量管理器 来地理扩展应用,Traffic Manager 会收取费用。
Tip
Azure 服务是要花钱的。 Azure 成本管理有助于你设置预算并配置警报,使支出保持在控制范围之内。 可以使用成本管理来分析、管理和优化 Azure 成本。 要了解详细信息,请参阅分析成本快速入门。
面向能力或功能的扩展
可以随时纵向扩展或缩减应用服务计划。 只需更改计划的定价层即可。 你可以先选择较低的定价层级,之后需要更多功能时再逐步扩大。
例如,可以在免费层应用服务计划中开始测试 Web 应用,无需支付任何费用。 当你把 自定义DNS名称 添加到网页应用时,只需将套餐扩展到更高层级即可。
同一进程反向工作。 当不再需要更高层的功能或功能时,可以缩减到较低层并节省资金。
有关纵向扩展应用服务计划的详细信息,请参阅 在 Azure 应用服务中纵向扩展应用。
如果应用与其他应用位于同一应用服务计划中,则可能需要通过隔离计算资源来提高应用的性能。 你可以通过 将应用迁移到新的 App Service 计划来隔离资源。
决定是为应用使用新的方案还是现有的方案
对于您的应用服务计划分配的计算资源,您需按前文中所述的成本支付费用。 可以通过将多个应用放入一个应用服务计划来节省资金。 不过,你应确保该计划有足够的资源供你的应用使用。
同一应用服务计划中的应用共享相同的计算资源。 要判断新应用是否具备必要的资源,你需要了解该计划的容量和应用的资源需求。
当以下情况时,将您的应用程序隔离到新的应用服务计划中:
应用占用大量资源。 一般指导,请使用下表:
App Service 计划 最大应用数 B1、S1、P1v2、I1v1 8 B2、S2、P2v2、I2v1 16 B3、S3、P3v2、I3v1 32 P0v3 8 P1v3、I1v2 16 P2v3、I2v2 32 P3v3、I3v2 64
- 您希望使该应用能够独立于现有计划中的其他应用进行扩展。
- 应用需要其他地理区域中的资源。 这样,便可以为应用分配一组新的资源,并更好地控制应用。
注意
活跃槽位也被归类为活跃应用,因为它在同一应用服务计划中竞争资源。