Azure VirtualMachineを決められた時間に、自動的に起動、停止させる手順書です。
Azureから提供されているものだけを使い、無料で設定することができます。
AzureActiveDirectoryにユーザを追加する
自動起動/停止を行うためにAzureAutomationというサービスを使用するのですが、そのためにAzureポータル上からユーザの作成が必要となります。
1.Azureポータルメニューから、[参照]→ActiveDirectoryを選択
選択すると、旧Azureポータルに遷移します。
2. [既定のディレクトリ]画面上部の[ユーザ]メニューを選択し、画面下部のユーザの追加ボタンをクリック
MULTI-FACTOR AUTHENTICATIONはチェックしない。
ここで表示されるユーザ名とパスワードをコピーしておくと、のちのち楽になります。
4.作成したユーザにサブスクリプションを紐付ける
ユーザを作成したら、旧ポータルメニューから[設定]を選択し、上部メニューから[管理者]を選択。
ページ下部の追加ボタンをクリック。
メールアドレスには3で作成した際のユーザ名(XXXXX@XXXX.onmicrosoft.com)を入力し、対象サブスクリプションを選択。
ここまででAutomation利用に必要なユーザ登録は完了です。
ここで一度ログアウトし、一時パスワードを変更しておきます。
Automationアカウントの作成
再び新ポータルに戻り、[参照]メニューからAutomationアカウントを選択
[Automationアカウント]ページ上部の追加ボタンをクリック
任意の値を入力しアカウントを作成。Automationは有料プランもありますが、この時点では無料プランとして作成されます。
Automation資産の登録
1.資格情報の追加
任意の名前(あとで使用するのでコピーしておくと楽)、登録したユーザ名(XXXXX@xxx.onmicrosoft.com)、パスワードを入力。
2.変数の追加
今度は[変数]パネルを開き
サブスクリプションIDを表す任意の名前と、ユーザに紐付けたサブスクリプションID(XXXXX-XXXXX-・・)を登録。
Runbookの追加
続いて起動/停止の実行スクリプト(Runbook)の設定を行います。
VMの起動/停止スクリプトはいくつか提供されているものがあります。
[ギャラリーを参照]から[Start Azure ARM VMs]というRunbookをインポートします。
名前の通りVMを起動させるものですが、後述の設定方法は停止スクリプトの[Stop Azure ARM VMs]でも全く同じです。
グラフィックRunbookというのは、powershellを実行経路などをわかりやすく画面上でグラフィカルに編集できるものです。powershellよくわからんという場合は、こちらを選択すればよさげ。
どちらにしろ今回はpowershellをいじくったりはしません。
Runbookへの変数設定
インポートしたRunbookに対して、先ほどAutomationの[資産]で登録した内容を設定していきます。
グラフィックRunbookの編集パネルから[入力と出力]をクリック
[Start Azure ARM VMs]で設定が必要な項目は4つあります。
リソースグループ名、サブスクリプションID、資格情報名、起動させるVMの名称です。
リソースグループ名と起動VM名は対象のものを入力し、
サブスクリプション名と資格情報名には先ほど[資産]で登録したものをそれぞれ設定してください。
入力する際は[規定値]を[カスタム]にし、[カスタムの規定値]欄に設定してください。
入力したらRubbookを一度保存し、[テストウィザード]で実行結果を確認してください。
テスト後、Runbookの編集パネルから[発行]ボタンをクリックしてください。
これでRunbookから自動的にVMを起動させることができました。
最後にこのRunbookの実行時間を設定し、スケジュールによる自動起動ができるようにします。
Runbookにスケジュールを設定する
スケジュール設定をおこなうRunbookを選択し、[スケジュール]ボタンをクリック。
[スケジュール]→[新しいスケジュールを作成します]を選択し、任意の時間、繰り返しタイミングを設定します。
これで指定したRunbookを決められた時間に動作させることができるようになりました。
今回は起動Runbookでの設定でしたが、停止も全く同じなので試してみてください。
停止の場合は「停止(割り当て済み)」になるので、停止忘れによる無駄な課金が発生することもなくなります。