Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Configuração personalizada na AWS

VPC gerenciada pelo cliente (BYO-VPC) para AWS

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.

Configure sua VPC existente

  1. Adicione a tag clickhouse-byoc="true" à VPC.
  2. Aloque exatamente 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 /25 (por exemplo, 10.0.0.0/25). Um /25 comporta aproximadamente 10 nós de servidor do ClickHouse por zona de disponibilidade; /24 é recomendado para a maioria das implantações, e sub-redes maiores para implantações que você espera expandir. Os endereços IP dos pods são alocados da própria sub-rede, portanto, cada réplica consome endereços da sub-rede.
  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.
Sub-rede da VPC BYOC
Tags da sub-rede da VPC BYOC

Configure o endpoint de gateway do S3

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.

Endpoint S3 do BYOC

Garanta a conectividade de rede

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.

Configure sua conta AWS

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 ou um módulo do Terraform (veja abaixo).

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.

Módulo do Terraform

Se você preferir usar Terraform em vez de CloudFormation, use o módulo terraform-byoc-onboarding:

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

Substitua <version> pela tag mais recente da página de lançamentos do módulo — use sempre o lançamento mais recente.

O módulo gera clickhouse_management_role_arn. No fluxo padrão, você não precisa fazer nada com ele — o onboarding continua no console do ClickHouse Cloud —, mas mantenha esse valor em mãos: o ClickHouse o solicitará se sua configuração divergir dos padrões (por exemplo, um nome de função personalizada coordenado).

O valor de external_id é gerado pelo console do ClickHouse Cloud e é compartilhado por todas as infraestruturas BYOC na mesma conta AWS. Consulte ID externo da AWS para obter detalhes, incluindo o placeholder emptyid legado.

Configure a infraestrutura do BYOC

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.
UI de configuração do BYOC no ClickHouse Cloud com Usar VPC existente selecionado

IAM roles gerenciados pelo cliente

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.

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

Ambos os módulos abaixo recebem o external_id gerado pelo ClickHouse Cloud console; todas as infraestruturas BYOC na mesma conta AWS compartilham o mesmo ID externo. Consulte ID externo da AWS para obter detalhes, incluindo o placeholder legado emptyid.

Configurar o role de gerenciamento sem permissões de gravação do IAM

Ao realizar a configuração inicial do BYOC, 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:

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 do módulo — use sempre o lançamento mais recente.

Criar os IAM roles por infraestrutura

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:

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 do módulo — use sempre o lançamento mais recente.

Manter os roles por infraestrutura atualizados

Para informações sobre os IAM roles que o ClickHouse Cloud cria por padrão, consulte a Referência de privilégios do BYOC.

Navigation