我认为Azure的优势之一是可以根据需要随时打开或关闭服务。
然而,我不知道如何暂停我的应用服务计划。这可能吗?
我想使用S1层次结构来了解它提供的功能。但是当我不使用它时,我希望能够暂停成本累积。
从应用服务定价帮助中可以看到,即使应用处于停止状态,仍将收取费用。
然而,该链接还明确指出我只支付我使用的部分。那么这是怎么工作的呢?
Set-AzureRmAppServicePlan -ResourceGroupName $rg -Name $AppServicePlan -Tier Free
我能够通过仪表板实现这一点,方法是选择应用服务计划,点击升级(应用服务计划),然后在此处,如果您单击了Dev / Test,则可以选择免费版。
如其他人所提到的,你需要脚本化这个过程。幸运的是,我创建了一个存储库,可以一键部署到您的 Azure 资源。
https://github.com/jraps20/jrap-AzureVerticalScaling
步骤旨在尽可能简单和通用:
脚本依赖于运行簿和变量来维护每个应用服务计划和这些计划中的应用服务的先前状态。某些应用服务由于使用了特定的设置(始终处于开启状态,使用 32 位工作进程,客户端证书已启用等)无法进行扩展。在这些情况下,在缩小规模之前,先将先前的值存储为变量,然后在服务扩展时重新应用原始值。
为了更清晰明了,我写了一篇博客文章,详细介绍了这方面的内容。虽然文章是关于 Sitecore 的,但适用于任何应用服务设置-在非生产环境中通过定时垂直扩展大幅降低 Azure PaaS 托管成本。还包括一个简短的视频教程,展示了其用例。
我和其他人已经使用这个存储库 / 方法超过一年了,效果非常好。我主要在不积极工作时使用它来减少成本。然而,它的主要目的是针对非生产环境,在非工作时间节省成本。
Azure 应用服务计划只是一个逻辑概念,它包含一组功能和容量,您可以在多个应用程序之间共享。我认为您无法“暂停”计划,但可以暂停服务。根据每个服务的计费模式,您可能会被收取费用,也可能不会。
暂停 = 删除或降级。 脚本编写是关键。
例如:如果我们在每个环境中正确使用资源组,则 Export-AzureRmResourceGroup 将为我们创建一个模板(资源组中的所有内容都将作为脚本提取出来)。因此,我们可以随时删除并重新创建它。
要暂停虚拟机并停止计费,您需要关闭它并将其取消分配。仅仅关闭虚拟机仍然会保留其运行时的容量。
存储无法关闭 - 可以将其移动到更低成本的层级。