Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se ofrece una breve introducción a Airflow y DAG, y se describe y capacidades de Cloud Composer.
Para obtener más información sobre las funciones nuevas en las versiones de Cloud Composer, consulta las notas de la versión.
Acerca de Cloud Composer
Cloud Composer es un servicio de organización del flujo de trabajo completamente administrado, lo que te permite crear, programar, supervisar y administrar canalizaciones de flujo de trabajo que abarcan varias nubes y centros de datos locales.
Cloud Composer se basa en el popular proyecto de código abierto Apache Airflow y opera con el lenguaje de programación Python.
Mediante el uso de Cloud Composer en lugar de una instancia local de Apache Airflow, puedes beneficiarte de lo mejor de Airflow sin una sobrecarga de instalación o administración. Cloud Composer te permite crear entornos de Airflow administrados rápidamente y usar herramientas nativas de Airflow, como su potente interfaz web y las herramientas de línea de comandos, para que puedas enfocarte en los flujos de trabajo y no en la 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 Descripción general del control de versiones de Cloud Composer.
Airflow y DAG de Airflow (flujos de trabajo)
En las estadísticas de datos, un flujo de trabajo representa una serie de tareas para transferir, transformar, analizar o usar datos. En Airflow, los flujos de trabajo se crean mediante los DAG o “grafos acíclicos dirigidos”.
Un DAG es una colección de tareas que deseas programar y ejecutar, organizadas, de manera que reflejen sus relaciones y dependencias. Se crean los DAG en archivos de Python, que definen la estructura del DAG con código. Los DAG propósito es garantizar que cada tarea se ejecute en el momento adecuado y en el orden correcto.
Cada tarea en un DAG puede representar casi todo. Por ejemplo, una tarea puede realizar cualquiera de las siguientes funciones:
- Prepara datos para la transferencia
- Supervisa una API
- Envía un correo electrónico
- Ejecuta una canalización
Además de ejecutar un DAG según un programa, puedes activar DAG de forma manual o en respuesta a eventos, como los cambios en un bucket de Cloud Storage. Para obtener más información, consulta Cómo programar y activar DAG.
Para obtener más información sobre los DAG tareas, consulta la Documentación de Apache Airflow.
Entornos de Cloud Composer
Los entornos de Cloud Composer son Airflow autónomos implementaciones basadas en Google Kubernetes Engine. Funcionan con otros servicios de Google Cloud mediante conectores integrados en Airflow. Puedes crear uno o más entornos en un solo proyecto de Google Cloud en cualquier región compatible.
Cloud Composer aprovisiona los servicios de Google Cloud que ejecutan tus flujos de trabajo y todos los componentes de Airflow. Los componentes principales de un de tu entorno son:
Clúster de GKE: Componentes de Airflow, como Airflow programadores, activadores y trabajadores se ejecutan como cargas de trabajo de GKE. en un solo clúster creado para tu entorno y son responsables de el procesamiento y la ejecución de DAG.
El clúster también aloja otros componentes de Cloud Composer, como Composer Agent y Airflow Monitoring, que ayudan a administrar Cloud Composer recopila los registros para almacenarlos en Cloud Logging y métricas para subir a Cloud Monitoring.
Servidor web de Airflow: El servidor web ejecuta la IU de Apache Airflow.
Base de datos de Airflow: La base de datos contiene los metadatos de Apache Airflow.
Bucket de Cloud Storage: Asociaciones de Cloud Composer un bucket de Cloud Storage con tu entorno. Este bucket, también llamado bucket del entorno, almacena los DAG, los registros, los complementos personalizados y los datos del entorno. Para obtener más información sobre el bucket del ambiente, consulta Datos almacenados en Cloud Storage.
Para obtener información detallada sobre los componentes de un entorno, consulta Arquitectura del entorno.
Interfaces de Cloud Composer
Cloud Composer proporciona interfaces para administrar entornos, Instancias de Airflow que se ejecutan en entornos y DAG individuales.
Por ejemplo, puedes crear y configurar entornos de Cloud Composer en la consola de Google Cloud, Google Cloud CLI, la API de Cloud Composer o Terraform.
Como otro ejemplo, puedes administrar DAG desde la consola de Google Cloud, la IU nativa de Airflow o ejecutando Google Cloud CLI y los comandos de la CLI de Airflow.
Funciones de Airflow en Cloud Composer
Cuando usas Cloud Composer, puedes administrar y usar las funciones de Airflow por ejemplo:
DAG de Airflow: Puedes agregar, actualizar, quitar o activar DAG de Airflow en la consola de Google Cloud o con la IU nativa de Airflow.
Opciones de configuración de Airflow: Puedes 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 son bloqueado y no puede cambiar sus valores.
Complementos personalizados: Puedes instalar complementos personalizados de Airflow, como operadores, hooks, sensores o interfaces internos y personalizados de Apache Airflow en tu entorno de Cloud Composer.
Dependencias de Python: Puedes instalar Python dependencias del índice de paquetes de Python en tu entorno o desde un repositorio de paquetes privado, incluida Repositorios de Artifact Registry Si las dependencias no están en el índice del paquete, también puedes usar complementos.
El registro y la supervisión de DAG, componentes de Airflow y Entornos de Cloud Composer:
Puedes ver los registros de Airflow asociados con tareas de DAG individuales en la interfaz web de Airflow y la carpeta
logs
en el bucket del entorno.Registros y métricas del entorno de Cloud Monitoring para entornos de Cloud Composer.
Control de acceso en Cloud Composer
Administras la seguridad en el nivel de proyecto de Google Cloud asignar roles de IAM que permitan a personas a los usuarios modificar o crear entornos. Si alguien no tiene acceso a tu proyecto o no tiene una función apropiada de IAM de Cloud Composer, esa persona no podrá acceder a ninguno de tus entornos.
Además de IAM, puedes usar el control de acceso de la IU 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 Descripción general de la seguridad de Cloud Composer.
Herramientas de redes del entorno
Cloud Composer admite varias configuraciones de red para entornos, con muchas opciones de configuración. Por ejemplo, en una IP privada entorno, DAG y componentes de Airflow están completamente aislados del público a Internet.
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 y de IP privada
- Entornos de Private Service Connect
- Entornos de VPC compartida
- Configura los controles del servicio de VPC
- Redes autorizadas
- Agente de enmascaramiento de IP
- Rangos de IP públicas de uso privado
Otras funciones de Cloud Composer
Estas son otras funciones de Cloud Composer:
- Entornos de ajuste de escala automático
- Desarrollo con entornos locales de Airflow
- Entornos de alta resiliencia
- Instantáneas del entorno
- Encriptación con claves de encriptación administradas por el cliente (CMEK)
- Integración del linaje de datos con Dataplex
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 es compatible con Airflow 1 y Airflow 2.
Tienes el control de la versión de Apache Airflow de tu entorno. Puedes decides actualizar tu entorno a una versión posterior Imagen de Cloud Composer. Cada versión de Cloud Composer es compatible con varias versiones de Apache Airflow.
¿Puedo usar la IU y la CLI nativas de Airflow?
Puedes acceder a la interfaz web de Apache Airflow de tu entorno. Cada uno de los entornos tiene su propia IU de Airflow. Para obtener más información sobre cómo acceder a la IU de Airflow, consulta Interfaz web de Airflow.
Para ejecutar comandos de la CLI de Airflow en tus entornos, usa los comandos gcloud
.
Si deseas obtener más información para ejecutar comandos de la CLI de Airflow en
Cloud Composer, consulta
Interfaz de línea de comandos de Airflow.
¿Puedo usar mi propia base de datos como la base de datos de Airflow?
Cloud Composer usa un servicio de base de datos administrado para la base de datos de Airflow. No es posible usar una base de datos proporcionada por el usuario que la base de datos de Airflow.
¿Puedo usar mi propio clúster como un clúster de Cloud Composer?
Cloud Composer usa el servicio de Google Kubernetes Engine para crear, administrar y y borrar los clústeres del entorno en los que se ejecutan los componentes de Airflow. Cloud Composer administra por completo estos clústeres.
No es posible compilar un entorno de Cloud Composer basado en un clúster de Google Kubernetes Engine autoadministrado.
¿Puedo usar mi propio Container Registry?
Cloud Composer usa el servicio de Artifact Registry para administrar repositorios de imágenes que usan los entornos de Cloud Composer. No es posible reemplazarlo por un registro de contenedor proporcionado por el usuario.
¿Los entornos de Cloud Composer son zonales o regionales?
Los entornos de Cloud Composer 3 y Cloud Composer 2 tienen una base de datos de Airflow regional y una capa de programación y ejecución de Airflow regional. Airflow programadores, trabajadores y servidores web se ejecutan en la capa de ejecución de Airflow.
Los entornos de Cloud Composer 1 son zonales.