AlloyDB Postgres ソース設定ガイド
サポートされているバージョン
ClickPipes を使用して AlloyDB インスタンスから ClickHouse Cloud へデータをレプリケーションするには、インスタンスを 論理レプリケーション (logical replication) 用に構成しておく必要があります。この機能は AlloyDB バージョン 14 以降 でサポートされています。
論理レプリケーションを有効にする
AlloyDB インスタンスで論理レプリケーションが有効になっているかを確認するには、プライマリ インスタンスで次のクエリを実行します。
結果が logical の場合、論理レプリケーションはすでに有効化されているため、次のステップ に進むことができます。結果が replica の場合は、プライマリインスタンスで alloydb.enable_pglogical フラグと alloydb.logical_decoding フラグを on に設定する必要があります。
AlloyDB flags のドキュメント に記載されているとおり、論理レプリケーションを有効にするフラグを変更するには、プライマリインスタンスの再起動が必要です。
これらのフラグを有効にするには、次の手順を実行します。
-
Google Cloud Console で AlloyDB の Clusters ページに移動します。プライマリインスタンスの Actions メニューから Edit をクリックします。

-
Advanced configuration options までスクロールし、そのセクションを展開します。Flags で Add a database flag をクリックします。
allowdb.enable_pglogicalフラグを追加し、その値をonに設定しますalloydb.logical_decodingフラグを追加し、その値をonに設定します

-
Update instance をクリックして設定変更を保存します。この操作により、プライマリインスタンスの再起動が行われる 点に注意してください。
-
インスタンスのステータスが
UpdatingからReadyに変わったら、プライマリインスタンスに対して次のクエリを実行し、論理レプリケーションが有効になっていることを確認します。結果は
logicalになっている必要があります。
ClickPipes ユーザーを作成し、レプリケーション権限を管理する
管理者ユーザーとして AlloyDB インスタンスに接続し、次のコマンドを実行します。
-
ClickPipes 専用のユーザーを作成します:
-
レプリケーションしたいスキーマに対する権限を専用ユーザーに付与します。
上記の例は、
publicスキーマに対する権限を示しています。ClickPipes を使ってレプリケーションしたい各スキーマごとに、この一連のコマンドを繰り返してください。 -
レプリケーションを管理するための権限を専用ユーザーに付与します:
-
レプリケーションしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを抑えるため、publication には必要なテーブルのみを含めることを強く推奨します。
注記publication に含まれるすべてのテーブルには、primary key が定義されているか、replica identity が
FULLに設定されている必要があります。スコープの決め方については、Postgres FAQs を参照してください。-
特定のテーブルに対する publication を作成するには:
-
特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
clickpipespublication は、指定したテーブルから生成される変更イベントのセットを保持し、後でレプリケーションストリームを取り込む際に使用されます。 -
ネットワークセキュリティを構成する
ClickPipes は Private Service Connect (PSC) 接続をサポートしていません。AlloyDB インスタンスへのパブリックアクセスを許可しない場合は、安全に接続するためにSSH トンネルを使用できます。PSC は今後サポートされる予定です。
次に、ClickPipes から AlloyDB インスタンスへの接続を許可する必要があります。
- ClickPipes の IP を許可する
- SSH トンネルを使用する
-
Google Cloud Console で AlloyDB の Clusters ページに移動します。プライマリインスタンスを選択して Overview ページを開きます。
-
Instances in your cluster までスクロールし、Edit primary をクリックします。
-
Enable Public IP チェックボックスをオンにして、パブリックインターネット経由でインスタンスへの接続を許可します。Authorized external networks で、サービスをデプロイしているリージョンに対応した ClickPipes の静的 IP アドレス一覧 を入力します。
注記AlloyDB では、アドレスは CIDR 表記で指定する必要があります。提供されている ClickPipes の静的 IP アドレス一覧は、各アドレスの末尾に
/32を付与することで、この表記に変換できます。 -
Network Security で、Require SSL Encryption (default) を選択します(未選択の場合)。
-
Update instance をクリックして、ネットワークセキュリティ構成の変更を保存します。
AlloyDB インスタンスへのパブリックアクセスを許可しない場合は、まず SSH バスティオンホストをセットアップして、接続を安全にトンネリングする必要があります。Google Cloud Platform 上で SSH バスティオンホストをセットアップするには、次の手順を実行します。
-
公式ドキュメントに従って、Google Compute Engine (GCE) インスタンスを作成して起動します。
- GCE インスタンスが AlloyDB インスタンスと同じ Virtual Private Network (VPC) 内にあることを確認します。
- GCE インスタンスに 静的パブリック IP アドレス が割り当てられていることを確認します。ClickPipes を SSH バスティオンホストに接続する際に、この IP アドレスを使用します。
-
SSH バスティオンホストのファイアウォールルールを更新し、サービスをデプロイしているリージョンに対応する ClickPipes の静的 IP アドレス一覧 からのトラフィックを許可します。
-
AlloyDB のファイアウォールルールを更新し、SSH バスティオンホストからのトラフィックを許可します。
次のステップ
これで ClickPipe を作成 し、Postgres インスタンスから ClickHouse Cloud へのデータ取り込みを開始できます。 Postgres インスタンスのセットアップ時に使用した接続情報は、ClickPipe 作成時にも必要になるため、必ずメモしておいてください。