世界のやまさ

SEKAI NO YAMASA

Azure Managed Disk(管理ディスク) を節約して使う

blog.nnasaki.com

Azure Stack を Azure 上で構築したのは良かったですが、常時立ち上げているとお金がかかります。https://azure.microsoft.com/ja-jp/pricing/calculator/で見積もるとこんな感じです。

f:id:nnasaki:20170725155406p:plain

インスタンスサイズとかちょっと違うので正確ではありませんが、だいたい 18万/月ですね。

Manged Disk(管理ディスク) は使っても使わなくても同じ値段

VMについては300円/時間ぐらいなので、検証しているときだけ付けておけばなんとかなるのですが、ストレージが問題ですね。SSDを使ったPremium管理ディスクの場合、仮想マシンを停止していても課金がされます。なので約3.7万/月が固定費とかかってしまうことになるので、これは避けたい。

f:id:nnasaki:20170725155809p:plain

解決策:VMを止めている間はスタンダードに変更する

Manged Disk(管理ディスク) はVMを停止していれば、ポータルから簡単にスタンダードとプレミアムを変更できます。

f:id:nnasaki:20170725160218p:plain

ですが、今回ディスクが5本あるのでいちいちポータルでやるのは面倒くさい。そうするとコマンドラインでやろうかなと思います。思い出したらAzure Container Serviceを使ったときも同じようなことを書いていました。

blog.nnasaki.com

今はわざわざインストールしなくてもポータルから Azure Cloud Shell を使用すれば、すぐに実行出来ます。コマンドはこんな感じです。 -g azurestack は各自のリソースグループ名に変更してください。

az disk update --sku Standard_LRS --ids $(az disk list -g azurestack --query "[].id" -o tsv) --no-wait

f:id:nnasaki:20170725160920p:plain

節約効果は

5548円/月になりました。およそ1/7ぐらいでこれくらいならなんとかという感じです。

f:id:nnasaki:20170725161231p:plain

起動するときは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でやるもよし。ご利用は計画的に。