Configurar una VPC compartida

Cloud Composer 1 | Cloud Composer 2

En esta página, se describen los requisitos de proyecto host y de la red de VPC compartida para Cloud Composer.

La VPC compartida permite a las organizaciones establecer límites de presupuesto y control de acceso a nivel de proyecto, al mismo tiempo que permite una comunicación segura y eficiente mediante IP privadas en esos límites. En la configuración de la VPC compartida, Cloud Composer puede invocar servicios alojados en otros proyectos de Google Cloud en la misma organización sin exponer los servicios a la Internet pública.

Lineamientos para la VPC compartida

Proyectos de servicio y de host para Cloud Composer
Figura 1: Proyectos de servicio y host para Cloud Composer
  • La VPC compartida requiere que designes un proyecto host al que pertenecen las redes y subredes, y un proyecto de servicio, que se adjunta al proyecto host. Cuando Cloud Composer participa en una VPC compartida, el entorno de Cloud Composer está en el proyecto de servicio.

  • Para configurar la VPC compartida, selecciona los siguientes rangos de IP en el proyecto host:

    • El rango de IP principal de la subred que usan los nodos de GKE que Cloud Composer usa como su capa de Compute Engine.
    • Rango de IP secundario para servicios de GKE
    • Rango de IP secundario para pods de GKE
  • Los rangos de IP secundarios no pueden superponerse con ningún otro rango secundario en esta VPC.

  • Asegúrate de que los rangos secundarios sean lo suficientemente grandes como para admitir el tamaño del clúster y el crecimiento anticipado.

    Los prefijos de red de los rangos secundarios no se pueden aumentar por encima de los siguientes valores. Especifica prefijos de red que sean iguales o inferiores a estos valores. Especificar valores más bajos da como resultado rangos de CIDR más grandes.

    - Pods: `/21`
    - Services: `/27`
    

    Consulta Crea un clúster nativo de la VPC si deseas obtener lineamientos para configurar rangos secundarios para pods y servicios.

  • El rango de direcciones principal de la subred debe adaptarse al crecimiento previsto y debe tener en cuenta las direcciones IP reservadas.

    El prefijo de red del rango de direcciones principal de la subred no se puede aumentar por encima de /29. Especifica un prefijo de red que sea igual o inferior a este valor. Especificar un valor menor da como resultado un rango de CIDR más grande.

Preparación

  1. Encuentra los siguientes ID y números de proyecto:

    • Proyecto host: el proyecto que contiene la red de VPC compartida.
    • Proyecto de servicio: El proyecto que contiene el entorno de Cloud Composer.
  2. Prepara tu organización.

  3. Habilita la API de GKE en los proyectos host y de servicio.

Configura el proyecto host

Configura el proyecto host como se describe con más detalle.

Configura recursos de herramientas de redes

Elige una de las siguientes opciones para asignar y configurar los recursos de herramientas de redes. En cada opción, debes nombrar los rangos de IP secundarios para pods y servicios.

Configura la VPC compartida y vincula el proyecto de servicio

  1. Si aún no lo hiciste, configura una VPC compartida. Si ya configuraste la VPC compartida, ve al siguiente paso.

  2. Vincula el proyecto de servicio, que usarás para alojar entornos de Cloud Composer.

    Cuando adjuntes un proyecto, deja los permisos de red de VPC predeterminados en su lugar.

Editar permisos para la cuenta de servicio API de Google

En el proyecto host, edita los permisos para la cuenta de servicio de las API de Google, SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

Para esta cuenta, agrega otra función, compute.networkUser a nivel de proyecto. Este es un requisito para los grupos de instancias administrados que se usan con la VPC compartida porque este tipo de cuenta de servicio realiza tareas como la creación de instancias.

Edita los permisos para las cuentas de servicio de GKE

En el proyecto host, edita los permisos para las cuentas de servicio de GKE, service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com.

Para cada cuenta de servicio, agrega otra función, compute.networkUser.

Este permiso se debe otorgar a nivel de subred para permitir que una cuenta de servicio configure los intercambios de tráfico de VPC que requiere Cloud Composer.

Edita los permisos para la cuenta de servicio de GKE del proyecto de servicio

En el proyecto host, edita los permisos para la cuenta de servicio de GKE del proyecto de servicio.

Para esta cuenta, agrega otra función, Host Service Agent User.

Esto permite que la cuenta de servicio de GKE del proyecto de servicio use la cuenta de servicio de GKE del proyecto host para configurar los recursos de la red compartida.

Configura la conectividad a *.pkg.dev

En el proyecto host, asegúrate de que el DNS *.pkg.dev se resuelva en 199.36.153.4/30.

Para ello, crea una zona nueva como: CNAME *.pkg.dev -> pkg.dev. A pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7

Editar permisos para la cuenta de servicio del agente de Composer

  1. En el proyecto host, si este es el primer entorno de Cloud Composer, aprovisiona la cuenta de servicio del agente de Composer: gcloud beta services identity create --service=composer.googleapis.com.

  2. En el proyecto host ocurre lo siguiente:

    1. Editar permisos para la cuenta de servicio del agente de Composer, service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)

    2. Para esta cuenta, agrega otra función:

      • Para los entornos de IP privada, agrega la función Composer Shared VPC Agent.

      • Para entornos de IP públicas, agrega la función Compute Network User.

Completaste la configuración de la red de VPC compartida para el proyecto host.

¿Qué sigue?