Azure 節約術! VM 自動電源管理スケジュールを展開する!

Microsoft Azure

今回は Azure の節約につながる電源管理を自動化する方法を紹介します。Azure は従量課金制のサービスが多く、中でも多くの場合よく使うのは仮想マシンサービスです。仮想マシンは電源が入っている間コンピュートリソースに対する課金が発生します。電源をオフにしていれば、仮想マシンを利用していないので課金されません。これに加えてストレージやネットワークの料金が発生します。

スポンサーリンク

自動電源管理の仕組み

Azure Automation による電源管理の仕組みは次の通りです。Azure Automation で仮想マシンの電源管理スクリプトをスケジューリングし、仮想マシンの電源操作を行います。実行ログは連携されている Log Analytics に保存されます。電源操作する対象の仮想マシンはリソースグループ単位で指定します。

Azure Automation でのピーク時間外 VM 起動/停止ソリューション

スケーリングの種類

標準で次の3種類のスケーリングが提供されています。今回は1番と2番を紹介します。

  1. 時間指定でのスケーリング
  2. 曜日と時間指定でのスケーリング
  3. リソース使用率に基づくスケーリング

自動電源管理の展開

時間指定でのスケーリングをセットアップ

電源管理のためには Azure Automation の作成が必要です。以下記事などをもとに作成を進めてください。

https://www.ether-zone.com/deploy-azure-update-management/

作成した Automation アカウントのメニューから、[VM の開始/停止] をクリックします。

[詳細を表示して、ソリューションを有効にします] をクリックして展開を始めます。

[ワークスペース] でログを保存する先の Log Analytics ワークスペースを選択します。

[パラメーター] ブレードでは、時間指定でのスケジューリングの設定を行います。設定したら [作成] をします。

  • [Target ResourceGroup Names]:電源管理対象とするリソースグループ名を指定
  • [VM Exclude List]:電源管理対象外とする仮想マシンリソース名を指定
  • [Daily Start Time]:仮想マシン起動時間を指定
  • [Daily Stop Time]:仮想マシン停止時間を指定
  • [Receive Email Notifications]:スクリプト実行時にメール通知するか選択
    • ([Yes] の場合)[Email Address]:通知先のメールアドレスを指定

これで毎日特定の時間に電源を制御することができます。一番簡単な方法ですが、土日も含んで毎日実行されます。

曜日と時間指定でのスケーリング

次はもう少し柔軟に、曜日を指定して実行する方法を紹介します。

Automation アカウントのメニューから [スケジュール] を選択します。まずは[Scheduled-~] と名前のつく2つのスケジュールを [オフ] にし、[Sequenced-〜] と名前のつく2つのスケジュールを [オン] にします。

実行する曜日と時間を指定して、[有効] を [はい] にします。

さらに、電源管理の対象となる仮想マシンリソースにタグを追加します。sequencestart と sequencestop のタグを追加し、それぞれに正の値を指定します。この値の順番にしたがって、電源 ON/OFF 操作が各リソースへ実行されます。

あとは指定の時間になると、スクリプトが実行されます。Automation アカウントの [ジョブ] 画面から実行結果ログが確認できます。

コメント

タイトルとURLをコピーしました