Configurar herramientas de redes de VPC compartidas

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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 que las organizaciones establezcan límites de presupuesto y de control de acceso a nivel de proyecto y, al mismo tiempo, posibilita 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 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 una VPC compartida, selecciona los siguientes rangos de IP en el proyecto host:

    • Rango de IP principal de la subred que usan los nodos de GKE que Cloud Composer usa como capa 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 para adaptar el tamaño del clúster y el escalamiento de tu entorno.

    Consulta Crea un clúster nativo de la VPC a fin de obtener pautas sobre la configuración de 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 inutilizables.

  • Si usas el Agente de enmascaramiento de IP y la configuración de IP privada para tus entornos y, luego, agrega los rangos de IP de los nodos y Pods a la sección nonMasqueradeCIDRs del el ConfigMap de ip-masq-agent. Para obtener más información, consulta Configura un agente de enmascaramiento de IP.

Preparación

  1. Busca los siguientes ID del proyecto 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 el proyecto de servicio y el proyecto host.

  4. Si creas un entorno en el proyecto de servicio con consola de Google Cloud, tu cuenta debe tener el permiso compute.subnetworks.use en el proyecto host. De lo contrario, la lista de subredes disponibles no incluirá subredes del proyecto host. Si creas un entorno con gcloud, la API o Terraform, tu cuenta no necesita este permiso adicional.

Configura el proyecto de servicio

Si los entornos de Cloud Composer nunca se crearon en el servicio aprovisione la cuenta de agente de servicio de Composer En el proyecto de servicio:

gcloud beta services identity create --service=composer.googleapis.com`

Configura el proyecto host

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

(IP privada) Habilitar acceso privado a Google

Si planeas usar entornos de IP privada, Luego, habilita el Acceso privado a Google para la subred en el host. en un proyecto final. Puedes hacerlo en el siguiente paso, cuando configures los recursos de red para una subred nueva o existente.

Si planeas usar entornos de IP públicas, te recomendamos habilitación del Acceso privado a Google para la subred en el host en un proyecto final. Si eliges no usar el Acceso privado a Google, asegúrate de estar sin bloquear el tráfico que, de lo contrario, el Regla de firewall de permiso de salida IPv4 implícita permitir. Esto es necesario para llegar a los extremos de *.googleapis.com de forma correcta.

Configura recursos de herramientas de redes

Elige una de las siguientes opciones para asignar y configurar las herramientas de redes de Google Cloud. En cada opción, debes asignar un nombre a los rangos de IP secundarios para los Pods y servicios.

Configura la VPC compartida y vincula el proyecto de servicio

  1. Si aún no lo hiciste, configura la VPC compartida. Si ya configuraste una VPC compartida, sigue con el próximo paso.

  2. Conecta el proyecto de servicio, que se usa para alojar entornos de Cloud Composer.

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

Otorga permisos a la cuenta del agente de servicio de Composer

En el proyecto host ocurre lo siguiente:

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

  2. Para esta cuenta, agrega otro rol a nivel de proyecto:

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

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

Otorga permisos a la cuenta del agente de servicio de la API de Google

En el proyecto host ocurre lo siguiente:

  1. Editar permisos para la cuenta del agente de servicio de la API de Google SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com

  2. Agrega otro rol, Usuario de la red de Compute (compute.networkUser). a nivel de proyecto. Este es un requisito para los grupos de instancias administrados que se usan con la VPC compartida ya que este tipo de cuenta de servicio realiza tareas como de la creación de cuentas de servicio.

Edita permisos para 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, agregar otro rol, compute.networkUser con uno de las siguientes opciones:

  • Otorga este rol a nivel de la subred para permitir que una cuenta de servicio configure los intercambios de tráfico de VPC que requiere Cloud Composer. En este caso, explícitamente especificar la subred que usará el entorno, ya que la es posible que el clúster del entorno no tenga permisos para encontrar la subred en la red.

  • Otorga este rol a nivel del proyecto para todo el proyecto host. En este caso, la cuenta de servicio de GKE del proyecto de servicio tiene permisos para usar cualquier subred en el proyecto host.

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

En el proyecto host, edita los permisos del Cuenta de servicio de GKE del proyecto de servicio.

Para esta cuenta, agrega otro rol a nivel de proyecto, Usuario de agente de servicios de host de Kubernetes Engine (roles/container.hostServiceAgentUser).

Con esto, la cuenta de servicio de GKE del proyecto de servicio podrá usar la cuenta de servicio de GKE del proyecto host para configurar los recursos de la red compartida.

(IP privada, opcional) Configura reglas de firewall y conectividad a dominios de Google

En una configuración de VPC compartida con entornos de IP privadas, como opción, puedes enrutar todo el tráfico a las APIs y los servicios de Google a través de varias direcciones IP que pertenecen al dominio private.googleapis.com y configurar las reglas de firewall correspondientes. En esta configuración, tus accede a los servicios y las APIs de Google solo a través de direcciones IP se pueden enrutar desde Google Cloud. Si tu configuración de VPC compartida usa los Controles del servicio de VPC y, luego, enrutar el tráfico a través de restricted.googleapis.com en su lugar.

Si tu configuración de VPC compartida usa entornos de IP privadas, haz lo siguiente:

  1. Configura la conectividad a los servicios y las APIs de Google (opcional).
  2. (Opcional) Configura reglas de firewall.

Si tu configuración de VPC compartida usa Controles del servicio de VPC, usa las instrucciones para entornos con Controles del servicio de VPC:

  1. Configura la conectividad a los servicios y las APIs de Google.
  2. Configura reglas de firewall

Conclusión

Completaste la configuración de la red de VPC compartida para los proyectos de servicio y de host.

Ahora puedes crear entornos nuevos en el proyecto de servicio que usen la red de VPC del proyecto host.

¿Qué sigue?