RDS Postgres ソース設定ガイド
サポート対象の Postgres バージョン
ClickPipes は Postgres 12 以降のバージョンに対応しています。
論理レプリケーションを有効にする
RDS インスタンスですでに次の設定が行われている場合、このセクションはスキップできます。
rds.logical_replication = 1wal_sender_timeout = 0
これらの設定は、以前に別のデータレプリケーションツールを使用していた場合、あらかじめ設定されていることが一般的です。
まだ設定していない場合は、次の手順に従ってください。
- 必要な設定を行った、利用している Postgres バージョン用の新しいパラメータグループを作成します:
rds.logical_replicationを 1 に設定しますwal_sender_timeoutを 0 に設定します



- 作成した新しいパラメータグループを対象の RDS Postgres データベースに適用します

- 変更を反映するために RDS インスタンスを再起動します

データベースユーザーを設定する
管理ユーザーとして RDS Postgres インスタンスに接続し、次のコマンドを実行します。
-
ClickPipes 専用のユーザーを作成します:
-
前の手順で作成したユーザーに対して、スキーマレベルの読み取り専用アクセス権を付与します。次の例は
publicスキーマに対する権限を示しています。レプリケーション対象としたいテーブルを含む各スキーマに対して、これらのコマンドを繰り返してください: -
ユーザーにレプリケーション権限を付与します:
-
レプリケーションしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルのみを含めることを強く推奨します。
注意publication に含めるいずれのテーブルも、primary key が定義されているか、replica identity が
FULLに設定されている必要があります。スコープ設定に関するガイダンスについては、Postgres FAQs を参照してください。-
特定のテーブル用の publication を作成するには:
-
特定のスキーマ内のすべてのテーブル用の publication を作成するには:
clickpipespublication には、指定したテーブルから生成された変更イベントの集合が含まれ、後でレプリケーションストリームを取り込む際に使用されます。 -
ネットワーク アクセスを構成する
IP ベースのアクセス制御
RDS インスタンスへのトラフィックを制限する場合は、RDS セキュリティグループの Inbound rules にドキュメントに記載されている静的 NAT IP アドレス を追加してください。


AWS PrivateLink を使用したプライベートアクセス
プライベートネットワーク経由で RDS インスタンスに接続するには、AWS PrivateLink を使用できます。接続を構成するには、ClickPipes 向け AWS PrivateLink セットアップガイドに従ってください。
RDS Proxy 向けのワークアラウンド
RDS Proxy は logical replication 接続をサポートしていません。RDS で動的 IP アドレスを使用しており、DNS 名や Lambda を利用できない場合、代替案として次のような方法があります:
- cron ジョブを使用して、定期的に RDS エンドポイントの IP を名前解決し、変更されている場合は NLB を更新する。
- RDS Event Notifications と EventBridge/SNS を使用する: AWS RDS のイベント通知を利用して更新処理を自動でトリガーする。
- 安定した IP を持つ EC2: ポーリングサービスまたは IP ベースのプロキシとして動作する EC2 インスタンスをデプロイする。
- Terraform や CloudFormation などのツールを使用して IP アドレス管理を自動化する。
次のステップ
これで、ClickPipe を作成し、Postgres インスタンスから ClickHouse Cloud へのデータ取り込みを開始できます。 Postgres インスタンスのセットアップ時に使用した接続情報は、ClickPipe の作成プロセスでも必要になるため、必ず控えておいてください。