Arquitectura del entorno

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página, se describe la arquitectura de los entornos de Cloud Composer.

Configuración de la arquitectura del entorno

Los entornos de Cloud Composer 2 pueden tener las siguientes opciones de configuración de la arquitectura:

Proyectos del cliente y el usuario

Cuando creas un entorno, Cloud Composer distribuye los recursos del entorno entre un proyecto del usuario y uno del cliente:

  • El proyecto de cliente es un proyecto de Google Cloud en el que creas tus entornos. Puedes crear más de un entorno en un solo proyecto de cliente.

  • El proyecto de usuario es un proyecto de usuario administrado por Google y pertenece a la organización de Google.com. El proyecto de usuario proporciona un control de acceso unificado y una capa adicional de seguridad de los datos para tu entorno. Cada entorno de Cloud Composer tiene su propio proyecto de usuario.

Componentes del entorno

Un entorno de Cloud Composer consta de componentes de entorno.

Un componente del entorno es un elemento de una infraestructura administrada de Airflow que se ejecuta en Google Cloud, como parte de tu entorno. Los componentes del entorno se ejecutan en el proyecto del usuario o del cliente de tu entorno.

Clúster del entorno

El clúster del entorno es un clúster de Google Kubernetes Engine nativo de la VPC de modo Autopilot de tu entorno:

De forma predeterminada, Cloud Composer habilita las actualizaciones automáticas de nodos y la reparación automática de nodos para proteger el clúster de tu entorno de las vulnerabilidades de seguridad. Estas operaciones ocurren durante los períodos de mantenimiento que especificas para tu entorno.

Bucket del entorno

El bucket del entorno es un bucket de Cloud Storage que almacena DAG, complementos, dependencias de datos y registros de Airflow. El bucket del entorno se encuentra en el proyecto del cliente.

Cuando subes tus archivos DAG a la carpeta /dags en el bucket de tu entorno, Cloud Composer sincroniza los DAG con los componentes de Airflow de tu entorno.

Servidor web de Airflow

El servidor web de Airflow ejecuta la IU de Airflow de tu entorno.

Cloud Composer proporciona acceso a la interfaz según las identidades de los usuarios y las vinculaciones de políticas de IAM definidas para los usuarios.

Base de datos de Airflow

La base de datos de Airflow es una instancia de Cloud SQL que se ejecuta en el proyecto de usuario de tu entorno. Aloja la base de datos de metadatos de Airflow.

Para proteger la información sensible del flujo de trabajo y la conexión, Cloud Composer permite el acceso a la base de datos solo a la cuenta de servicio de tu entorno.

Otros componentes de Airflow

Otros componentes de Airflow que se ejecutan en tu entorno son los siguientes:

  • Los programadores de Airflow analizan los archivos de definición del DAG, programan las ejecuciones de DAG según el intervalo de programación y ponen en cola las tareas para que los trabajadores de Airflow las ejecuten. En Cloud Composer 2, los procesadores de DAG de Airflow se ejecutan como parte de los componentes del programador.

  • Los supervisores asíncronos de Airflow supervisan de forma asíncrona todas las tareas diferidas en tu entorno. Si configuras la cantidad de activadores en tu entorno en un valor superior a cero, podrás usar operadores diferibles en tus DAGs.

  • Los trabajadores de Airflow ejecutan tareas programadas por los programadores de Airflow. La cantidad mínima y máxima de trabajadores en tu entorno cambia de forma dinámica según la cantidad de tareas en la cola.

Arquitectura del entorno de IP pública

Recursos del entorno de IP pública de Cloud Composer en el proyecto de usuario y el proyecto de cliente
Figura 1. Arquitectura del entorno de IP pública (haz clic para ampliar)

En una arquitectura del entorno de IP pública para Cloud Composer 2, haz lo siguiente:

  • El proyecto de usuario aloja una instancia de Cloud SQL y el almacenamiento de Cloud SQL.
  • El proyecto del cliente aloja todos los demás componentes del entorno.
  • Los programadores y los trabajadores de Airflow en el proyecto del cliente se comunican con la base de datos de Airflow a través de una instancia del proxy de Cloud SQL ubicada en el proyecto del cliente.

Arquitectura del entorno de IP privada

Recursos del entorno de IP privada con PSC de Cloud Composer en el proyecto de usuario y el proyecto de cliente (haz clic para agrandar)
Figura 2. Recursos del entorno de IP privada de Cloud Composer en el proyecto de usuario y el proyecto de cliente (haz clic para agrandar)

De forma predeterminada, Cloud Composer 2 usa Private Service Connect, de modo que tus entornos de IP privada se comuniquen de forma interna sin usar la interconexión de VPC. También es posible usar intercambios de tráfico entre VPC en lugar de Private Service Connect en tu entorno. Esta es una opción no predeterminada.

En la arquitectura del entorno de IP privada, haz lo siguiente:

  • El proyecto de usuario aloja una instancia de Cloud SQL y el almacenamiento de Cloud SQL.
  • El proyecto del cliente aloja todos los demás componentes del entorno.
  • Los programadores y trabajadores de Airflow se conectan a la base de datos de Airflow a través del extremo de PSC configurado.

Arquitectura de IP privada altamente resiliente

Recursos del entorno de IP privada altamente resiliente en el proyecto de usuario y el proyecto de cliente (haz clic para agrandar)
Figura 3. Recursos del entorno de IP privada de Cloud Composer altamente resilientes en el proyecto de usuario y el proyecto de cliente (haz clic para agrandar)

Los entornos de Cloud Composer de alta resiliencia (alta disponibilidad) son entornos multizonales que usan mecanismos integrados de redundancia y conmutación por error que reducen la susceptibilidad del entorno a las fallas zonales y las interrupciones por puntos únicos de falla.

En este tipo de entorno de IP privada, sucede lo siguiente:

  • Un componente de Cloud SQL de tu entorno tiene una instancia principal y una instancia en espera que se distribuyen entre zonas.
  • Tu entorno ejecuta dos programadores de Airflow, dos servidores web y, si se usan activadores, un mínimo de dos (hasta diez en total). Estos pares de componentes se ejecutan en dos zonas separadas.
  • La cantidad mínima de trabajadores se establece en dos, y el clúster de tu entorno distribuye las instancias de trabajador entre las zonas. En caso de una interrupción zonal, las instancias de trabajador afectadas se reprograman en una zona diferente.

Integración en Cloud Logging y Cloud Monitoring

Cloud Composer se integra en Cloud Logging y Cloud Monitoring de tu proyecto Google Cloud , por lo que tienes un lugar centralizado para ver los registros de Airflow y DAG.

Cloud Monitoring recopila y transfiere métricas, eventos y metadatos de Cloud Composer para generar estadísticas a través de paneles y gráficos.

Debido a la naturaleza de transmisión de Cloud Logging, puedes ver los registros que emiten los componentes de Airflow de inmediato en lugar de esperar a que los registros de Airflow aparezcan en el bucket de Cloud Storage de tu entorno.

Para limitar la cantidad de registros en tu proyecto de Google Cloud , puedes detener la transferencia de todos los registros. No inhabilites Logging.

¿Qué sigue?