現在、 Azureの統合データプラットフォーム SaaS であるMicrosoft Fabric (以降、Fabric)について勉強しています。
今回は、Fabricを利用するにあたって、まず最初に理解するべき構成要素について調べた内容をご紹介します。
Fabricとは
Fabricは統合データプラットフォーム SaaS です。
AzureにはData Factory、Synapse Analytics、Event Hubs、Stream Analyticsといった、様々なデータのソリューションがありますが、これらのサービスをまたいで分析などを行う場合は、個別に環境を構築し連携させる必要がありました。
Fabricを利用すると、これらのサービスやPower BIをひとつに統合させることが可能となります。
Fabricを利用することによってデータ統合の実現が容易に可能となり、生データとビジネスユーザーがより密接になっていきます。
Fabricの構成要素
Fabricは以下の図のように6つの階層で構成されます。
各構成要素ごとの概要は以下の通りです。
- テナント
- Microsoft Entra ID で管理される専用の領域
- ドメイン
- テナント内の論理グループ
- Fabric容量
- テナント内に存在するリソースプール
- ワークスペース
- 容量内に作成され、エクスペリエンス(アイテム)を管理するための格納場所
- エクスペリエンス
- Fabricの各ソリューション
- 例:Synapse Data Engineering、Data Factory、Synapse Data Science etc.
- アイテム
- Fabric で作成および管理する各エクスペリエンスのオブジェクト
- 例:データ ウェアハウス、データ パイプライン、セマンティック モデル、ダッシュボード etc.
以下の章で、それぞれの構成要素について詳細な説明をしていきます。
テナント
Fabricは テナント(Microsoft Entra テナント)内にデプロイされます。
Fabricの利用を開始するには、既存のテナントを利用するか、テナントを払い出したのちにテナント内でFabricの利用を開始できるように有効化を行う必要があります。
Fabric有効化
テナント内でFabricを有効にすることで、初めてテナント内のユーザーがFabricの利用を開始することが可能になります。
Fabricの利用を有効化できる権限は3種類あります。
- Microsoft 365 グローバル管理者
- Power Platform 管理者
- Fabric 管理者
Fabricの利用を開始するためには、上記のいずれかの権限を持つユーザーによって、Fabricの有効化を行う必要があります。
ドメイン
ドメインは、テナント内の組織単位などで分類した論理グループのことを指します。
例えば、組織に所属する人のみがそのドメイン内に作られるリソースにアクセスできるようにする、といったことが可能になります。
テナントの作成と同時にドメインが1つ払い出されます。
※テナント内に複数ドメイン(カスタムドメイン)を払い出すことも可能です。
Fabric容量
テナント内に存在するリソースプールのことを指します。
Fabric容量のサイズによって、使用可能な計算能力が決定されます。また、Fabric容量のサイズは手動で変更可能です。
※ Fabric容量のサイズ変更には容量管理者権限が必要です
※ 2024年7月時点でFabric容量のオートスケール機能はまだ実装されていません
SKUとCU
Fabric容量では以下の2つの用語がそれぞれ登場します。
- SKU(Stock Keeping Unit)
- サービスプラン、価格帯ごとに利用可能なリソース、機能を表すための単位
- CU(Capacity Unit)
- Fabricで使用される計算リソースの単位(CPU、メモリ、ストレージ)
- 割り当てられるCUが多いほど性能が上がる
Fabric容量を払い出すにあたって、SKUを決定する必要があります。
SKUを決定するためには、予算や必要なパフォーマンス、扱うデータ量に応じて、実際の計算リソースであるCUがどれくらい必要になるのかを見積もる必要があります。
SKUとCUの対応表は以下の通りです。
SKU |
試用版 |
F2 |
F4 |
F8 |
F16 |
F32 |
F64 |
F128 |
F256 |
F512 |
F1024 |
F2048 |
CU |
64 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
256 |
512 |
1024 |
2048 |
Fabric容量 の払い出し
Fabric容量の払い出し方法には、環境別、部門別、プロジェクト別、チーム別などの分類方法が例としてあげられます。
- 開発環境 / 本番環境 で分割
- Fabricでは容量単位で開発環境と本番環境を分割します
- 開発環境と本番環境でリソースを分けることで、開発環境と本番環境で相互干渉が発生しなくなります
- 部門/プロジェクト/チーム で分割
- 利用する部門/チームメンバーの人数/プロジェクトの規模、扱うデータ量に合わせて容量を設定することが可能になります
ワークスペース
ワークスペースは容量内に作成される、エクスペリエンス(アイテム)を管理するための格納場所のことを指します。
エクスペリエンスとアイテムについての説明は以下の通りです。
- エクスペリエンス
- Fabricの各ソリューション
- 例:Synapse Data Engineering、Data Factory、Synapse Data Science etc.
- アイテム
- 各エクスペリエンスで実際に生成されるリソース
ワークスペースにはいくつか制限事項があります。
- ユーザー、サービス プリンシパル を 最大 1,000 個のワークスペースのメンバーにすることが可能
- 1ワークスペースあたりのセマンティック モデル数 :最大 1,000
- ※セマンティック モデルあたり1,000 のレポートを含めることが可能
ワークスペースライセンスモード
ワークスペースライセンスモードの各ライセンスモードと機能
ワークスペースを払い出す際に、ワークスペースライセンスモードを決定する必要があります。
ワークスペースライセンスモードとは、特定の機能やリソースを利用するためのライセンス設定(Power BI ライセンス)のことを指します。
※ Power BIのみ利用可能なライセンスモードがあるため、別途Fabricのユーザライセンスが必要になる場合があります。
※ ワークスペースライセンスモードに対応したPower BIのライセンスが別途必要になります。
各ライセンスモードについての説明は以下の通りです。
ワークスペースライセンスモード |
機能 |
Fabric アイテム作成 |
試用版 |
Fabric の機能 を 60 日間試用可能 |
可 |
Pro |
基本的な Power BI 機能を使用し、レポート、ダッシュボード等で共同作業が可能 |
不可 |
Premium Per User (PPU) |
Power BI Premium 機能の大部分 を使用して共同作業が可能 |
不可 |
Premium 容量 |
Power BI コンテンツを作成、共有、共同作業、配布可能 |
可 |
埋め込み |
Azure 容量にコンテンツを埋め込み |
不可 |
Fabric 容量 |
Fabric コンテンツの作成、共有、共同作業、配布可能 |
可 |
ワークスペースライセンスモード と Fabric ユーザーライセンスの組み合わせ
Fabric ユーザーライセンスによって、ワークスペース内にアイテムが作成可能になります。
ワークスペース内のコンテンツを他のユーザーが閲覧するためには下記のようにワークスペースライセンスモードごとに、Fabricのユーザライセンスが追加で必要になります。
Fabric ユーザーライセンス |
ワークスペースライセンスの種類 |
|||
Power BI Pro /Fabric 容量 (SKU F64 未満) |
Premium Per User |
Premium 容量/Fabric 容量(SKU F64 以上) |
埋め込み |
|
Free |
× |
× |
閲覧可能 |
× |
Pro |
閲覧可能 |
× |
閲覧可能 |
閲覧可能 |
Premium Per User |
閲覧可能 |
閲覧可能 |
閲覧可能 |
閲覧可能 |
参考:https://jpbap-sqlbi.github.io/blog/powerbi/pbi_license/
ワークスペースロール
ワークスペース内に実際にリソースを払い出していくため、ワークスペースで「誰が」「何を」実行できるかを管理する必要が出てきます。
ワークスペースロールによって、ワークスペースに所属するメンバーやグループのアクセス制御を行います。
ロール割り当て可能な対象は以下の通りです。
- ユーザー
- グループ(セキュリティグループ、Microsoft 365 グループ、配布リスト)
ワークスペースロールは、ワークスペースページ内の「アクセスの管理」で設定します。その際、ワークスペースの 管理者 または メンバー である必要があります。
以下の4種類のいずれかのワークスペースロールを、ユーザーまたはグループに割り当てます。
- 管理者
- メンバー
- 共同作成者
- 閲覧者
各ロールごとに利用可能になる機能の一覧は下記の通りです。
機能 |
管理者 |
メンバー |
共同 作成者 |
閲覧者 |
ワークスペースの更新と削除 |
〇 |
|||
ユーザーの追加または削除 |
〇 |
|||
メンバーやその他の下位のアクセス許可を持つユーザーの追加 |
〇 |
〇 |
||
他のユーザーにアイテムの再共有を許可する |
〇 |
〇 |
||
データ パイプライン、ノートブック、Spark ジョブ定義、ML モデルと実験、イベント ストリーム、KQL データベース、KQL クエリ セット、リアルタイム ダッシュボードのコンテンツの表示と読み取り |
〇 |
〇 |
〇 |
〇 |
レイクハウスまたはウェアハウスの SQL 分析エンドポイントに接続する |
〇 |
〇 |
〇 |
〇 |
TDS エンドポイントによる T-SQL を使用したレイクハウスとデータ ウェアハウスのデータとショートカットの読み取り |
〇 |
〇 |
〇 |
〇 |
OneLake API と Spark によるレイクハウスとデータ ウェアハウスのデータとショートカット の読み取り |
〇 |
〇 |
〇 |
|
レイクハウス エクスプローラーによるレイクハウス データの読み取り |
〇 |
〇 |
〇 |
|
データ パイプライン、ノートブック、Spark ジョブ定義、ML モデルと実験、イベント ストリームの書き込みと削除 |
〇 |
〇 |
〇 |
|
KQL データベース、レイクハウス、データ ウェアハウス、ショートカットの KQL クエリ セット、リアルタイム ダッシュボード、スキーマとデータの作成または削除 |
〇 |
〇 |
〇 |
|
ノートブック、Spark ジョブ定義、ML モデル、実験の実行または実行の取り消し |
〇 |
〇 |
〇 |
|
データ パイプラインの実行または実行の取り消し |
〇 |
〇 |
〇 |
〇 |
データ パイプライン、ノートブック、ML モデル、実験の実行出力の表示 |
〇 |
〇 |
〇 |
〇 |
オンプレミス ゲートウェイを介してデータの更新をスケジュールする |
〇 |
〇 |
〇 |
|
ゲートウェイの接続設定を変更する |
〇 |
〇 |
〇 |
参考:
ワークスペースの払い出し
ワークスペースの払い出し方法は、部門別、プロジェクト別、チーム別、アプリケーション別といった分類方法が例としてあげられます。
- 部門別、プロジェクト別、チーム別で分割
- 各ワークスペースごとにアクセス制御とセキュリティポリシーの割り当てを行うことで、限定されたユーザーに対してのみデータにアクセス可能にします
- アプリケーション別で分割
- 特定のアプリケーションごとにワークスペースを割り当て、関連するデータやレポートの管理を簡略化することが可能になります
ドメイン/容量/ワークスペース の使い分け方について まとめ
ドメイン/容量/ワークスペース はそれぞれの特徴に応じてリソースの払い出しの観点が変わってきます。各構成要素ごとに払い出しの際の考慮したうえで行わなければなりません。
構成要素ごとの払い出しの観点については、以下の通りです。
項目 |
使い分け観点 |
分割単位 |
ドメイン (テナント) |
ユーザー管理 |
組織別、部門別 etc. |
容量 |
パフォーマンス効率化 コスト最適化 |
環境別(開発環境、本番環境)、 部門別、プロジェクト別、チーム別 etc. |
ワークスペース |
アクセス制御 データセキュリティ |
アプリケーション別、部門別、プロジェクト別、チーム別 etc. |
さいごに
今回は、Microsoft Fabric の構成要素について調査した内容について説明しました。
今後 管理、ガバナンスの観点での調査、各ソリューションごとの検証結果などについても紹介していく予定ですので、読んでいただけますと幸いです。