メインコンテンツまでスキップ
メインコンテンツまでスキップ

RDS Postgres ソースセットアップガイド

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

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

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

RDSインスタンスが既に以下の設定で構成されている場合、このセクションをスキップできます:

  • rds.logical_replication = 1
  • wal_sender_timeout = 0

これらの設定は、以前に他のデータレプリケーションツールを使用していた場合、通常は事前に構成されています。

まだ構成されていない場合は、以下の手順に従ってください:

  1. 必要な設定を持つPostgresバージョンの新しいパラメーターグループを作成します:
    • rds.logical_replication を1に設定
    • wal_sender_timeout を0に設定
RDSでパラメーターグループの位置 rds.logical_replicationの変更 wal_sender_timeoutの変更
  1. 新しいパラメーターグループをRDS Postgresデータベースに適用します
新しいパラメーターグループでRDS Postgresを変更
  1. 変更を適用するためにRDSインスタンスを再起動します
RDS Postgresの再起動

データベースユーザーの構成

管理者ユーザーとしてRDS Postgresインスタンスに接続し、以下のコマンドを実行します:

  1. ClickPipes用の専用ユーザーを作成します:

  2. スキーマ権限を付与します。以下の例はpublicスキーマに対する権限を示しています。レプリケーションしたい各スキーマに対してこれらのコマンドを繰り返してください:

  3. レプリケーション特権を付与します:

  4. レプリケーションのためのパブリケーションを作成します:

ネットワークアクセスの構成

IPベースのアクセス制御

RDSインスタンスへのトラフィックを制限したい場合は、文書化された静的NAT IPsをRDSセキュリティグループのInbound rulesに追加してください。

RDS Postgresでのセキュリティグループの位置 上記セキュリティグループの受信ルールを編集

プライベートネットワークを通じてRDSインスタンスに接続するには、AWS PrivateLinkを使用できます。接続のセットアップについては、ClickPipes用のAWS PrivateLinkセットアップガイドを参照してください。

RDS Proxyのための代替策

RDS Proxyは論理レプリケーション接続をサポートしていません。RDSで動的IPアドレスを使用していて、DNS名やLambdaを使用できない場合は、以下の代替策があります:

  1. cronジョブを使用して、定期的にRDSエンドポイントのIPを解決し、変更されている場合はNLBを更新します。
  2. RDSイベント通知をEventBridge/SNSと共に使用します:AWS RDSイベント通知を使用して自動的に更新をトリガーします。
  3. 安定したEC2:ポーリングサービスまたはIPベースのプロキシとして機能するEC2インスタンスを展開します。
  4. TerraformやCloudFormationのようなツールを使用してIPアドレス管理を自動化します。

次は何ですか?

次に、ClickPipeを作成し、PostgresインスタンスからClickHouse Cloudにデータを取り込むことができます。Postgresインスタンスを設定した際に使用した接続詳細をメモしておくと、ClickPipe作成プロセス中に必要になります。