Microsoft Fabricは、データ分析やBIを統合的に提供するプラットフォームであり、Azure上で「Fabric容量(Capacity)」を利用することで、柔軟なスケーリングと高パフォーマンスを実現できます。
しかし、Fabric容量は利用時間に応じて課金されるため、使っていない時間帯に容量を停止することがコスト最適化の鍵となります。
手動で停止することも可能ですが、開発や検証環境では停止を忘れてしまい、無駄なコストが発生するケースが少なくありません。
そこで本記事では、Azure Automationを活用してFabric容量を自動停止する仕組みを構築する手順を解説します。
Microsoft Fabricとは
Microsoft Fabricとは、Microsoftが提供する統合型データ分析プラットフォームで、企業のデータ活用をより効率的かつ柔軟にするために設計されています。
Power BI、Azure Synapse、Data Factoryなどの既存サービスを統合し、データの収集・加工・分析・可視化までを一貫して行えるのが特徴です。
前提条件
自動停止を構築する前に、以下の前提条件を確認してください。
- Microsoft Fabric容量(F SKU)がAzure上で作成済みであること
- AzureサブスクリプションにRBAC権限(所有者以上)が付与されていること
- マネージドIDに権限を追加するため(共同作成者+ユーザーアクセス管理者)でも可
構成概要
今回の構成は以下の通りです。
- Azure Automationアカウント
- Runbookを作成し、スケジュールで実行します。
- Runbook(PowerShell)
- Fabric容量を一時停止するスクリプトを実装します。
- スケジュール
- 毎日決まった時間にRunbookを実行し、Fabric容量を停止します。
処理の流れは以下のようになります。
- Azure Automationアカウントを作成
- マネージドIDに必要なロールを付与
- Runbookを作成・編集
- Runbookのテスト実行
- スケジュールを設定して自動実行
Azure Automationでの自動停止手順
事前準備
RunbookでFabric容量のリソースIDが必要となりますので、AzureポータルのFabric容量の「プロパティ」から事前に確認します。

1. Automationアカウントの作成
- Azureポータルで「Automationアカウント」を検索し、新規作成。
- サブスクリプション、リソースグループ、名前、リージョンを指定。

- マネージドIDを有効化(システム割り当て推奨)。

- 作成を完了。
3. マネージドIDにロールを割り当て
AutomationアカウントのマネージドIDに、Fabric容量を操作するための権限を付与します。
※権限を付与するためには、所有者、またはユーザーアクセス管理者権限が必要です
- ロール:Contributor(または必要最小限のカスタムロール)
- スコープ:対象のリソースグループまたはサブスクリプション

3. RunBookの作成、編集
- Automationアカウントの「Runbook」→「ギャラリーを参照」。

- 検索欄に「Fabric」と入力し、**suspend_or_resume_fabric_capacity_runbook**を選択。

- RunBookのパラメータを入力し、インポートする。

- インポート後、Runbookを編集し、以下のように設定。

- 保存して公開。
4. Runbookのテスト実行
- 「開始」ボタンを押して実行。
- AzureポータルでFabric容量が「一時停止」状態になっていることを確認。
5. スケジュール設定
- Runbookの「スケジュール」→「スケジュールの追加」→「スケジュール」。

- 実行時間(例:毎日23:00)をなどスケジュールの設定。

- パラメータと実行設定

- RunBooKに関連付けされていること、状態がオンであることを確認

最後に
Azure Automationを活用することで、Microsoft Fabric容量の自動停止を簡単に実現できます。これにより、コスト削減と運用効率化が可能になります。
さらに、同様の仕組みで「自動再開」も設定できるため、業務時間に合わせた柔軟なスケジューリングが可能です。
今後は、容量の状態を確認してから停止・再開するロジックを追加することで、より堅牢な運用が実現できます。Fabricを利用する際は、ぜひこの自動化を取り入れてみてください。