サポートされているPostgresのバージョン
論理レプリケーションを有効にする
rds.logical_replication = 1
- 必要な設定を含む、使用中の Postgres バージョン用の新しいパラメータグループを作成します。
rds.logical_replicationを 1 に設定します
- 新しいパラメータグループを RDS Postgres データベースに適用します
- 変更を反映するため、RDS インスタンスを再起動します
データベースユーザーを設定する
-
ClickPipes 専用のユーザーを作成します。
-
前の手順で作成したユーザーに、スキーマレベルの読み取り専用アクセス権を付与します。次の例は
publicスキーマに対する権限を示しています。レプリケートしたいテーブルを含む各スキーマに対して、これらのコマンドを繰り返してください。 -
ユーザーにレプリケーション権限を付与します。
- レプリケートしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルだけを含めることを強く推奨します。
-
特定のテーブルに対する publication を作成するには:
-
特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
-
特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
clickpipes publication には、指定したテーブルから生成される一連の変更イベントが含まれ、後でレプリケーションストリームを取り込むために使用されます。
ネットワークアクセスを設定する
IP ベースのアクセス制御
Inbound rules に、ドキュメントに記載されている固定 NAT IP を追加してください。
AWS PrivateLink を介したプライベートアクセス
RDS Proxy の回避策
- cron ジョブを使って定期的に RDS エンドポイントの IP を名前解決し、変更されていた場合は NLB を更新します。
- EventBridge/SNS と RDS Event Notifications を使用する: AWS RDS のイベント通知を使って更新を自動的にトリガーします
- 固定 EC2: EC2 インスタンスをデプロイし、ポーリングサービスまたは IP ベースのプロキシとして動作させます
- Terraform や CloudFormation などのツールを使用して、IP アドレス管理を自動化します。