このチュートリアルでは、Snowflake からファブリック ミラー化データベースを構成します。
この例では、Snowflake データ ソースへのセキュリティで保護された接続を構成する方法と、Microsoft Fabric でのミラーリングの概念を理解し、熟知するためのその他の役立つ情報を学習します。
注
この例は Snowflake に固有のものですが、Azure SQL Database や Azure Cosmos DB などの他のデータ ソースに対してミラーリングを構成する詳細な手順を見つけることができます。 詳細については、「Fabric のミラーリングとは」を参照してください。
[前提条件]
- Snowflakeウェアハウスを作成するか、既存のものを使用します。 Microsoft Azure を含め、任意のクラウド内の任意のバージョンの Snowflake インスタンスに接続できます。
- 既存の Fabric キャパシティが必要です。 そうでない場合は、Fabric 試用版を開始します。
- 次のアクセス許可を含む Snowflake データベースのユーザーアクセス許可が必要です。 詳細については、 ストリーミング テーブルのアクセス制御権限とストリーム に 必要なアクセス許可に関する Snowflake ドキュメントを参照してください。
CREATE STREAMSELECT tableSHOW tablesDESCRIBE tables
- ユーザーには、Snowflake インスタンスへのアクセスを許可するロールが少なくとも 1 つ割り当てられている必要があります。
- Snowflake データ ソースにアクセスするためのネットワーク要件を確認します。 Snowflake データ ソースがパブリックにアクセス可能ではなく、プライベート ネットワーク内にある場合は、 仮想ネットワーク データ ゲートウェイを作成 するか、 オンプレミス データ ゲートウェイをインストールしてデータ をミラーリングします。 Azure Virtual Network またはゲートウェイ マシンのネットワークは、プライベート エンドポイント経由で Snowflake インスタンスに接続するか、ファイアウォール規則で許可する必要があります。
ミラー化されたデータベースを作成する
このセクションでは、ミラー化された Snowflake データ ソースで使用するミラー化された新しいデータベースを作成する方法について簡単に説明します。
(マイ ワークスペースではなく) 既存のワークスペースを使用することも、新しいワークスペースを作成することもできます。
- ワークスペースから、 作成 ハブに移動します。
- 使用するワークスペースを選択したら、[ 作成] を選択します。
- 下にスクロールし、[ ミラー化されたスノーフレーク ] カードを選択します。
- 新しいデータベースの名前を入力します。
- を選択してを作成します。
任意のクラウドの Snowflake インスタンスに接続する
注
場合によっては、ファイアウォール クラウドを変更して、ミラーリングが Snowflake インスタンスに接続できるようにする必要があります。
[新しい接続] で Snowflake を選択するか、既存の接続を選択します。
[新しい接続] を選択した場合は、Snowflake データベースへの接続の詳細を入力します。
接続設定 Description [サーバー] Snowflake のリソース メニューでアカウントに移動すると、サーバー名を見つけることができます。 アカウント名の上にマウス ポインターを置くと、サーバー名をクリップボードにコピーできます。 サーバー名から https://を削除し、すべて小文字を使用します。Warehouse Snowflake のリソース メニューの [ Warehouses ] セクションで、[ Warehouses]\(倉庫\) を選択します。 ウェアハウスは Snowflake Warehouse (コンピューティング) であり、データベースではありません。 接続 新しい接続を作成します。 接続名 自動的に入力されるはずです。使用したい名前に変更してください。 データ ゲートウェイ シナリオに応じて、既定値 (なし) または仮想ネットワーク データ ゲートウェイまたはオンプレミス データ ゲートウェイの名前を選択します。 認証の種類 Snowflake 接続の認証方法を選択します。 サポートされているオプション: Snowflake (ユーザー名とパスワード)、Microsoft Entra ID (Entra ID 経由のシングル サインオン)、またはキー ペア (サービス アカウント シナリオの RSA キー ペア認証)。 ユーザー名 Snowflake.com にサインインするために作成した Snowflake ユーザー名。 パスワード Snowflake.com にログイン情報を作成したときに作成した Snowflake パスワード。 Important
Snowflake のすべての識別子(サーバー名、ウェアハウス名、データベース名、スキーマ名、テーブル名、ビュー名を含む)は、大文字と小文字が区別されます。 Fabric 接続設定に入力する文字の大文字/小文字は、Snowflake で設定されている内容と完全に一致している必要があります。 たとえば、Snowflake ウェアハウスの名前が ANALYTICS_WH の場合は、ANALYTICS_WH を入力する必要があります(analytics_wh や Analytics_Wh ではありません)。 大文字と小文字が一致していないと、接続の失敗やレプリケーション エラーが発生しても、説明的なエラー メッセージは表示されません。
ドロップダウン リストからデータベースを選択します。
ミラーリング プロセスの開始
[ミラーの構成] 画面では、データベース内のすべてのデータをデフォルトでミラーできます。
- すべてのデータをミラー化すると、ミラーリングの開始後に作成された新規テーブルがミラー化されます。 すべてのマネージド テーブルと Iceberg テーブルをミラー化することも、すべてのマネージド テーブルのみをミラー化することもできます (新しい Iceberg テーブルはスキップします)。
- 必要に応じて、ミラーリングする特定のオブジェクトのみを選択します。 [すべてのデータをミラー化] オプションを無効にし、データベースから個々のテーブルを選択します。
注
Iceberg テーブルをミラー化する場合は、Iceberg テーブル データを含む基になるストレージへのストレージ接続を指定する必要があります。 次の点に留意してください。
- ミラー化されたデータベースごとに 1 つのストレージ接続: 選択したすべての Iceberg テーブルは、同じストレージ接続を介して到達可能である必要があります。 Iceberg テーブルが複数のストレージ アカウントにまたがる場合は、個別のミラー化されたデータベースが必要です。
- ストレージの場所の検索: Snowflake で Iceberg テーブルに関連付けられているストレージを検索するには、Snowflake で
SYSTEM$GET_ICEBERG_TABLE_INFORMATIONシステム関数を実行します。 - テーブルの種類の混在: すべてのマネージド テーブルと Iceberg テーブルをミラー化するか、すべてのマネージド テーブルのみをミラー化することができます (新しい Iceberg テーブルはスキップします)。 [ すべてのデータをミラー化 ] トグルを使用して、この動作を制御します。
このチュートリアルでは、[すべてのデータをミラー化] オプションを選択します。
[接続] を選択します。 Iceberg テーブルをミラー化することを選択した場合は、Iceberg テーブルを含むストレージの接続情報を入力します。
ミラー化されたデータベースに名前を付け、[ ミラー化されたデータベースの作成] を選択します。 ミラーリングが開始されます。
2 分から 5 分間待機します。 次に、[レプリケーションの監視] を選択して、状態を確認します。
数分後に、状態が [実行中] に変わります。これは、テーブルの同期が進行中であることを示します。
テーブルとそれに対応するレプリケーションの状態が見つからない場合は、数秒待ってからパネルを更新します。
テーブルの初期コピーが完了すると、[最終更新] 列に日付が表示されます。
これでデータが稼働し、Fabric 全体でさまざまな分析シナリオが利用できるようになりました。
Important
ソース データベースで確立された詳細なセキュリティは、Microsoft Fabric のミラー化データベースで再構成する必要があります。
ファブリック ミラーリングを監視する
ミラーを構成すると、[ミラーリングの状態] ページに移動します。 ここでは、レプリケーションの現在の状態を監視できます。
レプリケーションの状態に関する詳細については、「ファブリック ミラーリング データベース レプリケーションの監視」を参照してください。
Important
ソース テーブルに更新がない場合、レプリケーター エンジンは指数関数的に増加する期間 (最大 1 時間) でバックオフを開始します。 更新されたデータが検出されると、レプリケーター エンジンは定期的なポーリングを自動的に再開します。