> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração personalizada na AWS

> Implante o ClickHouse BYOC na sua VPC existente na AWS

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>;
};

<div id="customer-managed-vpc-aws">
  ## VPC gerenciada pelo cliente (BYO-VPC) para AWS
</div>

Se você prefere usar uma VPC existente para implantar o ClickHouse BYOC, em vez de deixar que o ClickHouse Cloud provisione uma nova VPC, siga as etapas abaixo. Essa abordagem oferece maior controle sobre a configuração da rede e permite integrar o ClickHouse BYOC à infraestrutura de rede existente.

<Steps>
  <Step title="Configure sua VPC existente" id="configure-existing-vpc">
    1. Adicione a tag `clickhouse-byoc="true"` à VPC.
    2. Aloque pelo menos 3 sub-redes privadas em 3 zonas de disponibilidade diferentes para uso do ClickHouse Cloud.
    3. Certifique-se de que cada sub-rede tenha um intervalo CIDR mínimo de `/23` (por exemplo, 10.0.0.0/23) para fornecer endereços IP suficientes para a implantação do ClickHouse.
    4. Adicione as tags `kubernetes.io/role/internal-elb=1` e `clickhouse-byoc="true"` a cada sub-rede para permitir a configuração correta do balanceador de carga.

    <Image img="https://mintcdn.com/private-7c7dfe99/Ph2XgLY43sq6v4yO/images/cloud/reference/byoc-subnet-1.webp?fit=max&auto=format&n=Ph2XgLY43sq6v4yO&q=85&s=ca8491785aa957ce48e7826dadbd156d" size="lg" alt="Sub-rede da VPC BYOC" width="1600" height="827" data-path="images/cloud/reference/byoc-subnet-1.webp" />

    <Image img="https://mintcdn.com/private-7c7dfe99/Ph2XgLY43sq6v4yO/images/cloud/reference/byoc-subnet-2.webp?fit=max&auto=format&n=Ph2XgLY43sq6v4yO&q=85&s=4534989000d14a7b56e404febe355423" size="lg" alt="Tags da sub-rede da VPC BYOC" width="1600" height="406" data-path="images/cloud/reference/byoc-subnet-2.webp" />
  </Step>

  <Step title="Configure o endpoint de gateway do S3" id="configure-s3-endpoint">
    Se sua VPC ainda não tiver um endpoint de gateway do S3 configurado, será necessário criar um para habilitar a comunicação segura e privada entre sua VPC e o Amazon S3. Esse endpoint permite que seus serviços do ClickHouse acessem o S3 sem passar pela internet pública. Consulte a captura de tela abaixo para ver um exemplo de configuração.

    <Image img="https://mintcdn.com/private-7c7dfe99/Ph2XgLY43sq6v4yO/images/cloud/reference/byoc-s3-endpoint.webp?fit=max&auto=format&n=Ph2XgLY43sq6v4yO&q=85&s=7413b52f024d68d7c9807f25bbc1209c" size="lg" alt="Endpoint S3 do BYOC" width="1711" height="1559" data-path="images/cloud/reference/byoc-s3-endpoint.webp" />
  </Step>

  <Step title="Garanta a conectividade de rede" id="ensure-network-connectivity">
    **Acesso de saída à internet**
    Sua VPC deve permitir pelo menos acesso de saída à internet para que os componentes do ClickHouse BYOC possam se comunicar com o plano de controle do Tailscale. O Tailscale é usado para fornecer uma rede segura de confiança zero para operações privadas de gerenciamento. O registro inicial e a configuração com o Tailscale exigem conectividade com a internet pública, que pode ser obtida diretamente ou por meio de um NAT gateway. Essa conectividade é necessária para manter a privacidade e a segurança da sua implantação BYOC.

    **Resolução de DNS**
    Certifique-se de que sua VPC tenha resolução de DNS funcional e não bloqueie, interfira nem sobrescreva nomes DNS padrão. O ClickHouse BYOC depende de DNS para resolver os servidores de controle do Tailscale e os endpoints de serviço do ClickHouse. Se o DNS não estiver disponível ou estiver configurado incorretamente, os serviços BYOC poderão falhar ao se conectar ou operar corretamente.
  </Step>

  <Step title="Configure sua conta AWS" id="configure-aws-account">
    A configuração inicial do BYOC cria uma função do IAM privilegiada (`ClickHouseManagementRole`) que permite que os controladores BYOC do ClickHouse Cloud gerenciem sua infraestrutura. Isso pode ser feito usando um [template do CloudFormation](https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/cf-templates/byoc.yaml) ou um [módulo do Terraform](https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/tf/byoc.tar.gz).

    Ao implantar uma configuração `BYO-VPC`, defina o parâmetro `IncludeVPCWritePermissions` como `false` para garantir que o ClickHouse Cloud não receba permissões para modificar sua VPC gerenciada pelo cliente.

    <Note>
      Storage buckets, Kubernetes cluster, and compute resources required for running ClickHouse aren't included in this initial setup. They will be provisioned in a later step. While you control your VPC, ClickHouse Cloud still requires IAM permissions to create and manage the Kubernetes cluster, IAM roles for service accounts, S3 buckets, and other essential resources in your AWS account.
    </Note>

    #### Módulo alternativo do Terraform

    Se você preferir usar Terraform em vez de CloudFormation, use o seguinte módulo:

    ```hcl theme={null}
    module "clickhouse_onboarding" {
      source                     = "https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/tf/byoc.tar.gz"
      byoc_env                   = "production"
      include_vpc_write_permissions = false
    }
    ```
  </Step>

  <Step title="Configure a infraestrutura do BYOC" id="set-up-byoc-infrastructure">
    No console do ClickHouse Cloud, configure o seguinte ao configurar uma nova infraestrutura:

    1. Em **Configuração da VPC**, selecione **Usar VPC existente**.
    2. Insira o **ID da VPC** (por exemplo, `vpc-0bb751a5b888ad123`).
    3. Insira os **IDs das sub-redes privadas** das 3 sub-redes que você configurou anteriormente.
    4. Opcionalmente, insira os **IDs das sub-redes públicas** se sua configuração exigir balanceadores de carga voltados para a internet.
    5. Clique em **Configurar infraestrutura** para iniciar o provisionamento.

    <Image img="https://mintcdn.com/private-7c7dfe99/REHSqgCLT_igIuJP/images/cloud/reference/byoc-aws-existing-vpc-ui.webp?fit=max&auto=format&n=REHSqgCLT_igIuJP&q=85&s=2749bf6db36338fa3f0fd889c41ee6f8" size="lg" alt="UI de configuração do BYOC no ClickHouse Cloud com Usar VPC existente selecionado" width="1392" height="1598" data-path="images/cloud/reference/byoc-aws-existing-vpc-ui.webp" />

    <Note>
      A configuração de uma nova região pode levar até 40 minutos.
    </Note>
  </Step>
</Steps>

<div id="customer-managed-iam-roles">
  ## IAM roles gerenciados pelo cliente
</div>

Para organizações com requisitos avançados de segurança ou políticas rígidas de compliance, você pode fornecer seus próprios IAM roles em vez de deixar que o ClickHouse Cloud os crie. Essa abordagem dá a você controle total sobre as permissões do IAM e permite aplicar as políticas de segurança da sua organização.

<Info>
  IAM roles gerenciados pelo cliente estão em prévia privada. Entre em contato com o suporte do ClickHouse para habilitar esse recurso para sua organização antes de seguir as etapas abaixo.
</Info>

Com IAM roles gerenciados pelo cliente, você:

* Cria antecipadamente os IAM roles por infraestrutura que, de outra forma, seriam criados pelo ClickHouse Cloud
* Remove as permissões de gravação do IAM do `ClickHouseManagementRole` usado para acesso entre contas
* Mantém controle total sobre as permissões dos roles e as relações de confiança

<Steps>
  <Step title="Configurar o role de gerenciamento sem permissões de gravação do IAM" id="byo-iam-management-role">
    Ao realizar a [configuração inicial do BYOC](/docs/pt-BR/cloud/reference/byoc/onboarding/standard), desative as permissões de gravação do IAM no role de gerenciamento. Com o template do CloudFormation, defina o parâmetro `IncludeIAMWritePermissions` como `false`. Com o módulo do Terraform:

    ```hcl theme={null}
    module "clickhouse_onboarding" {
      source                        = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws?ref=<version>"
      external_id                   = "<external-id-provided-by-clickhouse>"
      include_iam_write_permissions = false
    }
    ```

    Substitua `<version>` pela tag mais recente na [página de lançamentos](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) do módulo — use sempre o lançamento mais recente.
  </Step>

  <Step title="Criar os IAM roles por infraestrutura" id="byo-iam-per-infra-roles">
    Antes de cada infraestrutura BYOC ser provisionada, crie os IAM roles necessários (roles de identidade de pod do EKS, o role de acesso S3 do ClickHouse e o role de gerenciamento do plano de dados) com o módulo por infraestrutura do [terraform-byoc-onboarding](https://github.com/ClickHouse/terraform-byoc-onboarding):

    ```hcl theme={null}
    module "clickhouse_per_infra_iam" {
      source = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws-per-infra-iam?ref=<version>"

      spoken_name = "<spoken-name-provided-by-clickhouse>"
      region      = "<aws-region-of-the-infrastructure>"
      external_id = "<external-id-provided-by-clickhouse>"
    }
    ```

    Substitua `<version>` pela tag mais recente na [página de lançamentos](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) do módulo — use sempre o lançamento mais recente.
  </Step>

  <Step title="Manter os roles por infraestrutura atualizados" id="byo-iam-keep-up-to-date">
    <Warning>
      O ClickHouse adiciona periodicamente roles e permissões exigidos por novos recursos da plataforma. Quando o ClickHouse notificar você sobre uma atualização, reaplique o módulo por infraestrutura no lançamento mais recente — executar uma versão desatualizada pode fazer com que o provisionamento e os upgrades da sua infraestrutura BYOC falhem.
    </Warning>
  </Step>
</Steps>

Para informações sobre os IAM roles que o ClickHouse Cloud cria por padrão, consulte a [Referência de privilégios do BYOC](/docs/pt-BR/products/bring-your-own-cloud/reference/privilege).
