Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se ofrece una breve introducción a Airflow y los DAGs, y se describen las funciones y las capacidades de Cloud Composer.
Para obtener más información sobre las nuevas funciones de las versiones de Cloud Composer, consulta las notas de las versiones.
Acerca de Cloud Composer
Cloud Composer es un servicio totalmente gestionado de orquestación de flujos de trabajo que permite crear, programar, monitorizar y gestionar flujos de procesamiento que se extienden por las nubes y los centros de datos on-premise.
Cloud Composer se basa en el popular proyecto de código abierto Apache Airflow y utiliza el lenguaje de programación Python.
Si usas Cloud Composer en lugar de una instancia local de Apache Airflow, podrás disfrutar de las ventajas de Airflow sin tener que instalar ni gestionar nada. Cloud Composer te ayuda a crear entornos de Airflow gestionados rápidamente y a usar herramientas nativas de Airflow, como la potente interfaz web y las herramientas de línea de comandos de Airflow, para que puedas centrarte en tus flujos de trabajo y no en tu infraestructura.
Diferencias entre las versiones de Cloud Composer
Para obtener más información sobre las diferencias entre las versiones principales de Cloud Composer, consulta la descripción general de la gestión de versiones de Cloud Composer.
Airflow y DAGs de Airflow (flujos de trabajo)
En analíticas de datos, un flujo de trabajo representa una serie de tareas para ingerir, transformar, analizar o utilizar datos. En Airflow, los flujos de trabajo se crean mediante DAGs, o "grafos acíclicos dirigidos".
Un DAG es un conjunto de tareas que quieres programar y ejecutar, organizadas de forma que reflejen sus relaciones y dependencias. Los DAGs se crean en archivos de Python, que definen la estructura del DAG mediante código. El objetivo del DAG es asegurarse de que cada tarea se ejecute en el momento adecuado y en el orden correcto.
Cada tarea de un DAG puede representar casi cualquier cosa. Por ejemplo, una tarea puede realizar cualquiera de las siguientes funciones:
- Preparación de los datos para la introducción
- Monitorizar una API
- Enviar un correo
- Ejecutar un flujo de procesamiento
Además de ejecutar un DAG según una programación, puedes activarlos manualmente o como respuesta a eventos, como cambios en un segmento de Cloud Storage. Para obtener más información, consulta Programar y activar DAGs.
Para obtener más información sobre los DAGs y las tareas, consulta la documentación de Apache Airflow.
Entornos de Cloud Composer
Los entornos de Cloud Composer son implementaciones de Airflow independientes basadas en Google Kubernetes Engine. Funcionan con otros Google Cloud servicios mediante conectores integrados en Airflow. Puedes crear uno o varios entornos en un solo Google Cloud proyecto, en cualquier región admitida.
Cloud Composer aprovisiona Google Cloud servicios que ejecutan tus flujos de trabajo y todos los componentes de Airflow. Los componentes principales de un entorno son los siguientes:
Clúster de GKE: los componentes de Airflow, como los programadores, los activadores y los trabajadores de Airflow, se ejecutan como cargas de trabajo de GKE en un único clúster creado para tu entorno y se encargan de procesar y ejecutar los DAGs.
El clúster también aloja otros componentes de Cloud Composer, como el agente de Composer y la monitorización de Airflow, que ayudan a gestionar el entorno de Cloud Composer, a recoger registros para almacenarlos en Cloud Logging y a recoger métricas para subirlas a Cloud Monitoring.
Servidor web de Airflow: el servidor web ejecuta la interfaz de usuario de Apache Airflow.
Base de datos de Airflow: contiene los metadatos de Apache Airflow.
Segmento de Cloud Storage: Cloud Composer asocia un segmento de Cloud Storage a tu entorno. Este segmento, también llamado segmento del entorno, almacena los DAGs, los registros, los plugins personalizados y los datos del entorno. Para obtener más información sobre el segmento del entorno, consulta Datos almacenados en Cloud Storage.
Para obtener información detallada sobre los componentes de un entorno, consulta el artículo Arquitectura del entorno.
Interfaces de Cloud Composer
Cloud Composer proporciona interfaces para gestionar entornos, instancias de Airflow que se ejecutan en entornos y DAGs individuales.
Por ejemplo, puedes crear y configurar entornos de Cloud Composer en la Google Cloud consola, con la CLI de Google Cloud, la API Cloud Composer o Terraform.
Por ejemplo, puedes gestionar DAGs desde la consola deGoogle Cloud , la interfaz de usuario nativa de Airflow o ejecutando comandos de la CLI de Google Cloud y de la CLI de Airflow.
Funciones de Airflow en Cloud Composer
Cuando usas Cloud Composer, puedes gestionar y usar funciones de Airflow como las siguientes:
DAGs de Airflow: puedes añadir, actualizar, eliminar o activar DAGs de Airflow en la consola de Google Cloud o mediante la interfaz de usuario nativa de Airflow.
Opciones de configuración de Airflow: puede cambiar las opciones de configuración de Airflow de los valores predeterminados que usa Cloud Composer a valores personalizados. En Cloud Composer, algunas de las opciones de configuración están bloqueadas y no puedes cambiar sus valores.
Complementos personalizados: puedes instalar complementos de Airflow personalizados, como operadores, ganchos, sensores o interfaces de Apache Airflow personalizados y propios, en tu entorno de Cloud Composer.
Dependencias de Python: puedes instalar dependencias de Python desde el índice de paquetes de Python en tu entorno o desde un repositorio de paquetes privado, incluidos los repositorios de Artifact Registry. Si las dependencias no están en el índice de paquetes, también puedes usar complementos.
Registro y monitorización de DAGs, componentes de Airflow y entornos de Cloud Composer:
Puedes ver los registros de Airflow asociados a tareas de DAG individuales en la interfaz web de Airflow y en la carpeta
logs
del contenedor del entorno.Registros de Cloud Monitoring y métricas de entornos de entornos de Cloud Composer.
Control de acceso en Cloud Composer
La seguridad se gestiona a nivel de proyecto y puedes Google Cloud asignar roles de gestión de identidades y accesos que permitan a usuarios concretos modificar o crear entornos. Si alguien no tiene acceso a tu proyecto o no tiene un rol de gestión de identidades y accesos de Cloud Composer adecuado, no podrá acceder a ninguno de tus entornos.
Además de la gestión de identidades y accesos, puedes usar el control de acceso a la interfaz de usuario de Airflow, que se basa en el modelo de control de acceso de Apache Airflow.
Para obtener más información sobre las funciones de seguridad de Cloud Composer, consulta el artículo Información general sobre la seguridad de Cloud Composer.
Redes de entornos
Cloud Composer admite varias configuraciones de red para entornos, con muchas opciones de configuración. Por ejemplo, en un entorno de IP privada, los DAGs y los componentes de Airflow están completamente aislados de Internet público.
Para obtener más información sobre las redes en Cloud Composer, consulta las páginas de las funciones de redes individuales:
- Entornos de IP pública e IP privada
- Entornos de VPC compartida
- Configurar Controles de Servicio de VPC
- Redes autorizadas
- Agente de enmascaramiento de IP
- Intervalos de IP públicas usadas de forma privada
Preguntas frecuentes
¿Qué versión de Apache Airflow usa Cloud Composer?
Los entornos de Cloud Composer se basan en imágenes de Cloud Composer. Cuando creas un entorno, puedes seleccionar una imagen con una versión específica de Airflow:
- Cloud Composer 3 es compatible con Airflow 2.
- Cloud Composer 2 es compatible con Airflow 2.
- Cloud Composer 1 admite Airflow 1 y Airflow 2.
Puedes controlar la versión de Apache Airflow de tu entorno. Puedes actualizar tu entorno a una versión posterior de la imagen de Cloud Composer. Cada versión de Cloud Composer admite varias versiones de Apache Airflow.
¿Puedo usar la interfaz de usuario y la CLI nativas de Airflow?
Puedes acceder a la interfaz web de Apache Airflow de tu entorno. Cada uno de tus entornos tiene su propia interfaz de usuario de Airflow. Para obtener más información sobre cómo acceder a la interfaz de usuario de Airflow, consulta Interfaz web de Airflow.
Para ejecutar comandos de la CLI de Airflow en tus entornos, usa los comandos gcloud
.
Para obtener más información sobre cómo ejecutar comandos de la CLI de Airflow en entornos de Cloud Composer, consulta Interfaz de línea de comandos de Airflow.
¿Puedo usar mi propia base de datos como base de datos de Airflow?
Cloud Composer usa un servicio de base de datos gestionado para la base de datos de Airflow. No se puede usar una base de datos proporcionada por el usuario como base de datos de Airflow.
¿Puedo usar mi propio clúster como clúster de Cloud Composer?
Cloud Composer usa el servicio Google Kubernetes Engine para crear, gestionar y eliminar clústeres de entornos en los que se ejecutan los componentes de Airflow. Cloud Composer gestiona estos clústeres por completo.
No es posible crear un entorno de Cloud Composer basado en un clúster de Google Kubernetes Engine autogestionado.
¿Puedo usar mi propio registro de contenedores?
Cloud Composer usa el servicio Artifact Registry para gestionar los repositorios de imágenes de contenedor que utilizan los entornos de Cloud Composer. No se puede sustituir por un registro de contenedor proporcionado por el usuario.
¿Los entornos de Cloud Composer son zonales o regionales?
Cuando creas un entorno, debes especificar una región:
Los entornos estándar de Cloud Composer tienen una base de datos de Airflow zonal y una capa de ejecución de Airflow multizonal. La base de datos de Airflow se encuentra en una de las zonas de la región especificada y los componentes de Airflow se distribuyen entre varias zonas.
Los entornos de Cloud Composer altamente resilientes (de alta disponibilidad) tienen una base de datos de Airflow multizonal y una capa de ejecución de Airflow multizonal. Un entorno de alta resiliencia se ejecuta en al menos dos zonas de la región seleccionada. Cloud Composer distribuye automáticamente los componentes de tu entorno entre las zonas. El componente de Cloud SQL que almacena la base de datos de Airflow tiene una instancia principal y una instancia de espera distribuidas entre las zonas de la región seleccionada.
Los entornos de Cloud Composer 1 son zonales.