AzureAutomationについて
AzureAutomationとは、Azure上でPowerShellを実行する自動化ツールです。
ポータル上からAzurePowerShellを実行し、各種リソースを管理の自動化を簡単に実装できます。
どれくらい簡単かというと、行数の多いPowerShellを書くのが苦手な方もグラフィックPowerShellという仕組みを利用することでマウス操作でスクリプト(※AutomationではRunbookと呼びます)を組むことが出来る程度には簡単です。
Azureの料金について
AWSやAzureは仮想マシンを起動したままだと料金が発生します。
当然といえば当然ですが、テストで作成したり削除し忘れたりということが時間とともに増えていきます。
人員の出入りも多くなると「よくわからないけど起動している」というリソースだらけになり利用料金の浪費に繋がります。
そうしたことへの対策の一つとして、開発環境の仮想マシンなどを必要なとき以外利用停止状態にするなどの処置にAzureAutomationが利用できるというわけです。
以下の内容では平日のみ仮想マシンを起動・停止するAutomationのRunbookを設定する方法を解説します。
平日の夜間に仮想マシンを停止する手順
AzureAutomationのリソースを作成する
新ポータル上のプラスボタンからAutomationのアイコンを探します
リソース名などを決め作成します。
「Azure実行アカウントの作成」は「はい」で大丈夫です。
Azure実行アカウントは、いわばAutomationを実行させるだけのアカウントだと思ってください。

Automationの中身
上の項目で作成したAutomationリソースをクリックします。
色々表示がありますが、まずは「Runbook」「資産」の2つだけ把握してください。

「資産」
- スケジュール
- 「モジュール」 AzurePowerShellの各種モジュールが標準で入っています
- 「証明書」「接続」 先程の実行アカウントに「はい」をつけた場合、初期設定でそれぞれ2つ作成されます
- 「資格情報」 PowerShellでパスワード情報などを入力する場合に事前に「資格情報」として格納し、後ほど引数にします。
- 「変数」 以上のものがもっと汎用的になったものが「変数」です
「Runbook」を作成する
先程の画面でRunbookをクリックし、「ギャラリーを参照」をクリック。今回は一般に公開されているRunbook(レシピ)を導入します。
「StopAzureV2VMs」「StartAzureV2VMs」の2つを導入します。
この記事では、仮想マシン停止の「StopAzureV2VMs」についてのみ触れます。
クリックして、インポートします。

Runbookの編集
「編集」をクリックし、グラフィックRunbookを展開します。
青い四角が各種PowerShellコマンドレットで、
矢印はパイプラインやシーケンスでコマンドレット同士を繋ぎます。左のサイドバーよりPowerShellコマンドレットや設定した「変数」などをキャンバス上に呼び出すことができます。
今回はありもののRunbookを取ってきただけなので、「入力と出力」をクリックしましょう。

このRunbookでは自分の所有する仮想マシンのリソース名と仮想マシン名を画像のように入力すれば良いです。
その後、「保存」→「発行」します。
スケジュール化する。
仮想マシン停止のRunbookの設定を終えたので、
平日の日中のみ起動するスケジュールを付与します。
「スケジュール」をクリック

実行開始する日時を設定する。
一回のみのスケジュールか、定期的なスケジュールかを選択できます。
「定期的」の場合、「時間」「日」「週」「月」で選択可能です。

今回は平日のみのスケジュールに設定するので、「週」を選択する。
繰り返しオプションで、平日のみにチェックいれる。
停止したいVMのパラメータを設定する。
先程設定した値でいいなら、そのままで良い。
後は設定したスケジュールを待ちましょう!!
起動についてもほぼほぼ同じ要領です。



