Aurora PostgreSQL Limitless Database データロードユーティリティの使用 - Amazon Aurora

Aurora PostgreSQL Limitless Database データロードユーティリティの使用

Aurora は、Aurora PostgreSQL DB クラスターまたは RDS for PostgreSQL DB インスタンスから Limitless Database に直接データをロードするためのユーティリティを提供します。

データロードユーティリティを使用するには、次のステップを実行します。

制限

データロードユーティリティには次の制限があります。

  • 次のデータ型はサポートされていません: enumARRAYBOXCIRCLELINELSEGPATHPG_LSNPG_SNAPSHOTPOLYGONTSQUERYTSVECTORTXID_SNAPSHOT

  • 先頭のゼロ (0) は、ロード中に VARBIT データ型から削除されます。

  • ソーステーブルに複合プライマリキーがある場合、データ移行は失敗します。

  • 送信先テーブルに外部キーがある場合、データ移行は失敗します。

  • RDS for PostgreSQL マルチ AZ DB クラスターからのデータのロードはサポートされていません。

前提条件

データロードユーティリティには、次の前提条件があります。

  • ソースデータベースで、Aurora PostgreSQL または RDS for PostgreSQL バージョン 11.x 以降を使用している。

  • ソースデータベースが、送信先 DB シャードグループと同じ AWS アカウントおよび AWS リージョンにある。

  • ソース DB クラスターまたは DB インスタンスが available 状態にある。

  • ソースデータベースと無制限のデータベースのテーブルが、同じテーブル名、列名、列データ型を持っている。

  • ソーステーブルと送信先テーブルに、同じ列と列の順序を使用するプライマリキーがある。

  • データロードコマンドを実行するには、無制限のデータベースに接続するための環境が必要です。使用可能なコマンドは次のとおりです。

    • rds_aurora.limitless_data_load_start

    • rds_aurora.limitless_data_load_cancel

  • CDC の場合:

    • ソースデータベースと送信先 DB シャードグループの両方で、同じ DB サブネットグループ、VPC セキュリティグループ、およびデータベースポートを使用する必要があります。これらのセットアップは、ソースデータベースと DB シャードグループ内のルーターの両方へのネットワーク接続用です。

    • ソースデータベースで論理レプリケーションを有効にする必要があります。ソースデータベースユーザーには、論理レプリケーションを読み取る権限が必要です。

ソースデータベースの準備

データをロードするためにソースデータベースにアクセスするには、ソースデータベースへの受信ネットワークトラフィックを許可する必要があります。以下のステップを実行します。

ソースデータベースへのネットワークトラフィックを許可するには
  1. AWS Management Console にサインインし、Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. [セキュリティグループ] ページに移動します。

  3. ソース DB クラスターまたはインスタンスが使用するセキュリティグループのセキュリティグループID を選択します。

    例えば、そのセキュリティグループ ID は sg-056a84f1712b77926 です。

  4. [インバウンドルール] タブで以下を行います。

    1. [インバウンドのルールを編集] を選択します。

    2. ソース DB クラスターまたはインスタンスに新しいインバウンドルールを追加します。

      • ポート範囲 — ソースデータベースのデータベースポート。通常は 5432

      • セキュリティグループ ID – この例では sg-056a84f1712b77926

      ソースデータベースのインバウンドルールを追加します。
  5. [アウトバウンドルール] タブで以下を行います。

    1. [Edit outbound rules] (アウトバウンドルールの編集) を選択します。

    2. ソース DB クラスターまたはインスタンスに新しいアウトバウンドルールを追加します。

      • データベースポート – All traffic (ポート 0-65535 を含む)

      • セキュリティグループ ID – この例では sg-056a84f1712b77926

      ソースデータベースのアウトバウンドルールを追加します。
  6. AWS Management Console にサインインして、Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  7. [ネットワーク ACL] ページに移動します。

  8. デフォルトのネットワーク ACL」の説明に従って、デフォルトのネットワーク ACL 設定を追加します。

送信先データベースの準備

Aurora PostgreSQL Limitless Database テーブルの作成」の手順に従って、DB シャードグループに送信先テーブルを作成します。

送信先テーブルには、ソーステーブルと同じスキーマ、テーブル名、プライマリキーが必要です。

データベース認証情報の作成

ソースデータベースと送信先データベースにデータベースユーザーを作成し、必要な権限をユーザーに付与する必要があります。詳細については、PostgreSQL ドキュメントの「CREATE USER」および「GRANT」を参照してください。

ソースデータベース認証情報を作成する

ソースデータベースユーザーは、ロードを開始するコマンドで渡されます。このユーザーには、ソースデータベースからレプリケーションを実行する権限が必要です。

  1. データベースマスターユーザー (または rds_superuser ロールを持つ別のユーザー) を使用して、LOGIN 権限を持つソースデータベースユーザーを作成します。

    CREATE USER source_db_username WITH PASSWORD 'source_db_user_password';
  2. ソースデータベースユーザーに rds_superuser ロールを付与します。

    GRANT rds_superuser to source_db_username;
  3. full_load_and_cdc モードを使用している場合は、ソースデータベースユーザーに rds_replication ロールを付与します。rds_replication ロールは、論理スロットを管理し、論理スロットを使用してデータをストリーミングするアクセス権許可付与します。

    GRANT rds_replication to source_db_username;

送信先データベースの認証情報を作成する

送信先データベースユーザーには、DB シャードグループの送信先テーブルに書き込むためのアクセス許可が必要です。

  1. データベースマスターユーザー (または rds_superuser ロールを持つ別のユーザー) を使用して、LOGIN 権限を持つ送信先データベースユーザーを作成します。

    CREATE USER destination_db_username WITH PASSWORD 'destination_db_user_password';
  2. 送信先データベースユーザーに rds_superuser ロールを付与します。

    GRANT rds_superuser to destination_db_username;