自由気ままに書いちゃおう

好きなことをつらつらと・・・

【Azure】仮想マシンの自動停止と自動起動について

今回は仮想マシンの自動停止と自動起動についてです。
過去記事からAzureポータルのUIの更新もありましたので、2021年11月版として記載致します。
↓過去記事↓

www.guri2o1667.work

 

■はじめに

Automation自体がどんなものかは過去記事に記載しているので、
今回は作成画面だけを貼り付ける形にしています。
※ざっくり記載しているところもありますので、過去記事を見ながら進めてもらえるとわかりやすいかと思います。

■自動停止

1.Automationアカウントをクリックします。

f:id:guri2o1667:20211102091710p:plain


2.左上の「+作成」をクリックします。

f:id:guri2o1667:20211102091806p:plain

3.必要事項を入力し、「次へ」をクリックします。

f:id:guri2o1667:20211102091846p:plain


4.以下画面が表示されるため、「システム割り当て」「ユーザー割り当て」のチェックを外し、「次へ」をクリックします。


※チェックを外していますが、その理由は後述いたしますがここでは割愛しております。
f:id:guri2o1667:20211102092207p:plain
↓ チェックを外す

f:id:guri2o1667:20211102093135p:plain




5.「タグ」が必要な場合には入力し、「次へ」をクリックします。

f:id:guri2o1667:20211102093221p:plain

6.「確認および作成」で内容を確認し、「作成」をクリックします。

f:id:guri2o1667:20211102093305p:plain


7.作成したAutomationアカウントに移動します。

f:id:guri2o1667:20211102093450p:plain


8.左ペインの「プロセスオートメーション」>「Runbook」をクリックします。

f:id:guri2o1667:20211102093527p:plain

9.右ペインの「ギャラリーを参照」をクリックします。

f:id:guri2o1667:20211102093646p:plain

10.検索窓に「stop azure」と入力しEnterキーを押下すると、「Stop Azure V2 VMs」が表示されるため、それをクリックします。

f:id:guri2o1667:20211102093756p:plain


11.「Stop Azure V2 VMs」の詳細画面に遷移するため、「選択」をクリックします。

f:id:guri2o1667:20211102093945p:plain

12.「名前」に任意の文字列を入力し、「インポート」をクリックします。

f:id:guri2o1667:20211102094046p:plain

※「Runbookの種類」は以下の通りです。

f:id:guri2o1667:20211102094126p:plain

※「ランタイムバージョン」は以下の通りです。

f:id:guri2o1667:20211102094153p:plain

13.「グラフィックRunbookの編集」画面が表示されるため、「公開」をクリックします。

f:id:guri2o1667:20211102094325p:plain


14.以下画面で「はい」をクリックします。

f:id:guri2o1667:20211102094405p:plain

f:id:guri2o1667:20211102094438p:plain

15.右ペインにある「スケジュールのリンク」をクリックします。

f:id:guri2o1667:20211102094524p:plain


16.以下画面が表示されるため、上段の「スケジュール」をクリックします。

f:id:guri2o1667:20211102094605p:plain

17.「+スケジュールの追加」をクリックします。

f:id:guri2o1667:20211102094640p:plain

18.画面右側にブレードが表示されるため、必要事項を入力し「作成」をクリックします。

f:id:guri2o1667:20211102094721p:plain


※「繰り返し」欄にて「定期的」をクリックすると、設定項目が増えます。

f:id:guri2o1667:20211102094841p:plain



19.以下画面が表示されるため、下段の「パラメーターと実行設定」をクリックします。

f:id:guri2o1667:20211102094959p:plain

21.必要事項を入力し、「OK」をクリックします。
この時点で既に自動停止対象の仮想マシンが決まっている場合には、
「RESOURCEGROUPNAME」「VMNAME」を指定してください。

f:id:guri2o1667:20211102095244p:plain

22.「Rubookのスケジュール設定」に戻ってくるため、「OK」をクリックします。

f:id:guri2o1667:20211102095453p:plain

f:id:guri2o1667:20211102095502p:plain


23.左ペインの「リソース」>「スケジュール」をクリックします。

f:id:guri2o1667:20211102095621p:plain

24.右ペインにスケジュールが表示されていれば、作成は完了です。

25.Automationアカウントに戻り、「プロセスオートメーション」>「Runbook」をクリックします。

f:id:guri2o1667:20211102095738p:plain

26.右ペインに、登録したRunbookが表示されており、「作成状態」が「発行済み」であることを確認します。

f:id:guri2o1667:20211102095841p:plain

 

■実行アカウントについて

Automationアカウントで作成したRunbookは、
実行アカウントと呼ばれるアカウントを準備しないと、
ジョブ自体は起動(及び正常完了)しますが、実際のPowershellによる動作は空振り(実行失敗)します。
なので、仮想マシンが自動起動するはずが起動してこなかった、ということがあり得ますので、注意ください。

ジョブのエラー例ですが、以下のようなものが出力されます。

RunAsAccount not found. To create this RunAsAccount, navigate to the RunAsAccount blade and create a RunAsAccount.


上記エラーの解消のため、実行アカウントを作成する必要があります。

Azure Automation の実行アカウントを管理する | Microsoft Docs

■実行アカウントの作成

1.Automationアカウントの「アカウント設定」>「実行アカウント」をクリックします。

f:id:guri2o1667:20211102103640p:plain

2.右ペインに以下画面が表示されるため、「+Azure実行アカウント」をクリックします。

f:id:guri2o1667:20211102103714p:plain


3.「作成」をクリックします。

f:id:guri2o1667:20211102103742p:plain

f:id:guri2o1667:20211102103754p:plain

4.実行アカウントの作成が完了すると、以下のように表示されます。

f:id:guri2o1667:20211102104458p:plain

5.実行アカウントを作成すると、「プロセスオートメーション」>「Runbook」に以下の通り自動的に3つのRunbookが作成されます。

f:id:guri2o1667:20211102104634p:plain

■自動起動

自動起動は、冒頭の過去記事と本記事を参考に作成することができるため、割愛させていただきました。

■Automationアカウントの「システム割り当て」と「ユーザー割り当て」について

上記手順4にて一旦すべてのチェックを外した状態で手順を進めました。
※以下は参考画面です
f:id:guri2o1667:20211102092207p:plainなぜチェックを外したかですが、1年以上前はそもそも当該項目は設定画面に出てこなかったので、元々Automationアカウントを運用していた場合は、「システム割り当て」と「ユーザー割り当て」はどちらも利用していないことになります。

紛らわしいですが、どちらもマネージドIDに分類されるものです。
Azure リソースのマネージド ID | Microsoft Docs


尚、マイクロソフトは実行アカウントによるRunbookの実行ではなく、
マネージドIDを使用することを推奨しております。

f:id:guri2o1667:20211102115130p:plain

 

■Automationアカウントの「システム割り当て」と「ユーザー割り当て」設定について

Azureポータルから「システム割り当て」「ユーザー割り当て」を設定するには、
以下の通り、Automationアカウントの「アカウント設定」>「ID」から行います。

f:id:guri2o1667:20211102115404p:plain

■「システム割り当て」について

システム割り当てマネージド ID は 1 つのリソースにつき 1 つに限定されており、このリソースのライフサイクルに関連付けられています。Azure のロールベースのアクセス制御 (Azure RBAC) を使用して、マネージド ID にアクセス許可を付与することができます。マネージド ID は Azure AD で認証されるため、コード内に資格情報を格納する必要はありません。

■「ユーザー割り当て」について

スタンドアロンの Azure リソースとしてマネージド ID を自分で作成することもできます。 ユーザー割り当てマネージド ID を作成して、それを Azure サービスの 1 つまたは複数のインスタンスに割り当てることができます。 ユーザー割り当てマネージド ID の場合、ID は、それを使用するリソースとは別に管理されます。



以上です。一応、以下の記事が続編です。

 

www.guri2o1667.work