での同種データ移行のソースとしての PostgreSQL データベースの使用 AWS DMS - AWS データベース移行サービス

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

での同種データ移行のソースとしての PostgreSQL データベースの使用 AWS DMS

PostgreSQL データベースは、 同種データ移行の のソースとして使用できます AWS DMS。この場合、ソースデータプロバイダーは、オンプレミス、Amazon EC2、または PostgreSQL データベースRDSの になります。

同種データ移行を実行するには、PostgreSQL ソースデータベースの で指定したデータベースユーザーにスーパーユーザーアクセス許可を付与 AWS DMS します。データベースユーザーがソース内のレプリケーション固有の機能にアクセスするには、スーパーユーザーのアクセス許可が必要となります。フルロードデータ移行の場合、データベースユーザーにはテーブルを移行するための SELECT 権限が必要です。

次のスクリプトを使用して、PostgreSQL ソースデータベースに必要なアクセス許可を持つデータベースユーザーを作成します。に移行するすべてのデータベースに対してGRANTクエリを実行します AWS。

CREATE USER your_user WITH LOGIN PASSWORD 'your_password'; ALTER USER your_user WITH SUPERUSER; GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO your_user;

前の例では、各 を置き換えます。user input placeholder 自分の情報を入力します。

AWS DMS はCDC、プライマリキーを持つ PostgreSQL テーブルの をサポートします。テーブルにプライマリキーがない場合、先行書き込みログ (WAL) にはデータベース行の前イメージは含まれません。ここでは、追加の構成設定を使用し、回避策としてテーブルレプリカ アイデンティティを使用できます。ただし、この方法では追加のログが生成される可能性があります。注意深いテストの後にのみ、回避策としてテーブルレプリカ アイデンティティ を使用することをお勧めします。詳細については、「DMS ソースとして PostgreSQL データベースを使用する場合の追加設定」を参照してください。

以下のセクションでは、セルフマネージド型および マネージド AWS型の PostgreSQL データベースの特定の設定前提条件について説明します。

での同種データ移行のソースとしてのセルフマネージド PostgreSQL データベースの使用 AWS DMS

このセクションでは、オンプレミスまたは Amazon EC2インスタンスでホストされている PostgreSQL データベースを設定する方法について説明します。

ソース PostgreSQL データベースのバージョンを確認します。で説明されているように、 がソース PostgreSQL データベースのバージョン AWS DMS をサポートしていることを確認してくださいDMS 同種データ移行のソース

同種データ移行は、論理レプリケーションを使用した変更データキャプチャ (CDC) をサポートします。セルフマネージド PostgreSQL ソースデータベースで論理レプリケーションを有効にするには、postgresql.conf設定ファイルで次のパラメータと値を設定します。

  • wal_levellogical に設定します。

  • max_replication_slots を 1 より大きい値に設定します。

    max_replication_slots 値は、実行するタスクの数に従って設定してください。たとえば、5 つのタスクを実行するには、少なくとも 5 つのスロットを設定する必要があります。スロットは、タスクが開始するとすぐに自動的に開き、タスクが実行されなくなった場合でも開いたままです。開いているスロットは手動で削除してください。

  • max_wal_senders を 1 より大きい値に設定します。

    max_wal_senders パラメータは、実行可能な同時タスクの数を設定します。

  • wal_sender_timeout パラメータは、指定されたミリ秒数が過ぎても非アクティブなレプリケーション接続を終了します。デフォルト値は 60,000 ミリ秒 (1 秒)。値を 0 (ゼロ) に設定すると、タイムアウトメカニズムが無効になり、 の有効な設定になりますDMS。

一部のパラメータは静的であり、サーバースタート時にのみ設定できます。設定ファイルへの変更は、サーバーが再起動されるまで無視されます。詳細については、PostgreSQL ドキュメント を参照してください。

で同種データ移行のソースとして AWS管理の PostgreSQL データベースを使用する AWS DMS

このセクションでは、Amazon RDS for PostgreSQL データベースインスタンスを設定する方法について説明します。

PostgreSQL DB インスタンスの AWS マスターユーザーアカウントを、 での同種データ移行用の PostgreSQL ソースデータプロバイダーのユーザーアカウントとして使用します AWS DMS。マスターユーザーアカウントには、 の設定に必要なロールがありますCDC。管理ユーザーアカウント以外のアカウントを使用する場合、アカウントに rds_superuser ロールと rds_replication ロールが必要です。rds_replication ロールは、論理スロットを管理し、論理スロットを使用してデータをストリーミングするアクセス権許可付与します。

次のコード例を使用して、rds_superuser ロールと rds_replication ロールを付与します。

GRANT rds_superuser to your_user; GRANT rds_replication to your_user;

前の例では、your_user データベースユーザーの名前を入力します。

論理レプリケーションを有効にするには、DB パラメータグループの rds.logical_replication パラメータを 1 に設定します。この静的パラメータを有効にするには、DB インスタンスを再起動する必要があります。

PostgreSQL 互換データベースを同種データ移行のソースとして使用する際の制限

PostgreSQL 互換データベースを同種データ移行のソースとして使用する場合、次の制限が適用されます。

  • データソースへの接続に使用するユーザー名には以下の制限があります。

    • 2~64 文字を使用できます。

    • スペースは使用できません。

    • 文字として a~z、A~Z、0~9、アンダースコア (_) を使用できます。

    • a~z または A~Z で始める必要があります。

  • データソースへの接続に使用するパスワードには以下の制限があります。

    • 1~128 文字を使用できます。

    • 一重引用符 (')、二重引用符 (")、セミコロン (;)、スペースのいずれも使用できません。