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

Aurora Postgres ソース設定ガイド

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

ClickPipes は Aurora PostgreSQL-Compatible Edition バージョン 12 以降をサポートしています。

論理レプリケーションの有効化

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

  • rds.logical_replication = 1
  • wal_sender_timeout = 0

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

postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)

postgres=> SHOW wal_sender_timeout ;
 wal_sender_timeout
--------------------
 0
(1 row)

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

  1. 必要な設定を持つ Aurora PostgreSQL バージョン用の新しいパラメータグループを作成します:
    • rds.logical_replication を 1 に設定します
    • wal_sender_timeout を 0 に設定します
Aurora のパラメータグループの見つけ方
rds.logical_replication の変更
wal_sender_timeout の変更
  1. 新しいパラメータグループを Aurora PostgreSQL クラスターに適用します
新しいパラメータグループで Aurora PostgreSQL を変更
  1. Aurora クラスターを再起動して変更を適用します
Aurora PostgreSQL の再起動

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

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

  1. ClickPipes 用の専用ユーザーを作成します:
CREATE USER clickpipes_user PASSWORD 'some-password';
  1. スキーマの権限を付与します。以下の例では 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;
  1. レプリケーション権限を付与します:
GRANT rds_replication TO clickpipes_user;
  1. レプリケーション用の出版物を作成します:
CREATE PUBLICATION clickpipes_publication FOR ALL TABLES;

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

IP ベースのアクセス制御

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

Aurora PostgreSQL のセキュリティグループの見つけ方
上記のセキュリティグループのインバウンドルールを編集

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

Aurora 専用の考慮事項

ClickPipes を Aurora PostgreSQL で設定する際には、以下の考慮事項を覚えておいてください:

  1. 接続エンドポイント: 常に Aurora クラスターのライターエンドポイントに接続してください。論理レプリケーションにはレプリケーションスロットを作成するための書き込みアクセスが必要であり、プライマリインスタンスに接続しなければなりません。

  2. フェイルオーバー処理: フェイルオーバーが発生した場合、Aurora はリーダーを新しいライターに自動的に昇格させます。ClickPipes は切断を検出し、新しいプライマリインスタンスを指すライターエンドポイントへの再接続を試みます。

  3. グローバルデータベース: Aurora Global Database を使用している場合は、プライマリリージョンのライターエンドポイントに接続してください。クロスリージョンレプリケーションがリージョン間のデータ移動をすでに処理します。

  4. ストレージの考慮事項: Aurora のストレージレイヤーはクラスター内のすべてのインスタンスで共有されており、標準 RDS と比較して論理レプリケーションのパフォーマンスを向上させることができます。

動的クラスターエンドポイントへの対応

Aurora は適切なインスタンスに自動的にルーティングされる安定したエンドポイントを提供しますが、一貫した接続性を確保するための追加のアプローチを以下に示します:

  1. 高可用性セットアップの場合、アプリケーションを Aurora ライターエンドポイントを使用するように構成します。これにより、現在のプライマリインスタンスに自動的にポイントします。

  2. クロスリージョンレプリケーションを使用している場合は、各リージョンごとに別々の ClickPipes を設定してレイテンシーを低減し、フォールトトレランスを向上させることを検討してください。

次は何ですか?

これで、ClickPipe を作成し、Aurora PostgreSQL クラスターから ClickHouse Cloud へデータを取り込むことができます。 Aurora PostgreSQL クラスターを設定する際に使用した接続の詳細をメモしておくことを忘れないでください。ClickPipe の作成プロセス中にそれらが必要になります。