開発やテスト、評価目的でAzureのIaaS環境を利用する場合、仮想マシンの停止を忘れるとムダに課金される状態が続くことになります。Azure仮想マシンに追加された「自動シャットダウン」を利用すると、思わぬ出費を避けることができます。
Microsoft AzureのIaaS(Infrastructure as a Service)環境でAzure仮想マシン(Azure VM)を実行すると、コンピューティング時間、ストレージへのトランザクション、出力方向(Azureから外部へ)のデータ転送に対する分単位の課金と、ストレージに保存されたデータ量に対する課金が発生します。
製品やサービスの一時的な評価環境としてIaaS環境を利用する場合、Azure仮想マシンを適切な方法で停止しなければ、分単位の課金が続くことになります。
“適切な停止手順”とは、Azure仮想マシンのゲストOSからのシャットダウンではなく、AzureポータルやAzure PowerShellを使用した停止で、「停止済み(割り当て解除)」状態にすることです。「停止済み(割り当て解除)」状態にすると、ストレージに保存されたデータ量に対する課金だけで済み、分単位の課金の対象外となります。
仮想マシンを停止し忘れた、あるいは停止したつもりでいたが実際は停止されていなかった(「停止しますか?」の問いに「はい」をクリックし忘れた)場合、停止していないことに気付くまでムダに課金が続きます。
従量課金制のサブスクリプションの場合は、それが数日、数週間と続くと思わぬ大きな出費になってしまいます。一定のクレジット枠付きのサブスクリプションの場合は、その月のクレジット枠を使い果たしてしまうかもしれません。
先日、このような無駄な課金のトラブルを防止する「自動シャットダウン」機能が、「Azureリソースマネージャー(Azure Resource Manager:ARM)」デプロイモデルで作成されたAzure仮想マシンで利用可能になりました。
Azure仮想マシンの「設定」に追加された「自動停止」を有効化すると、指定した時刻に自動的にシャットダウンするようにスケジュールを設定できます(画面1)。また、「Azure Automation Webhook」サービスに対してスケジュールされたシャットダウンの開始を事前に通知することも可能です。
これまでも、Azure AutomationサービスのRunbookを作成して、仮想マシンの起動や停止を自動化することはできました。以下のドキュメントでは、クラシックデプロイモデルの仮想マシンの起動と停止を自動化する方法が説明されています。ARMデプロイモデルの仮想マシンでは、この方法を使用しなくても、標準機能だけで自動停止が可能になったということです。
自動シャットダウン機能が期待通りに動作しているかどうかは、Azure仮想マシンの「アクティビティログ」で確認できます。スケジュールした時刻に「Deallocate」操作が記録されます(画面2)。このアクティビティログで、「イベント開始者」が「VS DevTest Lab」になっていることに注目してください。実は、Azure仮想マシンで利用可能になった自動シャットダウン機能は「Azure DevTest Labs」という別のサービスにもともとあった機能の一部であり、自動シャットダウン機能が単機能としてAzure仮想マシンに実装されたのです。
Copyright © ITmedia, Inc. All Rights Reserved.