A conectividade por PSC do GCP está disponível apenas quando o serviço ClickPipes é implantado no GCP. Verifique a lista de regiões do GCP que hospedam o ClickPipes antes de começar.
Padrões compatíveis
Pré-requisitos
- Um serviço do ClickHouse Cloud hospedado no GCP, em uma região compatível com o ClickPipes.
- 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. Para o ClickPipes em produção, é
clickpipes-production. - A chave de API/Secret do ClickHouse Cloud da organização proprietária do serviço (necessário apenas se o provisionamento for feito pelo Terraform ou pela API).
Crie o endpoint privado reverso
- 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.
- Interface do ClickPipes
- Terraform
- API
- No ClickHouse Cloud, abra seu serviço e acesse Fontes de dados > ClickPipes.
- Selecione a fonte de dados da qual deseja fazer a ingestão.
- 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.
- Preencha o URI do anexo de serviço, o Nome DNS privado e uma Descrição.
- Clique em Criar. O endpoint passa pelos estados
Provisioning→Ready. (O PSC nativo aceita automaticamente, portanto, você não veráPendingAcceptance.)
Nomes DNS privados personalizados
*.<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
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>). Esse valor é o endpointWithId da conexão pendente no anexo de serviço — descreva-o para localizá-lo:
endpointWithId da entrada cujo status é PENDING, remova o prefixo https://www.googleapis.com/compute/beta/ e passe o resultado para --consumer-accept-list:
Gerenciamento de endpoints privados reversos
-
Na barra lateral, localize o botão
Settingse clique nele. -
Clique em
Reverse private endpointsna seçãoClickPipe reverse private endpoints. Informações detalhadas sobre o endpoint privado reverso são exibidas no flyout. Esta visualização é somente leitura, exceto pela exclusão: clique no×de um endpoint e confirme a exclusão. A exclusão é permanente e interrompe qualquer ClickPipe que esteja usando esse endpoint. Para alterar os mapeamentos personalizados de DNS privado de um endpoint, use a API ou o Terraform. A atualização substitui toda a lista de mapeamentos, em vez de adicionar novos mapeamentos a ela.
Rejected ou Failed, leia a mensagem exibida no status: ela diferencia uma conexão rejeitada pelo produtor de uma conexão encerrada 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
- O endpoint RPE e o anexo de serviço devem estar na mesma região do GCP. O PSC entre regiões via acesso global ainda não é compatível. Use túnel SSH se sua fonte estiver em outra região.
- 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.