Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickPipes 向け GCP Private Service Connect

GCP の Private Service Connect (PSC) を使用すると、ClickPipes と GCP 上でホストされているデータソース間にセキュアな接続を確立できます。ClickPipes は VPC 内に リバースプライベートエンドポイント (RPE) を作成し、データソース用に公開されたプライベートエンドポイントサービスに接続するため、トラフィックがパブリックインターネットに公開されることはありません。

サポートされるパターン

パターン 適用される場合 サービス アタッチメント
ネイティブ PSC Google Cloud SQL、AlloyDB、Google Cloud Managed Service for Apache Kafka など、PSC サービス アタッチメントを自動的に公開するマネージドサービス。 インスタンスで PSC を有効にすると自動的に作成されます。
プロデューサー所有の PSC Compute Engine 上の Postgres や、プライベート IP 経由でのみアクセス可能なマネージドサービスなど、サービス アタッチメントを公開しないデータソース。 ユーザーが作成・管理します。

前提条件

  • GCP でホストされる ClickHouse Cloud サービス。ClickPipes は、一部の例外を除き、ClickHouse Cloud サービスと同じリージョンで実行されます。
  • ソースで PSC を有効にし、PSC サービスアタッチメントを管理するための IAM 権限 (roles/compute.networkAdmin) 。
  • サービスアタッチメントへの接続を許可されたClickPipes コンシューマープロジェクト (clickpipes-production)。
  • ClickPipes をプログラムでプロビジョニングする場合: サービスを所有する組織の ClickHouse Cloud API キー。

リバース プライベート エンドポイントを作成する

RPE を作成するには、データソースについて次の情報が必要です。

  • サービス アタッチメント URI: projects/<PROJECT>/regions/<REGION>/serviceAttachments/<NAME>。データソースの前段に公開されている PSC エンドポイントです。
  • private DNS 名: パイプの接続先ホスト名です。PSC エンドポイントには DNS 名が紐付かない静的な内部 IP が割り当てられるため、ClickPipes がこのホスト名をその IP に解決します。
  1. ClickHouse Cloud でサービスを開き、Data Sources > ClickPipes に移動します。
  2. 取り込み元のデータソースを選択します。
  3. Setup your ClickPipe connectionUse secure connection をオンにし、+ Reverse private endpoint をクリックして GCP PSC service attachment を選択します。
  4. サービス アタッチメント URIprivate DNS 名説明 を入力します。
  5. Create をクリックします。エンドポイントの状態は ProvisioningReady と遷移します。 (ネイティブ PSC は自動承認されるため、PendingAcceptance は表示されません。)

カスタム プライベート DNS 名

GCP PSC では DNS が伝播されないため、ClickPipes がエンドポイントの静的な内部 IP に解決できるよう、すべての GCP PSC エンドポイントにカスタム private DNS マッピングが必要です。

標準の ClickPipes カスタム プライベート DNS 命名規則が適用されます。ワイルドカードのサポート、service の リバースプライベートエンドポイント 間での一意性、予約済み接尾辞に関する制限は、すべての provider で同じように適用されます。ワイルドカードは特に便利です。たとえば*.<cluster>.<region>.managedkafka.<project>.cloud.goog のような単一のマッピングで、Managed Kafka クラスター内のすべての broker を対象にできます。

GCP PSC では、マッピングの privateDnsName のみが使用されます。PSC エンドポイントは、紐付ける DNS 名のない静的 IP を公開するため、internalDNSName フィールドはサポートされません。マッピングは常にその IP に解決されます。

プロデューサー所有の接続を承認する

プロデューサー所有 PSC では、接続を自動的に承認するため、ClickPipes コンシューマープロジェクト (clickpipes-production) をサービスアタッチメントの自動承認リストに追加します。これを省略すると、手動で承認するまで RPE は PendingAcceptance のままとなります。

接続を承認するには、サービスアタッチメントのコンシューマー承認リストに、エンドポイントの数値 ID ベースの URI (projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID>) を追加する必要があります。サービスアタッチメント上の保留中の接続の endpointWithId 値を取得するには、次を実行します。

gcloud beta compute service-attachments describe <SERVICE_ATTACHMENT_NAME> \
  --region=<REGION> --project=<YOUR_PROJECT_ID> \
  --format='json(connectedEndpoints)'

statusPENDING のエントリの endpointWithId から https://www.googleapis.com/compute/beta/ プレフィックスを削除し、結果を --consumer-accept-list に渡します。

gcloud beta compute service-attachments update <SERVICE_ATTACHMENT_NAME> \
  --region=<REGION> --project=<YOUR_PROJECT_ID> \
  --consumer-accept-list=projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID> \
  --reconcile-connections

リバース プライベート エンドポイントの管理

既存のリバース プライベート エンドポイントは、ClickHouse Cloud サービスの設定で管理できます。

  1. ClickHouse Cloud コンソールのサイドバーで、Settings に移動します。

ClickPipe reverse private endpoints で、Reverse private endpoints をクリックします。

リバース プライベート エンドポイントの詳細情報がフライアウトに表示されます。ここから RPE を削除できます。エンドポイントの × をクリックし、削除を確認します。削除は永続的であり、そのエンドポイントを現在使用している ClickPipe はすべて機能しなくなります。

エンドポイントのカスタム private DNS マッピングを変更するには、Cloud API または Terraform を使用します。更新すると、マッピングが追加されるのではなく、マッピングのリスト全体が置き換えられます。

エンドポイントに Rejected または Failed と表示される場合は、ステータスの下にあるメッセージを確認してください。これにより、プロデューサーによって拒否された接続なのか、切断された接続または対応が必要な接続なのかを判別できます。通常、どちらの場合も、サービスアタッチメントの許可リストに ClickPipes コンシューマープロジェクトが含まれていないことを示します。エンドポイントについて GCP が報告するステータスを確認するには、サービスアタッチメントの connectedEndpoints を記述します。

既知の制限事項

  • PSC サービス アタッチメントを一度に要求できる ClickHouse Cloud サービスは 1 つだけであり、複数のサービス間で再利用することはできません。サービス アタッチメントを別のサービスに移動するには、既存の要求を解除するため、ClickHouse Support にお問い合わせください
Navigation