> ## 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.

# Configuración personalizada en AWS

> Despliegue ClickHouse BYOC en su VPC de AWS existente

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 gestionada por el cliente (BYO-VPC) para AWS
</div>

Si prefiere usar una VPC existente para implementar ClickHouse BYOC, en lugar de que ClickHouse Cloud cree una nueva VPC, siga estos pasos. Este enfoque ofrece un mayor control sobre la configuración de red y le permite integrar ClickHouse BYOC en su infraestructura de red existente.

<Steps>
  <Step title="Configura tu VPC existente" id="configure-existing-vpc">
    1. Etiqueta la VPC con `clickhouse-byoc="true"`.
    2. Asigna exactamente 3 subredes privadas en 3 zonas de disponibilidad distintas para que las use ClickHouse Cloud.
    3. Asegúrate de que cada subred tenga un rango CIDR mínimo de `/25` (p. ej., 10.0.0.0/25). Un `/25` admite aproximadamente 10 nodos de servidor de ClickHouse por zona de disponibilidad; se recomienda `/24` para la mayoría de las implementaciones y subredes más grandes para las implementaciones que esperas ampliar. Las direcciones IP de los pods de Kubernetes se asignan desde la propia subred, por lo que cada réplica consume direcciones de la subred.
    4. Agrega las etiquetas `kubernetes.io/role/internal-elb=1` y `clickhouse-byoc="true"` a cada subred para habilitar la configuración correcta del balanceador de carga.

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

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/wrAOYL3DquclMwbQ/images/cloud/reference/byoc-subnet-2.webp?fit=max&auto=format&n=wrAOYL3DquclMwbQ&q=85&s=f50e3e13cf38f5552f52fcedf33e9c14" size="lg" alt="Etiquetas de subred de VPC de BYOC" width="1600" height="406" data-path="images/cloud/reference/byoc-subnet-2.webp" />
  </Step>

  <Step title="Configura el endpoint de gateway de S3" id="configure-s3-endpoint">
    Si tu VPC aún no tiene configurado un endpoint de gateway de S3, tendrás que crear uno para habilitar una comunicación segura y privada entre tu VPC y Amazon S3. Este endpoint permite que tus servicios de ClickHouse accedan a S3 sin pasar por internet pública. Consulta la captura de pantalla a continuación para ver una configuración de ejemplo.

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

  <Step title="Asegura la conectividad de red" id="ensure-network-connectivity">
    **Acceso saliente a internet**
    Tu VPC debe permitir al menos acceso saliente a internet para que los componentes de ClickHouse BYOC puedan comunicarse con el plano de control de Tailscale. Tailscale se utiliza para proporcionar una red segura de confianza cero para las operaciones privadas de administración. El registro y la configuración iniciales con Tailscale requieren conectividad a internet pública, ya sea directamente o mediante un gateway NAT. Esta conectividad es necesaria para mantener tanto la privacidad como la seguridad de tu despliegue de BYOC.

    **Resolución DNS**
    Asegúrate de que tu VPC tenga una resolución DNS funcional y de que no bloquee, interfiera ni sobrescriba los nombres DNS estándar. ClickHouse BYOC depende de DNS para resolver los servidores de control de Tailscale y los endpoints del servicio de ClickHouse. Si DNS no está disponible o está mal configurado, es posible que los servicios de BYOC no puedan conectarse o funcionar correctamente.
  </Step>

  <Step title="Configura tu cuenta de AWS" id="configure-aws-account">
    La configuración inicial de BYOC crea un rol de IAM con privilegios (`ClickHouseManagementRole`) que permite a los controladores de BYOC de ClickHouse Cloud administrar tu infraestructura. Esto puede hacerse con una [plantilla de CloudFormation](https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/cf-templates/byoc_v2.yaml) o un módulo de Terraform (consulta más abajo).

    <Warning>
      **El nombre del rol de IAM es un requisito estricto.** El rol debe conservar su nombre predeterminado, `ClickHouseManagementRole`; no se permiten prefijos, sufijos ni cambios de nombre para cumplir con una convención de nomenclatura organizativa, a menos que ClickHouse haya acordado explícitamente un nombre diferente de antemano (la entrada de Terraform `role_name` solo debe cambiarse en coordinación con ClickHouse). Un rol con otro nombre se aplica correctamente, pero el aprovisionamiento falla posteriormente porque ClickHouse no puede asumir el rol esperado. En general, no cambies nada de la plantilla o el módulo proporcionados sin la aprobación explícita de ClickHouse; las personalizaciones admitidas se exponen como parámetros.
    </Warning>

    Al desplegar una configuración `BYO-VPC`, establece el parámetro `IncludeVPCWritePermissions` en `false` para asegurarte de que ClickHouse Cloud no reciba permisos para modificar tu VPC gestionada por el cliente.

    <Note>
      Los buckets de almacenamiento, el cluster de Kubernetes y los recursos de cómputo necesarios para ejecutar ClickHouse no se incluyen en esta configuración inicial. Se aprovisionarán en un paso posterior. Aunque controlas tu VPC, ClickHouse Cloud sigue requiriendo permisos de IAM para crear y administrar el cluster de Kubernetes, roles de IAM para service accounts, buckets de S3 y otros recursos esenciales de tu cuenta de AWS.
    </Note>

    #### Módulo de Terraform

    Si prefieres usar Terraform en lugar de CloudFormation, usa el módulo [terraform-byoc-onboarding](https://github.com/ClickHouse/terraform-byoc-onboarding):

    ```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_vpc_write_permissions = false
    }
    ```

    Reemplaza `<version>` por la etiqueta más reciente de la [página de releases](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) del módulo; usa siempre la release más reciente.

    El módulo genera `clickhouse_management_role_arn`. En el flujo estándar no necesitas realizar ninguna acción con él: el onboarding continúa en la consola de ClickHouse Cloud, pero tenlo a mano: ClickHouse te lo solicitará si tu configuración se desvía de los valores predeterminados (por ejemplo, si se coordina un nombre de rol personalizado).

    El valor de `external_id` lo genera la consola de ClickHouse Cloud y lo comparten todas las infraestructuras BYOC de la misma cuenta de AWS. Consulta [ID externo de AWS](/es/products/bring-your-own-cloud/onboarding/standard#aws-external-id) para obtener más información, incluido el placeholder heredado `emptyid`.

    <Note>
      El módulo se distribuía anteriormente como un tarball en `https://s3.us-east-2.amazonaws.com/clickhouse-public-resources.clickhouse.cloud/tf/byoc.tar.gz`. Esa URL sigue disponible, pero está obsoleta; usa el módulo de GitHub anterior.
    </Note>
  </Step>

  <Step title="Configura la infraestructura de BYOC" id="set-up-byoc-infrastructure">
    En la consola de ClickHouse Cloud, configura lo siguiente al configurar nueva infraestructura:

    1. En **Configuración de VPC**, selecciona **Use existing VPC**.
    2. Introduce tu **ID de VPC** (p. ej., `vpc-0bb751a5b888ad123`).
    3. Introduce los **ID de las subredes privadas** de las 3 subredes que configuraste antes.
    4. Opcionalmente, introduce los **ID de las subredes públicas** si tu configuración requiere balanceadores de carga con acceso público.
    5. Haz clic en **Set up Infrastructure** para comenzar el aprovisionamiento.

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/tyM7Sy7bE2MbONr4/images/cloud/reference/byoc-aws-existing-vpc-ui.webp?fit=max&auto=format&n=tyM7Sy7bE2MbONr4&q=85&s=d288edf1e15af74c277a2f43ccb5aaec" size="lg" alt="UI de configuración de BYOC de ClickHouse Cloud con Use existing VPC seleccionado" width="1182" height="1466" data-path="images/cloud/reference/byoc-aws-existing-vpc-ui.webp" />

    <Note>
      La configuración de una nueva región puede tardar hasta 40 minutos.
    </Note>
  </Step>
</Steps>

<div id="customer-managed-iam-roles">
  ## Roles de IAM gestionados por el cliente
</div>

Para las organizaciones con requisitos de seguridad avanzados o políticas de cumplimiento estrictas, puede proporcionar sus propios roles de IAM en lugar de que ClickHouse Cloud los cree. Este enfoque le brinda control total sobre los permisos de IAM y le permite aplicar las políticas de seguridad de su organización.

<Info>
  Los roles de IAM gestionados por el cliente están en vista previa privada. Póngase en contacto con el soporte de ClickHouse para habilitar esta funcionalidad para su organización antes de seguir los pasos que aparecen a continuación.
</Info>

Con roles de IAM gestionados por el cliente, usted:

* Crea de antemano los roles de IAM por infraestructura que, de otro modo, ClickHouse Cloud crearía
* Elimina los permisos de escritura de IAM del `ClickHouseManagementRole` usado para el acceso entre cuentas
* Mantiene control total sobre los permisos de los roles y las relaciones de confianza

Ambos módulos siguientes toman el `external_id` generado por la consola de ClickHouse Cloud; todas las infraestructuras de BYOC de la misma cuenta de AWS comparten el mismo ID externo. Consulte [ID externo de AWS](/es/products/bring-your-own-cloud/onboarding/standard#aws-external-id) para obtener más información, incluido el marcador de posición heredado `emptyid`.

<Steps>
  <Step title="Configurar el rol de administración sin permisos de escritura de IAM" id="byo-iam-management-role">
    Al realizar la [configuración inicial de BYOC](/es/products/bring-your-own-cloud/onboarding/standard), desactive los permisos de escritura de IAM en el rol de administración. Con la plantilla de CloudFormation, establezca el parámetro `IncludeIAMWritePermissions` en `false`. Con el módulo de 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
    }
    ```

    Sustituya `<version>` por la etiqueta más reciente de la [página de versiones](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) del módulo; use siempre la última versión.
  </Step>

  <Step title="Crear los roles de IAM por infraestructura" id="byo-iam-per-infra-roles">
    Antes de aprovisionar cada infraestructura de BYOC, cree los roles de IAM necesarios para ella (roles de identidad de pod de EKS, el rol de acceso de ClickHouse a S3 y el rol de administración del plano de datos) con el módulo por infraestructura de [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>"
    }
    ```

    Sustituya `<version>` por la etiqueta más reciente de la [página de versiones](https://github.com/ClickHouse/terraform-byoc-onboarding/releases) del módulo; use siempre la última versión.
  </Step>

  <Step title="Mantener actualizados los roles por infraestructura" id="byo-iam-keep-up-to-date">
    <Warning>
      ClickHouse añade periódicamente roles y permisos requeridos por nuevas funcionalidades de la plataforma. Cuando ClickHouse le notifique una actualización, vuelva a aplicar el módulo por infraestructura con la última versión; ejecutar una versión desactualizada puede hacer que fallen el aprovisionamiento y las actualizaciones de su infraestructura de BYOC.
    </Warning>
  </Step>
</Steps>

Para obtener información sobre los roles de IAM que ClickHouse Cloud crea de forma predeterminada, consulte la [Referencia de privilegios de BYOC](/es/products/bring-your-own-cloud/reference/privilege).
