如何暂停Azure应用服务计划?

85

我认为Azure的优势之一是可以根据需要随时打开或关闭服务。

然而,我不知道如何暂停我的应用服务计划。这可能吗?

我想使用S1层次结构来了解它提供的功能。但是当我不使用它时,我希望能够暂停成本累积。

应用服务定价帮助中可以看到,即使应用处于停止状态,仍将收取费用。

然而,该链接还明确指出我只支付我使用的部分。那么这是怎么工作的呢?

6个回答

72
如果您将托管计划放在免费层上,则不会再对其收费。但是,如果您有部署槽和证书等内容,则这些内容将被删除。
打开和关闭服务的能力更多是为了能够扩展服务,因此,如果您需要50台服务器一个小时,您可以轻松实现。
要使解决方案临时化,您可以使用PowerShell或Resource Manager Templates创建部署脚本,然后您可以根据需要部署解决方案,然后在不需要时将其删除。从这个意义上说,您可以随心所欲地打开和关闭服务。
Azure为您提供构建块,以创建您需要的解决方案,由您来确定如何最好地使用这些构建块来创建您所需的解决方案。
编辑以回答扩展问题。
如果您想使用S1定价计划,并且在不使用它时不收费,则实现这一目标的唯一方法是使用自动化。幸运的是,这相当容易实现。
如果您查看this模板,它几乎全部配置了从Github到Azure的网站部署。如果您编辑它以使其适应您的需求,您可以在运行脚本2分钟后在线上拥有一个新的Azure网站。
然后您会有另一个脚本,在您完成后删除它。
以这种方式进行操作,您不会失去任何功能,并且可能会学到很多关于Azure的知识。
应用服务计划
应用服务计划是Web应用程序运行的硬件。在免费和共享层中,您的Web应用程序与其他Web应用程序共享实例。在其他层中,您拥有专用的虚拟机。正是这个虚拟机,您需要为此付费。在这种情况下,无论您是否在应用服务上运行Web应用程序,您仍然会有一个虚拟机在运行,因此您将被收取费用。
要通过PowerShell更改应用服务计划,您可以运行以下命令。
Set-AzureRmAppServicePlan -ResourceGroupName $rg -Name $AppServicePlan -Tier Free

谢谢Michael。我刚刚更新了问题,以显示我想要使用S1(而不是免费版)。 - Kirsten
我可以直接将应用服务移到免费计划中,删除S1计划,然后稍后重新创建它吗? - Kirsten
3
如果您将其转移到免费计划,您将失去任何免费计划不支持的设置,例如域名、SSL证书、扩展等。 - Michael B
谢谢Michael,这澄清了我的思路。 - Kirsten
我认为我可以删除所有应用程序,即使服务已设置,也不会收取费用。查看常见问题解答:“所列费率适用于处于停止状态的应用程序。请删除未使用的应用程序或将层级更新为免费以避免收费。” - Kirsten
显示剩余5条评论

13

我能够通过仪表板实现这一点,方法是选择应用服务计划,点击升级(应用服务计划),然后在此处,如果您单击了Dev / Test,则可以选择免费版。


谢谢。看起来这是我们需要采取的选项,但您能否确认它是否实际适用于您? - Siva Kumar
1
天才,谢谢,如此简单,但在我开发应用程序的同时每月为我节省了约70欧元。 - Starjumper Tech SL

4

如其他人所提到的,你需要脚本化这个过程。幸运的是,我创建了一个存储库,可以一键部署到您的 Azure 资源。

https://github.com/jraps20/jrap-AzureVerticalScaling

步骤旨在尽可能简单和通用:

  1. 从存储库自述文件中执行一键部署
  2. 选择订阅、资源组等
  3. 将资源部署到 Azure
  4. 设置计划按需进行扩展和缩放

脚本依赖于运行簿和变量来维护每个应用服务计划和这些计划中的应用服务的先前状态。某些应用服务由于使用了特定的设置(始终处于开启状态,使用 32 位工作进程,客户端证书已启用等)无法进行扩展。在这些情况下,在缩小规模之前,先将先前的值存储为变量,然后在服务扩展时重新应用原始值。

为了更清晰明了,我写了一篇博客文章,详细介绍了这方面的内容。虽然文章是关于 Sitecore 的,但适用于任何应用服务设置-在非生产环境中通过定时垂直扩展大幅降低 Azure PaaS 托管成本。还包括一个简短的视频教程,展示了其用例。

我和其他人已经使用这个存储库 / 方法超过一年了,效果非常好。我主要在不积极工作时使用它来减少成本。然而,它的主要目的是针对非生产环境,在非工作时间节省成本。


0

Azure 应用服务计划只是一个逻辑概念,它包含一组功能和容量,您可以在多个应用程序之间共享。我认为您无法“暂停”计划,但可以暂停服务。根据每个服务的计费模式,您可能会被收取费用,也可能不会。


3
您只能更改服务计划的定价层或删除该计划,对于其下运行的应用程序做任何更改都不会影响此操作。 - Michael B

0

暂停 = 删除或降级。 脚本编写是关键。

  1. 设计图表
  2. 使用脚本创建(还要考虑共享资源)
  3. 使用脚本删除
  4. 使用脚本重新创建。

例如:如果我们在每个环境中正确使用资源组,则 Export-AzureRmResourceGroup 将为我们创建一个模板(资源组中的所有内容都将作为脚本提取出来)。因此,我们可以随时删除并重新创建它。


图表/脚本与此无关 - 这只是一个关于Azure计费的问题。 - booler
已删除该部分。 - Blue Clouds

-1

要暂停虚拟机并停止计费,您需要关闭它并将其取消分配。仅仅关闭虚拟机仍然会保留其运行时的容量。

存储无法关闭 - 可以将其移动到更低成本的层级。


2
这个问题涉及应用服务,而不是虚拟机。 - BenV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接