

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のソースとして Microsoft Azure Database for PostgreSQL Flexible Server を使用する AWS DMS
<a name="CHAP_Source.AzureDBPostgreSQL"></a>

では AWS DMS、Microsoft Azure Database for PostgreSQL Flexible Server を PostgreSQL とほぼ同じ方法でソースとして使用できます。

がソースとして AWS DMS サポートする Microsoft Azure Database for PostgreSQL Flexible Server のバージョンについては、「」を参照してください[のソース AWS DMS](CHAP_Introduction.Sources.md)。

## 論理レプリケーションとデコードのための Microsoft Azure for PostgreSQL フレキシブルサーバーのセットアップ
<a name="CHAP_Source.AzureDBPostgreSQL.setup"></a>

データベースの移行中に、Microsoft Azure Database for PostgreSQL フレキシブルサーバーの論理レプリケーションとデコード機能を使用できます。

論理デコードには、DMS は `test_decoding` または `pglogical` プラグインのどちらかを使用します。`pglogical` プラグインがソースのPostgreSQL データベースで利用できる場合、DMS は `pglogical` を使用してレプリケーションスロットを作成します。それ以外の場合は、`test_decoding` プラグインを使用します。

Microsoft Azure for PostgreSQL フレキシブルサーバーを DMS のソースエンドポイントとして設定するには、次の手順を実行します。

1. ポータルの [Server Parameters] ページを開きます。

1. `wal_level` サーバーパラメータを `LOGICAL` に設定します。

1. `pglogical` の拡張機能を使用する場合は、`shared_preload_libraries` パラメータと `azure.extensions` パラメータを `pglogical` に設定します。

1. `max_replication_slots` パラメータは、同時に実行する予定の DMS タスクの最大数に設定します。Microsoft Azure でのこのパラメータのデフォルト値は 10 です。このパラメータの最大値は PostgreSQL インスタンスの使用可能なメモリにより異なります。メモリ 1 GB あたり 2～8 のレプリケーションスロットを使用できます。

1. `max_wal_senders` パラメータを 1 以上の値に設定します。`max_wal_senders` パラメータは、実行可能な同時タスクの数を設定します。デフォルト値は 10 です。

1. `max_worker_processes` パラメータ値を 16 以上に設定します。この設定以外の場合は、次のようなエラーが表示されることがあります。

   ```
   WARNING: out of background worker slots.
   ```

1. 変更を保存します。サーバーを再起動して変更を適用します。

1. PostgreSQL インスタンスが接続するリソースからのネットワークトラフィックを許可していることを確認します。

1. 次のコマンドを使用して、既存のユーザーにレプリケーションのアクセス許可を付与するか、レプリケーションのアクセス許可を持つ新しいユーザーを作成します。
   + 次のコマンドを使用して、既存のユーザーにレプリケーションのアクセス許可を付与します。

     ```
     ALTER USER <existing_user> WITH REPLICATION;
     ```
   + 次のコマンドを使用して、レプリケーションのアクセス許可を持つ新しいユーザーを作成します。

     ```
     CREATE USER aws_dms_user PASSWORD 'aws_dms_user_password';
     GRANT azure_pg_admin to aws_dms_user;
     ALTER ROLE aws_dms_user REPLICATION LOGIN;
     ```

PostgreSQL を使用した論理レプリケーションの詳細については、次のトピックを参照してください。
+ [論理レプリケーションを使用した変更データ キャプチャ (CDC) の有効化](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Security)
+ [ネイティブ CDC スタートポイントを使用して PostgreSQL ソース エンドポイントの CDC ロードを設定するには](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.v10)
+ 「[Azure Database for PostgreSQL のドキュメント](https://learn.microsoft.com/en-us/azure/postgresql/)」の「[Azure Database for PostgreSQL - フレキシブル サーバーでの論理レプリケーションと論理デコード](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-logical)」