【Azure】Azure Automation のモジュールをアップデートする

# 1. はじめに

最初は軽い気持ちだったのです。
__「触ったことないしAzureAutomationでも触ってみようかな～」__
そう思った私はなんけなしにAzureAutomationを開いたわけですが…

…なんか思ったコマンドが利用できない。

よくよく見てみれば、__なんとAzurePowerShellのVersionが全然違うし、そもそも利用できないコマンドもたくさんあるじゃないですか！！__
はい、というわけで、私はAzureAutomationのモジュールをアップデートしようとするのでした…

# 2.AzureAutomationとは

__AzureAutomationとは、クラウドベースのオートメーションと構成サービスです。__
利用することで、プロセスの自動化、構成管理、更新の管理などなどが行えます。

簡単に言えば__クラウドベースのPoweShellやPythonの実行環境で、様々なプロセスを自動化できるって感じですかね。__

# 3. モジュール

AzureAutomationでは、「RunBook」という単位でPowershellやPythonコードを書いて保存し、実行します。
Rumbookで使用できるコマンドレットは以下のようにモジュールとして管理されています。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/f4bf6e75-9f98-f426-3215-3dda6e69c3d2.png)|
|:--|

ただ、黄色で示したようにデフォルトではこのバージョンが古いです。
ローカルのテスト環境とバージョンを合わせるためには、これらをアップデートする必要があります。

ところがAzureモジュールの更新を選択しても…

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/81fbde35-9331-a584-d0d2-78443de2600f.png)|
|:--|

__[AzureモジュールUXの更新機能は廃止されました。]と表示されてしまうんですねー！！__これは困った。
はい、メッセージに書いてある通り、GithubからRunBookをダウンロードして、モジュールの更新を行う必要があります。

# 4. アップデート方法
ではさっそくアップデートを行っていきます。

## Update-AutomationAzureModulesForAccountをダウンロードする

https://github.com/Microsoft/AzureAutomation-Account-Modules-Update
にアクセスして、Update-AutomationAzureModulesForAccountをダウンロードします。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/3326b04b-1485-590c-d5dc-b03d58f628c0.png)|
|:--|

## Update-AutomationAzureModulesForAccountをインポート
ポータルに戻り、左メニュー__[Runbook]__を選択し、__[Runbookのインポート]__を選択します。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/fbe5649f-3e3f-1fd6-c7a4-1d46eb3fdb49.png)|
|:--|

先ほどダウンロードしてきた中にある、__「Update-AutomationAzureModulesForAccount.ps1」__をインポートします。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/6d334e33-c9a0-00bb-6f33-9d44a1dd2d65.png)|
|:--|

インポートファイルとして__「Update-AutomationAzureModulesForAccount.ps1」__を指定。

| ![スクリーンショット 2021-02-16 085456-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/2d45a542-b0cd-74f0-3a2c-8b418315fbfb.png)|
|:--|

これでインポート完了です！

## Runbook実行
次にダウンロードしてきた__「Update-AutomationAzureModulesForAccount.ps1」__を実行してみましょう。
PowerShell Runbook の編集画面が開くので、何もせずに__「公開」__を選択し…

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/35794f55-b905-353e-d6ad-237a71f16f72.png)|
|:--|

Runbook上で__「開始」__を選択します。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/acf11fdd-c827-d9ab-c16d-8fab52d17ef5.png)|
|:--|

パラメータの追加画面が開くので、
__RESOURCEGROUPNAMEにリソースグループ名を、__
__AUTOMATIONACCOUNTNAMEにAutomationのアカウント名を__入れます。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/7ef799f9-7e4e-0836-4e48-e8e4f51fc700.png)|
|:--|


そしてOKを選択。

するとジョブが走って…

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/a6a3e6ea-a6d6-38b3-3619-fa55a53a1975.png)|
|:--|

数分後、状態が完了に変化。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/aed9cf72-b169-8fc2-f109-323ef16a9081.png)|
|:--|

改めてモジュールに戻ってみると、この通り。__モジュールのバージョンが上がってます！__

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/f14cb89c-ffd4-95fb-5f0c-81d3e5e63d98.png)|
|:--|

2021/02/16時点の環境だとAzureモジュールが失敗になっていますが、__もう一度Update-AutomationAzureModulesForAccount.ps1__を開始すれば成功になります。

| ![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3632363333382f63396338363662622d333432622d396439332d306539662d3735393263623731653136382e706e67-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/bb490e8e-3666-063a-e7d5-e1225d18fb56.png)|
|:--|

## Azモジュールをインポートする
さて、もう一息。必要なAzモジュールをインポートします。
各Azモジュールはインストールされていないため、モジュールギャラリーから[az]を検索し、出てきた一覧から必要なものを選択します。
ここではAz.Accountsを選択しました。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/9ab26501-d6cb-4bb9-7ba7-30ab31ba8e5f.png)|
|:--|

__Az.Accounts__をインポートします。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/b738b0e3-95b1-2af3-34d6-26916c75244f.png)|
|:--|

するとモジュールでは__「使用可能」__となりますね。

| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626338/b40d9795-0ae1-a2e7-18e7-5f06596480f9.png)|
|:--|

__これでaz.Accounts系のコマンドが利用できます！__

# 5. おわりに

さて、これでやっと準備が整いました。これでいろいろやることができます!
まぁこのいろいろが…また大変だったんですけどね…(遠い目)

## 参考

Update-AutomationAzureModulesForAccount
https://github.com/Microsoft/AzureAutomation-Account-Modules-Update

Azure Automation の概要
https://docs.microsoft.com/ja-jp/azure/automation/automation-intro