> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de rede privada do BYOC no GCP

> Configure VPC Peering ou Private Service Connect para BYOC no GCP

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

O ClickHouse BYOC no GCP oferece suporte a duas opções de conexão privada: VPC Peering e PSC (Private Service Connect).

<div id="common-prerequisites">
  ## Pré-requisitos
</div>

Etapas comuns necessárias para VPC peering e PSC.

<div id="step-enable-private-load-balancer-for-clickhouse-byoc">
  ### Habilitar o balanceador de carga privado para ClickHouse BYOC
</div>

No console do ClickHouse Cloud, habilite o **balanceador de carga privado** para sua infraestrutura BYOC.

<Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-private-load-balancer.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=c2d79269321210679ad00c0afe098632" size="md" alt="BYOC: habilitar balanceador de carga privado" border width="2438" height="1724" data-path="images/cloud/reference/byoc-private-load-balancer.webp" />

<div id="gcp-vpc-peering">
  ## Configurar VPC peering
</div>

Recomendamos que você se familiarize com o [recurso de VPC peering do GCP](https://docs.cloud.google.com/vpc/docs/vpc-peering) e observe as limitações do VPC peering (por exemplo, os intervalos de IP de sub-rede não podem se sobrepor entre redes VPC emparelhadas). O ClickHouse BYOC usa um balanceador de carga privado para permitir conectividade de rede por meio do peering com os serviços ClickHouse.

Para criar ou excluir VPC peering no ClickHouse BYOC, siga estas etapas:

<Note>
  As etapas de exemplo são para um cenário simples; em cenários avançados, como peering com conectividade on-premises, alguns ajustes podem ser necessários.
</Note>

<Steps>
  <Step title="Criar uma conexão de peering" id="step-1-create-a-peering-connection">
    Neste exemplo, estamos configurando peering entre a rede VPC do BYOC e outra rede VPC existente.

    1. Navegue até "VPC Network" no projeto do Google Cloud do ClickHouse BYOC.
    2. Selecione "VPC network peering".
    3. Clique em "Create connection".
    4. Preencha os campos necessários de acordo com seus requisitos. Abaixo está uma captura de tela da criação de um peering dentro do mesmo projeto do GCP.

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-gcp-1.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=155bdd685e897ec94710136a0a854a25" size="md" alt="BYOC Criar conexão de peering" border width="1552" height="1740" data-path="images/cloud/reference/byoc-vpcpeering-gcp-1.webp" />

    O VPC peering do GCP exige 2 conexões entre as 2 redes para funcionar (ou seja, uma conexão da rede BYOC para a rede VPC existente e uma conexão da rede VPC existente para a rede BYOC). Portanto, você também precisa criar mais 1 conexão no sentido inverso. Abaixo está uma captura de tela da criação da segunda conexão de peering:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-gcp-2.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=b05cc2c734703c8478000f6af4886913" size="md" alt="BYOC Aceitar conexão de peering" border width="1560" height="1744" data-path="images/cloud/reference/byoc-vpcpeering-gcp-2.webp" />

    Depois que ambas as conexões forem criadas, o status das 2 conexões deverá mudar para "Active" após atualizar a página do Google Cloud Console:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-vpcpeering-gcp-3.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=592aa5fa952cc7c4a3cf90cce941a33b" size="lg" alt="BYOC Aceitar conexão de peering" border width="3134" height="640" data-path="images/cloud/reference/byoc-vpcpeering-gcp-3.webp" />

    O serviço ClickHouse agora deve estar acessível a partir da VPC emparelhada.
  </Step>

  <Step title="Acessar o serviço ClickHouse por meio da conexão de peering" id="step-2-access-ch-service-via-peering">
    Para acessar o ClickHouse de forma privada, um balanceador de carga privado e um endpoint são provisionados para conectividade segura a partir da VPC emparelhada do usuário. O endpoint privado segue o formato do endpoint público com o sufixo `-private`. Por exemplo:

    * **Endpoint público**: `h5ju65kv87.mhp0y4dmph.us-east1.gcp.clickhouse-byoc.com`
    * **Endpoint privado**: `h5ju65kv87-private.mhp0y4dmph.us-east1.gcp.clickhouse-byoc.com`
  </Step>
</Steps>

<div id="setup-psc">
  ## Configure o PSC (Private Service Connect)
</div>

O PSC (Private Service Connect) do GCP oferece uma conexão segura e privada aos seus serviços ClickHouse BYOC, sem a necessidade de VPC peering ou gateways de internet. Todo o tráfego permanece na rede do GCP, garantindo que nunca passe pela internet pública.

<Steps>
  <Step title="Habilitar o link privado no console do ClickHouse" id="step-1-enable-private-link">
    <Note>
      Certifique-se de que o **balanceador de carga privado** esteja ativado como pré-requisito.
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-privatelink.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=0cce402678608f2f392274290212c7cb" size="md" alt="Habilitar BYOC PrivateLink" width="2800" height="1848" data-path="images/cloud/reference/byoc-privatelink.webp" />
  </Step>

  <Step title={<>Obter o <code>Service name</code> do endpoint</>} id="step-2-obtain-endpoint-service-name">
    1. No console do ClickHouse Cloud, acesse a página Settings do serviço ao qual deseja se conectar via PSC.
    2. Clique em "Set up private endpoint".
    3. No painel lateral exibido, copie os valores de `Service name` e `DNS name` — você os usará na próxima etapa. (Pode levar algum tempo para que os valores sejam gerados após a habilitação do link privado.)
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/1eeX3TpI5_hf7pMs/images/cloud/security/gcp-privatelink-pe-create.webp?fit=max&auto=format&n=1eeX3TpI5_hf7pMs&q=85&s=69067518eadb371baff190537f63e430" size="md" alt="Endpoints privados" border width="1368" height="719" data-path="images/cloud/security/gcp-privatelink-pe-create.webp" />
  </Step>

  <Step title="Criar um endpoint na sua rede" id="step-3-create-endpoint">
    1. Abra seu **próprio console do GCP** (isto é, a conta do GCP em que sua aplicação cliente está) → Network Services → Private Service Connect → Connected Endpoints.

    2. Abra a caixa de diálogo de criação do Private Service Connect clicando no botão "Connect Endpoint".
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/1eeX3TpI5_hf7pMs/images/cloud/security/gcp-psc-open.webp?fit=max&auto=format&n=1eeX3TpI5_hf7pMs&q=85&s=f4ae28bfa6d8ab4b217e56a28361370c" size="md" alt="Abrir o Private Service Connect no console do Google Cloud" border width="1892" height="737" data-path="images/cloud/security/gcp-psc-open.webp" />

    3. Preencha os seguintes campos:
       * **Target**: use `Published service`
       * **Target service**: use o `Service name` obtido na etapa anterior
       * **Endpoint name**: insira um nome válido para o endpoint
       * **Network/Subnetwork**: escolha a rede que deseja usar para a conexão; é dessa rede que sua aplicação cliente se conectará
       * **IP address**: escolha ou crie um novo endereço IP para o endpoint; esse endereço IP será usado na etapa [Definir nome DNS privado para o endpoint](#step-5-set-private-dns-name-for-endpoint)
       * (opcional) **Enable global access**: habilite esta opção se quiser disponibilizar o endpoint em qualquer região
             <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/1eeX3TpI5_hf7pMs/images/cloud/security/gcp-psc-enable-global-access.webp?fit=max&auto=format&n=1eeX3TpI5_hf7pMs&q=85&s=a1f4b9a87ea78645d2a66285e2e49bac" size="md" alt="Habilitar acesso global para o Private Service Connect" border width="545" height="660" data-path="images/cloud/security/gcp-psc-enable-global-access.webp" />
       * Clique no botão "ADD ENDPOINT" para criar o endpoint.

    4. A coluna Status mudará de Pending para Accepted quando a conexão for aprovada.

    5. Depois de criar o endpoint, copie o valor de `PSC Connection ID` — você o usará na próxima etapa.
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/1eeX3TpI5_hf7pMs/images/cloud/security/gcp-psc-copy-connection-id.webp?fit=max&auto=format&n=1eeX3TpI5_hf7pMs&q=85&s=bb533eebfa2d6123aeb5898cd0cd1413" size="md" alt="Copiar o ID da conexão PSC" border width="1441" height="116" data-path="images/cloud/security/gcp-psc-copy-connection-id.webp" />
  </Step>

  <Step title={<>Adicionar o <code>Endpoint ID</code> à lista de permissões do serviço ClickHouse</>} id="step-4-add-endpoint-id-to-services-allow-list">
    1. No console do ClickHouse Cloud, acesse a página Settings do serviço ao qual deseja se conectar via PSC.
    2. Clique em "Set up private endpoint".
    3. No painel lateral exibido, insira o `PSC Connection ID` obtido na etapa anterior no campo `Endpoint ID` e, opcionalmente, adicione uma descrição.
    4. Clique em "Create endpoint".

    <Note>
      Se quiser permitir o acesso de uma conexão PSC existente, use o menu suspenso de endpoints existentes.
      O menu suspenso exibirá as conexões PSC existentes com serviços na mesma infraestrutura.
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/1eeX3TpI5_hf7pMs/images/cloud/security/gcp-privatelink-pe-filters.webp?fit=max&auto=format&n=1eeX3TpI5_hf7pMs&q=85&s=441e6d16123cd4ced5761fd300281d22" size="md" alt="Filtro de endpoints privados" border width="1367" height="768" data-path="images/cloud/security/gcp-privatelink-pe-filters.webp" />
  </Step>

  <Step title="Definir nome DNS privado para o endpoint" id="step-5-set-private-dns-name-for-endpoint">
    <Note>
      Há várias maneiras de configurar o DNS. Configure-o de acordo com seu caso de uso específico.
    </Note>

    É necessário apontar todos os subdomínios (curinga) do "DNS name" para o endereço IP do endpoint PSC do GCP. Isso garante que os serviços/componentes na sua VPC/rede possam resolvê-lo corretamente.
  </Step>

  <Step title="Acessar uma instância usando PSC" id="step-6-connect-via-psc">
    1. No console do ClickHouse Cloud, acesse a página Settings do serviço.
    2. Clique em "Set up private endpoint".
    3. No painel lateral exibido, copie o `DNS name`.
           <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/1eeX3TpI5_hf7pMs/images/cloud/security/gcp-privatelink-pe-dns.webp?fit=max&auto=format&n=1eeX3TpI5_hf7pMs&q=85&s=0a877dd5746f9149c394c16d9de89916" size="md" alt="Nome DNS do endpoint privado" border width="1367" height="768" data-path="images/cloud/security/gcp-privatelink-pe-dns.webp" />
           <Note>
             O acesso aos serviços ClickHouse via PSC é controlado pela **Istio Authorization Policy** no nível do serviço, gerenciada pelo ClickHouse em sua infraestrutura BYOC.
           </Note>
  </Step>
</Steps>
