Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

GCP Private Service Connect para ClickPipes

Você pode usar o GCP Private Service Connect (PSC) para estabelecer uma conexão segura entre o ClickPipes e uma fonte de dados hospedada no GCP. O ClickPipes cria um endpoint privado reverso (RPE) na sua VPC e o aponta para um serviço de endpoint privado publicado para a sua fonte de dados, garantindo que o tráfego nunca seja exposto à internet pública.

Padrões compatíveis

Padrão Quando se aplica Anexo de serviço
PSC nativo Serviços gerenciados que publicam automaticamente um anexo de serviço PSC (por exemplo, Google Cloud SQL, AlloyDB, Google Cloud Managed Service for Apache Kafka). Criado automaticamente quando você ativa o PSC na instância.
PSC controlado pelo produtor Fontes de dados que não publicam um anexo de serviço, como o Postgres no Compute Engine ou um serviço gerenciado acessível apenas por IP privado. Criado e gerenciado por você.

Pré-requisitos

  • Um serviço do ClickHouse Cloud hospedado no GCP. O ClickPipes é executado na mesma região que seu serviço do ClickHouse Cloud (com algumas exceções).
  • Permissões do IAM para habilitar o PSC na sua origem e gerenciar anexos de serviço do PSC (roles/compute.networkAdmin).
  • O projeto consumidor do ClickPipes autorizado a se conectar ao seu anexo de serviço (clickpipes-production).
  • Se você estiver provisionando o ClickPipes programaticamente: uma chave de API do ClickHouse Cloud para a organização proprietária do serviço.

Crie o endpoint privado reverso

Para criar um RPE, você precisa das seguintes informações sobre sua fonte de dados:

  • URI do anexo de serviço: projects/<PROJECT>/regions/<REGION>/serviceAttachments/<NAME>, o endpoint PSC publicado em frente à sua fonte de dados.
  • Nome DNS privado: o hostname ao qual seu pipe se conecta. Um endpoint PSC recebe um IP interno estático sem um nome DNS associado. Por isso, o ClickPipes resolve esse hostname para esse IP.
  1. No ClickHouse Cloud, abra seu serviço e acesse Fontes de dados > ClickPipes.
  2. Selecione a fonte de dados da qual deseja fazer a ingestão.
  3. Em Configure sua conexão do ClickPipe, ative Usar conexão segura, clique em + Endpoint privado reverso e escolha Anexo de serviço do GCP PSC.
  4. Preencha o URI do anexo de serviço, o Nome DNS privado e uma Descrição.
  5. Clique em Criar. O endpoint passa pelos estados ProvisioningReady. (O PSC nativo aceita automaticamente, portanto, você não verá PendingAcceptance.)

Nomes DNS privados personalizados

Como o GCP PSC não propaga DNS, um mapeamento personalizado de DNS privado é necessário para cada endpoint PSC do GCP para que o ClickPipes possa resolvê-lo para o IP interno estático do endpoint.

Aplicam-se as regras padrão de nomenclatura de DNS privado personalizado do ClickPipes: o suporte a curingas, a exclusividade entre os endpoints privados reversos de um serviço e as restrições a sufixos reservados são aplicados de forma idêntica por todos os provedores. Os curingas são especialmente úteis, por exemplo, um único mapeamento como *.<cluster>.<region>.managedkafka.<project>.cloud.goog abrange todos os brokers de um cluster Kafka gerenciado.

Para o GCP PSC, apenas o privateDnsName do mapeamento é usado. O campo internalDNSName não é compatível, pois um endpoint PSC expõe um IP estático sem nome DNS ao qual possa ser associado — os mapeamentos sempre são resolvidos para esse IP.

Aprovando conexões controladas pelo produtor

Para PSC controlado pelo produtor, adicione o projeto consumidor do ClickPipes (clickpipes-production) à lista de aceitação automática do anexo de serviço para que a conexão seja aceita automaticamente. Caso contrário, o RPE permanecerá em PendingAcceptance até que você o aprove manualmente.

Para aceitar a conexão, a lista de aceitação de consumidores do anexo de serviço precisa do URI do endpoint baseado em ID numérico (projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID>). Para obter o valor de endpointWithId da conexão pendente no anexo de serviço, execute:

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

Use o endpointWithId da entrada cujo status é PENDING, remova o prefixo https://www.googleapis.com/compute/beta/ e passe o resultado para --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

Gerenciando endpoints privados reversos

Você pode gerenciar endpoints privados reversos existentes nas configurações do serviço ClickHouse Cloud:

  1. Na barra lateral do console do ClickHouse Cloud, acesse Settings.

Em ClickPipe reverse private endpoints, clique em Reverse private endpoints.

Informações detalhadas sobre o endpoint privado reverso são exibidas no flyout. Nessa visualização, é possível excluir RPEs: clique no × de um endpoint e confirme a exclusão. A exclusão é permanente e interromperá qualquer ClickPipe que esteja usando esse endpoint.

Para alterar os mapeamentos personalizados de DNS privado de um endpoint, use a Cloud API ou o Terraform. A atualização substitui a lista completa de mapeamentos, em vez de adicionar itens a ela.

Se um endpoint mostrar Rejected ou Failed, leia a mensagem exibida em seu status: ela diferencia uma conexão rejeitada pelo produtor de uma que foi fechada ou que requer atenção. Ambos geralmente indicam que a lista de aceitação do anexo de serviço não inclui o projeto consumidor do ClickPipes. Para ver o status informado pelo GCP para o endpoint, descreva os connectedEndpoints do anexo de serviço.

Limitações conhecidas

  • Um anexo de serviço do PSC só pode ser associado a um serviço do ClickHouse Cloud por vez; ele não pode ser reutilizado em vários serviços. Para mover um anexo de serviço para outro serviço, entre em contato com o suporte do ClickHouse para liberar a associação existente.
Navigation