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
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 deip-masq-agent
. Para obtener más información, consulta Configura un agente de enmascaramiento de IP.
Preparación
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.
Habilita la API de GKE en el proyecto de servicio y el proyecto host.
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 congcloud
, 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.
Opción 1. Crea una nueva red de VPC, subred y dos rangos de IP secundarios.
Cuando crees la subred, usa el rango de IP principal según las pautas anteriores.
Cuando definas la subred, define dos rangos de IP secundarios para los pods y los servicios.
Opción 2. Crea una subred y dos rangos de IP secundarios en una VPC existente.
Cuando crees la subred, usa el rango de IP principal según las pautas anteriores.
Cuando definas la subred, define dos rangos de IP secundarios para los pods y los servicios.
Opción 3. Crea dos rangos de IP secundarios en una subred y una red de VPC existentes.
- Define dos rangos de IP secundarios para Pods y objetos de Service según los lineamientos. Evita conflictos de nombre y rango de IP con rangos secundarios existentes.
Configura la VPC compartida y vincula el proyecto de servicio
Si aún no lo hiciste, configura la VPC compartida. Si ya configuraste una VPC compartida, sigue con el próximo paso.
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:
Edita permisos para la cuenta de agente de servicio de Composer,
service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
.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:
Editar permisos para la cuenta del agente de servicio de la API de Google
SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com
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:
- Configura la conectividad a los servicios y las APIs de Google (opcional).
- (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:
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?
- Crea un entorno de Cloud Composer y proporciona la red y la subred del proyecto host como parámetros de configuración.