Znowu o tym jak oszczędzać pieniądze na Azure. Programiści używali sobie aplikacji do testów na wyższym planie, a po skończonych testach ręcznie przełączali App Service Plan na mniejszy rozmiar „Instance Size = Small” i darmową warstwę „Pricing Tier = Free”. No i spoko, ale czasem zapomnieli o tym. Zjadało to niepotrzebnie pieniądze tak długo, aż sobie o tym nie przypomnieli.

Tak więc powstał skrypt, który był odpalany codziennie, automatycznie po skończonej pracy. Sprawdzał czy apki są na właściwym planie, jeśli nie były to przełączał. Istotną sprawą jest informacja, że App Service Plan na niższy można zmienić tylko, jeśli wyłączy się opcję „alwaysOn”, która uruchamia się automatycznie przy wyższym planie.
$ResourceGroupName = "Nazwa_Resource_groupy"
$AppServicePlan = "Nazwa_AppServicePlanu"
$Tier = "Free"
$Size = "Small"
$PropertiesObject = @{alwaysOn = $false;}
$asp=Get-AzureRmAppServicePlan -ResourceGroupName $ResourceGroupName -Name $AppServicePlan
$apps=Get-AzureRmWebApp -AppServicePlan $asp
Foreach($app in $apps)
{
$websiteName = $app.Name
Set-AzureRmResource -PropertyObject $PropertiesObject -ResourceGroupName $app.ResourceGroup -ResourceType Microsoft.Web/sites/config -ResourceName $websiteName/web -Force
}
Set-AzureRmAppServicePlan -ResourceGroupName $ResourceGroupName -Name $AppServicePlan -Tier "$Tier" -WorkerSize "$Size"
Skrypt można uruchamiać w dowolny sposób, ja preferuję przez’ Automation Account’
Jeśli nie wiesz jak stworzyć 'Automation Account’ zajrzyj do tego artykułu, tam jest wszystko wyjaśnione krok po kroku.
Jeśli ktoś chciałby dowiedzieć się więcej na temat planów usługi App Service zapraszam jak zwykle do dokumentacji technicznej microsoftu: https://azure.microsoft.com/pl-pl/pricing/details/app-service/plans/
Więcej artykułów dotyczących Microsoft Azure na moim blogu znajdziesz w kategorii Azure
Jeśli chciałbyś poznać więcej sposobów na oszczędzanie pieniędzy na Azure, to zapraszam do innych moich wpisów np.: