ある日の出来事
私の部署ではAzureのVMを日常的に開発やテストでよく使っているのですが、節約のために自動シャットダウンを設定していました。
そんなある日、ユーザー様へのデモ環境として業務時間中は仮想マシンをずっと起動しておきたいという問い合わせが来ました。
以前からAzureには自動シャットダウンの機能が備わっていたのですが、自動起動の機能は標準ではサポートされておらず、Azure Automationや古い方法ですとタスクマネージャーを使って、VMの自動起動を実現する必要がありました。
ただ、ふと今回改めて調べてみるとMicrosoftの記事に自動起動のことが書かれておりました。
試しに利用してみるとこれがとても便利で簡単だったので、簡単にですが記事にまとめてみようと思った次第です。
仮想マシンの自動起動の実装
今回の目玉である仮想マシンの自動起動の方法を記載します。
というより、自動停止も自動割り当て解除(Deallocate)も一緒の流れなので、自動起動さえできれば他も同じ要領で出来ます。
作成の流れは以下の通りです。
1. 自動化タスクを追加する
- AzurePortalで自動起動したい仮想マシンのページに遷移する
- 左ペインから、オートメージョン>「タスク(プレビュー)」をクリックする
- 「タスクの追加」をクリックする

2. テンプレートを選択する
- 「Start Virtual Machine」を選択する
- 「次:認証>」をクリックする

3. 認証情報の設定
- Azure VM(azurevm)の「作成」をクリックする
- 右ペインに接続画面が表示されるため、「サインイン」をクリックする
- サインイン情報を入力の上、「次へ」をクリックする

同様に「Office 365 Outlook(office365)」に対しても認証情報を設定する。
すべてが終わったら画面下部の「次:構成>」をクリックする
4. 構成の設定(自動起動の頻度や時間はここで設定します)
- 構成内容を入力する
- タスク名:自由に設定する(わかりやすい名前が良いと思います)
- Start Time:最初の起動日時を設定する
- Timezone:Tokyo Standard Time(デフォルトだとUTCとなっており日本時刻とは9時間の差異が発生します)
- Interval:自由設定(Frequencyと合わせてタスクを実行する頻度を設定します)
- Frequency:下記から選択する(Intervalと合わせてタスクを実行する頻度を設定します)
- Month
- Week
- Day
- Hour
- Minute
- Seconds
- Notify Me:通知メールを送るかを設定します
- Enter email:Notify MyをONにした場合、通知先のメールアドレスを入力します
- 「次:確認および作成>」をクリックする
【補足】平日のみ自動起動したい場合
曜日指定の機能はないため、以下のように週1回起動するタスクを5個用意することで実現できます。
- 毎週月曜日の9時に起動
- 毎週火曜日の9時に起動
・・・ - 毎週金曜日の9時に起動
5. 作成
- 確認および作成で画面下部の「作成」をクリックする
6. 確認
所感
Azureの仮想マシンはCPUやメモリといったリソースを解放(割り当ての解除)することで、節約することが出来ます。
そのため、普段誰も使わないような夜間などは停止させると、Azureの利用料を抑えることができます。
皆さんもAzureの仮想マシンを使う際は、このような機能を使って節約してみてください。