Microsoft Fabric 容量の一時停止/再開の自動化

[目次に戻る](https://qiita.com/taku_tachibana/items/35576a7aa1104182185c)
　
### ■前回の記事
[容量の課金方式](https://qiita.com/taku_tachibana/items/d966de16d750e9e9d595)

### ■本記事の目的
今回は、Fabric容量の一時停止/再開の自動化についてまとめていきます。

### ■概要
Microsoft FabricのFabric容量の一時停止/再開の自動化について理解する。

### ■前提
SKU変更の自動化については、取り扱いません。
既にFabric容量は作成済みとします。

### ■Automationアカウントの作成
既にAutomationアカウント作成済みで、新規に作成が不要な場合は、
本手順はスキップしてください。
　
自動化するための準備として、Automationアカウントを作成していきます。

Azureログイン　＞　作成対象のリソースグループ　＞　作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/138d858d-c703-4741-92b0-238526c90a0b.png)

　
検索欄に「automation」を入力　＞　Azureサービスのみにチェック　＞　
オートメーションをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/2f7b16c9-73a1-4f9c-99f0-b3c07e83cc5b.png)

　
作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/689422d4-a73f-4bb4-8aa3-41065ef27781.png)

　
Automationアカウント名を入力　＞　リージョンを選択　＞　確認および作成　＞　
検証　＞　作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/8157b83b-9ab0-47da-985e-84b2b7467640.png)

※Automationアカウント名なので、
　ここで「再開」や「一時停止」を意味する単語は入れなくてもいいです。
　後でRunbookとスケジュールを内部で作成する際に名付けします。
※詳細設定とネットワークは任意の要件で設定してください。

　
作成できたら完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/7ed320dc-e27a-40f4-9b23-f70bb739bb67.png)


### ■Fabric容量への操作権限の許可
自動化するために、Automationアカウントからの操作をリソースに許可します。
※今回はFabric容量をスコープとして許可しますが、リソースグループレベルでも
　問題はありません。

操作元となるAutomaitonアカウント　＞　アカウント名を控えておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/dd67b1ca-899d-4543-a696-4455841cec12.png)

　
操作対象のFabric容量　＞　左メニュー　＞　IAM　＞　追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/7213d23e-8fca-483c-9cd3-21c68097be28.png)

　
ロール　＞　特権管理者ロール　＞　共同作成者　＞　メンバー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/d5164d1e-9842-4e5a-9928-ddfb98c7af88.png)

　
メンバー　＞　マネージドID　＞　メンバーを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/8aeb85fc-aa9f-474f-abc7-cc4fea4f9be3.png)


右にポップメニュー　＞　マネージドID　＞　Automationアカウント　＞　
Automationアカウント名を入力　＞　選択対象に入れる　＞　選択をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/c7140e4b-7dea-4c92-a904-385e422a182e.png)

　
レビューと割り当てを2回クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/124df5d9-7a1d-49cb-bf8d-a26c4b2fca7c.png)

　
割り当てられていることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/7c3b0564-ed85-4c95-b247-995c75806927.png)


### ■Runbookの作成
一時停止/再開用のRunbookを作成していきます。
両方を自動化する場合は、Fabric容量一つにつき、Runbookは二つ必要です。

Runbookの配置先のAutomationアカウント　＞　左メニュー　＞　
プロセスオートメーション　＞　Runbook　＞　ギャラリーを参照をクリック 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/57da683e-441f-491b-85cf-c68c887425ab.png)

　
検索欄に「Fabric」を入力　＞　suspend_or_resume_fabric_capacity_runbookを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/01fe1741-08ba-41a0-9b7f-e96b067f5576.png)

　
選択をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/e0206e1a-5e16-47cf-baa0-c9b5ad2b1359.png)

　
名前を入力　＞　ランタイムバージョンを選択　＞　説明を入力　＞　インポートをクリック
※名前は操作対象と操作内容、説明は操作内容を入れておくといいです。
※ランタイムは、推奨で構いません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/b772b603-9757-4518-93a4-5544474f783c.png)

　
そのまま編集画面に遷移します。　＞　編集箇所は赤枠の部分のみです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/9025afb6-057a-482a-a672-5c36fec54c13.png)

　
以下に操作ごとの編集内容を記載しておきます。
ResourceIDは、同じFabric容量で共通になり、
サブスクリプションID、リソースグループ名、Fabric容量名を入れれば良いです。
※一つのRunbookに両方を記述はできないので、別々でRunbookを作成して
　記述するようにしてください。

一時停止
```
$ResourceID = "/subscriptions/<サブスクリプションID>/resourceGroups/<リソースグループ名>/providers/Microsoft.Fabric/capacities/<Fabric容量名>"
$operation = "suspend" 
```
　
再開
```
$ResourceID = "/subscriptions/<サブスクリプションID>/resourceGroups/<リソースグループ名>/providers/Microsoft.Fabric/capacities/<Fabric容量名>"
$operation = "resume"
```

　
編集を終えたら、保存　＞　公開をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/7636ba05-de10-44dc-aa4b-1a554031aa59.png)

　
はいをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/aa74de7d-dd13-4ab4-90ee-8d06b34e86df.png)

　
もう一つの操作用のRunbookが必要な場合は、
再度**Runbookの作成**の手順を最初から行ってください。


### ■Runbookの動作確認
Runbookが正常に動作するかテストします。

Fabric容量の状態を適宜、テスト動作確認用に「アクティブ」か「一時停止」にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/502d9b5e-b8df-44a7-a416-a2f3d6d6e1a0.png)
OR
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/61ffda28-cda2-435a-bb85-2abdae8d562d.png)


Runbookの開始をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/90212779-3e95-4e03-a513-3a419059d95a.png)

　
パラメータはなしで、OKをクリック　＞　実行画面に遷移
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/ef365ca4-22ed-4291-b4e2-1a05459add9d.png)

　
完了まで待つ　＞　エラーが出ていないことを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/a2c55d8b-2849-4c0a-980d-db74cb72557b.png)
↓↓↓↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/f384a6fb-d87f-43e9-af2a-e666be5c5823.png)

　
実行後、操作対象のFabric容量の状態が期待結果通りであることを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/f6534e16-1be1-4122-b7ad-22e203a3816a.png)

　
すべてのRunbookで手順通りに動作確認ができたら完了


### ■スケジュールの設定
Runbookごとで個別にスケジュールを設定していきます。

　
設定対象のRunbook　＞　リソース　＞　スケジュール　＞　スケジュールの追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/2ed2ffce-d755-49f4-8393-eb7e7dd0816b.png)

　
「スケジュールを Runbook にリンクします」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/5169d16a-6cdb-446e-b182-57a10e3ce9f6.png)

　
スケジュールの追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/efe64c1b-2015-4ac8-b4d2-bf0a3fcb90f7.png)

　
スケジュール例として、平日13:00で設定します。
名前を入力　＞　開始日を設定　＞　開始時刻を設定　＞　
タイムゾーンは変更なければデフォルト　＞　定期的に設定
※名前はRunbook名とスケジュール設定に関する情報や番号入れておくといいです。
※開始時刻は、日時間隔のベースの時刻となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/3c7a3d0e-0847-4b11-b823-80adb80aa354.png)


間隔を設定　＞　間隔の詳細を設定（間隔の選択による）　＞
有効期限の設定　＞　作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/23c6385a-c21b-4d92-876c-26131492d16c.png)

　
パラメータ設計はしていないので、今回は不要です。　＞　OKをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/d3537b72-09b8-45d8-bca4-2c19b074e196.png)

　
スケジュールが設定されたら完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2731433/20782954-c8c8-4b4e-96c2-7208360865b7.png)

　
他のRunbookでもスケジュールを設定する場合は、
**スケジュールの設定**の手順を行ってください。

　
今回の内容はここまでとなります。
次回はFabric管理ポータルをまとめていきたいと思います。

### ■次の記事
[管理ポータル](https://qiita.com/taku_tachibana/items/256b866613de29717209)
　　
[目次に戻る](https://qiita.com/taku_tachibana/items/35576a7aa1104182185c)