Fabric でのミラーリング は、エンタープライズ、クラウドベース、ゼロ ETL、SaaS テクノロジです。 このセクションでは、ミラー化 Azure Database for PostgreSQL フレキシブル サーバーを作成する方法について説明します。これにより、OneLake で PostgreSQL データを継続的にレプリケートする読み取り専用コピーが作成されます。
前提条件
- Azure Database for PostgreSQL フレキシブル サーバーを作成するか、既存のフレキシブル サーバーを使用します。
- Azure Database for PostgreSQL フレキシブル サーバーがない場合は、 新しいフレキシブル サーバーを作成します。
- チュートリアルとして、既存のデータベースの 1 つのコピー、またはバックアップから迅速に復旧できる既存のテスト データベースか開発データベースのコピーを使用することをお勧めします。 既存のバックアップからデータベースを使用する場合は、「 Azure Database for PostgreSQL フレキシブル サーバーのバックアップからデータベースを復元する」を参照してください。
- Fabric 用の既存の容量が必要です。 そうでない場合は、 Fabric 試用版を開始します。
- ファブリック容量は有効で稼働している必要があります。 容量が一時停止または削除されると、ミラーリングも停止するため、データがレプリケートされません。
- ファブリック テナントの設定が必要です。 次の 2 つの Fabric テナント設定 が有効になっていることを確認します。
- Fabric ポータルからミラー化されたデータベースを作成するときは、ワークスペースにメンバーまたは管理者ロールが必要です。 作成時に、Azure Database for PostgreSQL のマネージド ID には、ミラー化されたデータベースに対する "読み取りと書き込み" アクセス許可が自動的に付与されます。 共同作成者ロールを持つユーザーには、この手順を完了するために必要な再共有アクセス許可がありません。
- フレキシブル サーバーにパブリックにアクセスできなく、 Azure サービス がそれに接続できない場合は、 仮想ネットワーク データ ゲートウェイを作成してデータ をミラーリングできます。 Azure Virtual Network またはゲートウェイ マシンのネットワークが、プライベート エンドポイント経由で Azure Database for PostgreSQL フレキシブル サーバーに接続できるか、ファイアウォール規則によって許可されていることを確認します。
- ファブリック ミラーリングは、読み取りレプリカや読み取りレプリカが存在するプライマリでは構成できません。
Azure Database for PostgreSQL を準備する
Azure Database for PostgreSQL フレキシブル サーバーでのミラーリングは論理レプリケーションに基づいているため、データに接続するには、いくつかの特定の前提条件を構成する必要があります。
重要
これらの前提条件を有効にするためのガイドとして、Azure portal に、 このすべてを自動化する特定のファブリック ミラーリング ページを作成しました。 詳細については、「 PostgreSQL フレキシブル サーバーのファブリック ミラーリングの概念」を参照してください。
- システム割り当てマネージド ID (SAMI) を有効にする必要があります。
- 先書きログ (WAL) の
wal_level
サーバー パラメーターを 論理に設定する必要があります。 - 拡張機能 (azure_cdc) が必要であり、許可リストに登録して事前に読み込む必要があります (再起動が必要です)。
-
max_worker_processes
サーバー パラメーターは、ソース サーバー内のミラー化データベースごとに 3 ずつ増やす必要があります。
Fabric ミラーリングのデータベース ロール
次に、Fabric サービスが Azure Database for PostgreSQL フレキシブル サーバーに接続するための PostgreSQL ロールを指定または作成する必要があります。
重要
現在のプレビュー版では、Microsoft Entra ID ユーザーとサービス プリンシパルを使用して Azure Database for PostgreSQL フレキシブル サーバーのソース データベースに接続することはサポートされていません。 基本 (PostgreSQL 認証) を使用してください。
これを実現するには、ソース システムに接続するための データベース ロール を指定します。
データベース ロールを使用する
pgAdmin または Azure Data Studio を使用して、Azure Database for PostgreSQL フレキシブル サーバーに接続します。 ロール
azure_pg_admin
のメンバーであるプリンシパルに接続する必要があります。fabric_user
という名前の PostgreSQL ロールを作成します。 このロールには任意の名前を選択できます。 独自の強力なパスワードを指定します。 データベース内のファブリック ミラーリングに必要なアクセス許可を付与します。 次の SQL スクリプトを実行して、CREATEDB
、CREATEROLE
、LOGIN
、REPLICATION
、azure_cdc_admin
のアクセス許可を、fabric_user
という名前の新しいロールに付与します。-- create a new user to connect from Fabric CREATE ROLE fabric_user CREATEDB CREATEROLE LOGIN REPLICATION PASSWORD '<strong password>'; -- grant role for replication management to the new user GRANT azure_cdc_admin TO fabric_user; -- grant create permission on the database to mirror to the new user GRANT CREATE ON DATABASE <database_to_mirror> TO fabric_user;
また、ミラー化されたデータベースでレプリケートするには、作成したデータベース ユーザーがテーブルの
owner
である必要があります。 つまり、そのユーザーによってテーブルが作成されたか、ALTER TABLE <table name here> OWNER TO fabric_user;
を使用してそれらのテーブルの所有権が変更されたことを意味します。- 所有権を新しいユーザーに切り替えるときは、そのユーザーに対して、
public
スキーマに対するすべての権限の付与が必要になる場合があります。 ユーザー アカウント管理の詳細については、Azure Database for PostgreSQL のユーザー管理 に関するドキュメント、 データベース ロールと特権に関する PostgreSQL 製品ドキュメント、 GRANT 構文、 特権を参照してください。
- 所有権を新しいユーザーに切り替えるときは、そのユーザーに対して、
重要
前のセキュリティ構成手順の 1 つが見つからないと、ファブリック ポータルでミラー化された後続の操作が失敗し、 Internal error
メッセージが表示されます。
ミラー化 Azure Database for PostgreSQL フレキシブル サーバーを作成する
- Fabric ポータルを開きます。
- 既存のワークスペースを使用するか、新規ワークスペースを作成します。
- [作成] ウィンドウに移動するか、[新しい項目] ボタンを選択します。 [ 作成 ] アイコンを選択します。
- [Data Warehouse] セクションまでスクロールし、[ミラー化された Azure Database for PostgreSQL (プレビュー)]を選択します。
ご使用の Azure Database for PostgreSQL フレキシブル サーバーに接続します
次の手順では、Azure Database for PostgreSQL フレキシブル サーバーへの接続を作成する手順を説明します。
- [ 新しいソース] で、[ Azure Database for PostgreSQL (プレビュー)]を選択します。 または、OneLake ハブからの既存の Azure Database for PostgreSQL フレキシブル サーバー接続を選択します。
-
[新しい接続] を選択した場合は、Azure Database for PostgreSQL フレキシブル サーバーへの接続の詳細を入力します。
-
サーバー: サーバー名 は、Azure portal の Azure Database for PostgreSQL フレキシブル サーバー の [概要 ] ページに移動することで確認できます。 たとえば、
<server-name>.postgres.database.azure.com
のようにします。 - データベース: Azure Database for PostgreSQL フレキシブル サーバーの名前を入力します。
- 接続: 新しい接続を作成します。
- 接続名: 自動名前が指定されます。 変更できます。
- データ ゲートウェイ: 使用可能な VNET Data Gateway を選択して、Azure Database for PostgreSQL フレキシブル サーバーを VNET 統合またはプライベート エンドポイントに接続します。
-
認証の種類 (現在のプレビューでは Basic のみ使用できます):
- 基本 (PostgreSQL 認証)
- [ 暗号化された接続を使用 する] チェック ボックスをオンのままにし、 この接続はオンプレミス データ ゲートウェイと VNET データ ゲートウェイ の選択を解除して使用できます。
-
サーバー: サーバー名 は、Azure portal の Azure Database for PostgreSQL フレキシブル サーバー の [概要 ] ページに移動することで確認できます。 たとえば、
- [ 接続] を選択します。
ミラーリング プロセスの開始
-
[ミラーリングの構成] 画面では、データベース内のすべてのデータを既定でミラー化できます。
- すべてのデータをミラー 化すると、ミラーリングの開始後に作成された新しいテーブルがミラー化されます。
- 必要に応じて、ミラーリングする特定のオブジェクトのみを選択します。 [ すべてのデータをミラー化 ] オプションを無効にし、データベースから個々のテーブルを選択します。 このチュートリアルでは、[ すべてのデータをミラー化 ] オプションを選択します。
- [ ミラー データベース] を選択します。 ミラーリングが開始されます。
- 2 分から 5 分間待機します。 次に、[ レプリケーションの監視 ] を選択して状態を確認します。
- 数分後に状態が [実行中] に変わります。これは、テーブルが同期されていることを意味します。 テーブルとそれに対応するレプリケーションの状態が見つからない場合は、数秒待ってからパネルを更新します。
- テーブルの最初のコピーが完了すると、[ 最終更新 ] 列に日付が表示されます。
- これでデータが稼働し、Fabric 全体でさまざまな分析シナリオが利用できるようになりました。
重要
ソース データベースで確立された詳細なセキュリティはすべて、Microsoft Fabric のミラー化データベースで再構成する必要があります。 Microsoft Fabric の SQL の詳細なアクセス許可を参照してください。
Fabric のミラーリングを監視する
ミラーリングを構成すると、[ ミラーリングの状態] ページが表示されます。 ここでは、レプリケーションの現在の状態を監視できます。 レプリケーションの状態に関する詳細については、「ファブリック ミラーリング データベース レプリケーションの監視」を参照してください。