Azure Stack を Azure 上で構築したのは良かったですが、常時立ち上げているとお金がかかります。https://azure.microsoft.com/ja-jp/pricing/calculator/で見積もるとこんな感じです。
インスタンスサイズとかちょっと違うので正確ではありませんが、だいたい 18万/月ですね。
Manged Disk(管理ディスク) は使っても使わなくても同じ値段
VMについては300円/時間ぐらいなので、検証しているときだけ付けておけばなんとかなるのですが、ストレージが問題ですね。SSDを使ったPremium管理ディスクの場合、仮想マシンを停止していても課金がされます。なので約3.7万/月が固定費とかかってしまうことになるので、これは避けたい。
解決策:VMを止めている間はスタンダードに変更する
Manged Disk(管理ディスク) はVMを停止していれば、ポータルから簡単にスタンダードとプレミアムを変更できます。
ですが、今回ディスクが5本あるのでいちいちポータルでやるのは面倒くさい。そうするとコマンドラインでやろうかなと思います。思い出したらAzure Container Serviceを使ったときも同じようなことを書いていました。
今はわざわざインストールしなくてもポータルから Azure Cloud Shell を使用すれば、すぐに実行出来ます。コマンドはこんな感じです。 -g azurestack
は各自のリソースグループ名に変更してください。
az disk update --sku Standard_LRS --ids $(az disk list -g azurestack --query "[].id" -o tsv) --no-wait
節約効果は
5548円/月になりました。およそ1/7ぐらいでこれくらいならなんとかという感じです。
起動するときはPremiumに戻す
このままでも起動は出来るんですが、パフォーマンスが著しく落ちるので、SSDに戻します。VMを停止した状態で行ってください。
az disk update --sku Premium_LRS --ids $(az disk list -g azurestack --query "[].id" -o tsv) --no-wait
まとめ
VMの停止と起動の度にコマンド実行を忘れそうですので、Azure Automation で自動化するもよし、VMの操作もCLIでやるもよし。ご利用は計画的に。