こんにちは。デジタルテクノロジーのS.Wです。
前回の投稿から時間が空いてしまいましたが、Azure Automationを使用した具体的な運用自動化を行っていきたいと思います。

Runbookの準備

スケジュール実行したいRunbookを準備します。
今回は毎週末の定時後に仮想マシンをシャットダウンさせるRunbookを想定します。
PowerShellで仮想マシンを停止するためには Stop-AzureRmVM コマンドレットを使用します。
コマンド引数としてリソースグループおよび仮想マシン名を指定する必要があります。
1つ1つRunbookに埋め込むのも管理性が低くていかがなものかと思いますので、今回は動的に取得できるスクリプトを用意しました。

※このまま実行すると全仮想マシンが停止するため、テスト走行時にはリソースグループの指定など一部変更をかけています
また、本スクリプトを転用される場合は転用される方の責任において十分な確認と検証を実施してください。
本スクリプトの転用により発生したいかなる損害についても責任を負いかねます。予めご了承ください。

 

スケジュール登録

作成したRunbookをスケジュール登録していきます。
まず、スケジュール登録したいRunbookを開き、「スケジュール」を選択します。

続いて、「スケジュールの追加」を選択します。

「スケジュールをRunbookにリンクします」を選択します。

「新しいスケジュールを作成します」を選択します。

Runbookを実行したいスケジュールを入力し、「作成」を選択します。
このとき、「開始」に指定する日時は、設定を行っている時刻から5分以上経過した日時でないと設定できません。
本来は金曜の定時後に実行することを想定したジョブですが、すぐに動作確認を行いたかったため、10分後の14:50:00を指定しています。

続いて、「パラメータと実行設定」を選択します。

Runbook実行に必要な設定と実行場所を指定して、「OK」を選択します。
今回のRunbookはパラメータ入力は不要であり、Azure RMVMの停止を行うジョブのため実行場所もAzureとなっているためデフォルト設定のままとなっています。

すべての設定が完了したら、「OK」を選択します。

 

実行結果の確認

スケジュール実行の結果を確認します。
対象のRunbookを開き、「ジョブ」を選択します。

スケジュール登録した時刻のログを選択します。

「出力」を選択します。

出力結果を確認し、問題がないことを確認します。

 

以上で、作成したRunbookのスケジュール実行と結果の確認が完了しました。
これまではすべてのPowerShellをお手製で作成してきましたが、すべての自動化対象をお手製で作成するのは管理者の負担が大きすぎます。
次回は管理者の負担を軽減するためのRunbook ギャラリーの利用について記載したいと思います。