How to: Use Azure Automation to schedule automated VM startup
今回ご紹介するのは、Azureサービスの1つ、「Azure Automation」です。
Azure Automationを使うことにより、様々なAzure内のサービスをスケジュールで自動実行できるようになっています。この記事では、Azure Automationを使って、予め作成したAzure仮想マシンのON/OFFを制御してみたいと思います。
設定手順
まず、Azure Automationを設定する前にAzure Active Directory(以下AAD)上で自動実行用のユーザーが必要です。
※Windows LiveユーザーアカウントではAzure Automationとして使用できません。
まず、Active Directoryへアクセスします。
画面下にある「ユーザーの追加」をクリックします。
ユーザー名を指定します。今回は「automation」にしました。
ドメイン名はあらかじめ登録すれば、以下例のように登録したドメイン名も選べます。
登録していない場合は @サブスクリプション名.onmicrosoft.comになります。
ユーザープロファイルを設定します。
ロールは「全体管理者」に設定します。
→をクリックすると、一時パスワードの画面が表示されます。
「作成」をクリックします。
自動生成されたパスワードが表示されます。
一回目はこのパスワードを使用するので、メモを取りましょう。
これでやっとAzure Automationが設定できます。
「新規」から、「管理」の「オートメーション」を選択します。
Azure Automationの設定を行います。
名前、リソースグループ、リージョン等を入力・設定します。
アカウントオプションで、後程使用するチュートリアル用のRunbookを合わせて登録できます。
※今回の説明では使用しないので、どちらでも問題ありません。
Azure Automationがデプロイ/作成されていきます。
しばらくすると、作成したAzure Automationの画面が表示されます。
まず、最初に「設定」の「価格レベル」を設定しましょう。
Automationの機能は、無料のプランでは毎月500分の処理(Powershell等の実行)が自動で実行できます。
上限に達すると、自動で実行されなくなるので要注意です。
それ以上必要そうな場合は「Basic」プランに切り替えましょう。
次に、Azure Active Directoryで設定していた、Automationユーザーを「資格情報」の「資産」として登録します。
あらかじめ「資産」として登録することにより、「資格情報」がAzure上に保存され、Powershellで引数を使って資格情報を入力することなく、安全に使用できるようになります。
引数となる、名前をまず設定し、ユーザー名(automation@xxxxxx.onmicrosoft.com等)とパスワードを2回入力します。
次に「Runbook」を登録します。
「Runbook」とは、自動実行するためのプログラムが格納されている場所です。
まだ「Runbook」はありませんので、新規で作成します。
今回は、仮想マシンを自動で起動するRunbookを登録しますので、「Start-VM」等、わかりやすい名前を設定しましょう。
「Runbookの種類」は3種類あるのですが、今回使用するのは「PowerShellワークフロー」です。
作成すると、編集画面に移ります。
入力する内容は、PowerShellと同じような内容です。
ここでは、$credという引数を設定し、資格情報を一時的に保存しています。
Add-AzureAccount: Azureの管理アカウントを追加するためのコマンドです。
Select-AzureSubscription: 1つのAzureアカウントで複数のサブスクリプションを契約している場合にどの契約かわからなくなるため、ここでサブスクリプションを指定します。
Start-AzureVM: Azure上の仮想マシンを起動するためのコマンドです。
これらコマンドを組み合わせると、以下のようなプログラムになります。
プログラムの入力が終わったら、「発行」を押します。
「はい」をクリックします。
無事発行されると、画面右上に通知が表示されます。
次に実行するためのスケジュールを設定します。
「スケジュールの追加」>「スケジュールをRunbookにリンクします」を選択し、
「新しいスケジュールを作成します」をクリックします。
スケジュールの名前を入力し、開始日、開始時間を入力していきます。
「繰り返し」を「日単位」にし、「(日数)ごとに実行」で「7」にすれば、一週間毎に実行されるということです。
入力を完了したら、「作成」をクリックします。
正常に登録が完了すれば、「スケジュール」に登録されます。
Leave a Reply