メインコンテンツへスキップ

サポートされているPostgresのバージョン

ClickPipes は Postgres 12 以降をサポートしています。

論理レプリケーションを有効にする

RDSインスタンスで以下の設定がすでに有効になっている場合は、このセクションはスキップできます。
  • rds.logical_replication = 1
以前に別のデータレプリケーションツールを使用していた場合は、通常この設定はあらかじめ有効になっています。
postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)
まだ設定していない場合は、以下の手順に従ってください。
  1. 必要な設定を含む、使用中の Postgres バージョン用の新しいパラメータグループを作成します。
    • rds.logical_replication を 1 に設定します
  1. 新しいパラメータグループを RDS Postgres データベースに適用します
  1. 変更を反映するため、RDS インスタンスを再起動します

データベースユーザーを設定する

管理者ユーザーとして RDS Postgres インスタンスに接続し、次のコマンドを実行します。
  1. ClickPipes 専用のユーザーを作成します。
    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. 前の手順で作成したユーザーに、スキーマレベルの読み取り専用アクセス権を付与します。次の例は public スキーマに対する権限を示しています。レプリケートしたいテーブルを含む各スキーマに対して、これらのコマンドを繰り返してください。
    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
    
  3. ユーザーにレプリケーション権限を付与します。
    GRANT rds_replication TO clickpipes_user;
    
  4. レプリケートしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルだけを含めることを強く推奨します。
publication に含めるテーブルには、主キー が定義されているか、または replica identityFULL に設定されている必要があります。スコープ設定のガイダンスについては、Postgres よくある質問 を参照してください。
  • 特定のテーブルに対する publication を作成するには:
    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    
    • 特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
clickpipes publication には、指定したテーブルから生成される一連の変更イベントが含まれ、後でレプリケーションストリームを取り込むために使用されます。

ネットワークアクセスを設定する

IP ベースのアクセス制御

RDS インスタンスへのトラフィックを制限する場合は、RDS のセキュリティグループの Inbound rules に、ドキュメントに記載されている固定 NAT IP を追加してください。 プライベートネットワーク経由で RDS インスタンスに接続するには、AWS PrivateLink を使用できます。接続を設定するには、ClickPipes 向け AWS PrivateLink セットアップガイドを参照してください。

RDS Proxy の回避策

RDS Proxy は論理レプリケーション接続をサポートしていません。RDS で動的 IP アドレスを使用していて、DNS 名または Lambda を使えない場合は、次の代替手段があります。
  1. cron ジョブを使って定期的に RDS エンドポイントの IP を名前解決し、変更されていた場合は NLB を更新します。
  2. EventBridge/SNS と RDS Event Notifications を使用する: AWS RDS のイベント通知を使って更新を自動的にトリガーします
  3. 固定 EC2: EC2 インスタンスをデプロイし、ポーリングサービスまたは IP ベースのプロキシとして動作させます
  4. Terraform や CloudFormation などのツールを使用して、IP アドレス管理を自動化します。

次のステップ

これで、ClickPipe を作成して、Postgres インスタンスから ClickHouse Cloud へのデータの取り込みを開始できます。 ClickPipe の作成時に必要になるため、Postgres インスタンスのセットアップ時に使用した接続情報は必ず控えておいてください。
最終更新日 2026年6月10日