Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Cette page fournit une brève présentation d'Airflow et des DAG, et décrit les fonctionnalités de Cloud Composer.
Pour en savoir plus sur les nouvelles fonctionnalités des versions de Cloud Composer, consultez les notes de version.
À propos de Cloud Composer
Cloud Composer est un service d'orchestration de workflows entièrement géré qui vous permet de créer, planifier, surveiller et gérer des pipelines de workflow couvrant des clouds et des centres de données sur site.
Cloud Composer est basé sur le projet Open Source populaire Apache Airflow et fonctionne avec le langage de programmation Python.
En utilisant Cloud Composer au lieu d'une instance locale d'Apache Airflow, vous pouvez profiter du meilleur d'Airflow sans coûts d'installation ni de gestion. Cloud Composer vous permet de créer rapidement des environnements Airflow gérés et d'utiliser des outils Airflow natifs, tels que l'interface Web Airflow et des outils de ligne de commande. Ainsi, vous pouvez consacrer plus de temps à vos workflows sans vous soucier de votre infrastructure.
Différences entre les versions de Cloud Composer
Pour en savoir plus sur les différences entre les principales versions de Cloud Composer, consultez la section Présentation de la gestion des versions Cloud Composer.
Airflow et DAG Airflow (workflows)
En analyse de données, un workflow représente une série de tâches pour l'ingestion, la transformation, l'analyse ou l'utilisation de données. Dans Airflow, les workflows sont créés à l'aide de "graphes orientés acycliques" (DAG, Directed Acyclic Graph).
Un DAG est un ensemble de tâches que vous souhaitez programmer et exécuter, organisées de manière à refléter leurs relations et leurs dépendances. Les DAG sont créés dans des fichiers Python, qui définissent leur structure à l'aide de code. L'objectif du DAG est de s'assurer que chaque tâche est exécutée au bon moment et dans le bon ordre.
Chaque tâche d'un DAG peut représenter presque n'importe quoi. Par exemple, une tâche peut effectuer l'une des fonctions suivantes :
- Préparer des données pour l'ingestion
- Surveiller une API
- Envoyer un e-mail
- Exécuter un pipeline
En plus d'exécuter un DAG selon un calendrier, vous pouvez déclencher des DAG manuellement ou en réponse à des événements, tels que des modifications apportées à un bucket Cloud Storage. Pour en savoir plus, consultez la section Planifier et déclencher des DAG.
Pour en savoir plus sur les DAG et les tâches, consultez la documentation Apache Airflow.
Environnements Cloud Composer
Les environnements Cloud Composer sont des déploiements Airflow autonomes basés sur Google Kubernetes Engine. Ils fonctionnent avec d'autres Google Cloud services à l'aide de connecteurs intégrés à Airflow. Vous pouvez créer un ou plusieurs environnements dans un même Google Cloudprojet, dans n'importe quelle région compatible.
Cloud Composer provisionne les services Google Cloud qui exécutent vos workflows et tous les composants Airflow. Les principaux composants d'un environnement sont les suivants:
Cluster GKE: les composants Airflow tels que les planificateurs, les déclencheurs et les nœuds de calcul Airflow s'exécutent en tant que charges de travail GKE dans un seul cluster créé pour votre environnement. Ils sont responsables du traitement et de l'exécution des DAG.
Le cluster héberge également d'autres composants Cloud Composer, tels que l'agent Composer et la surveillance Airflow, qui permettent de gérer l'environnement Cloud Composer, de collecter les journaux à stocker dans Cloud Logging et de collecter les métriques à importer dans Cloud Monitoring.
Serveur Web Airflow: le serveur Web exécute l'UI Apache Airflow.
Base de données Airflow: la base de données contient les métadonnées Apache Airflow.
Bucket Cloud Storage: Cloud Composer associe un bucket Cloud Storage à votre environnement. Ce bucket, également appelé bucket de l'environnement, stocke les DAG, les journaux, les plug-ins personnalisés et les données de l'environnement. Pour en savoir plus sur le bucket de l'environnement, consultez la page Données stockées dans Cloud Storage.
Consultez la page Architecture des environnements pour en savoir plus sur les composants d'un environnement.
Interfaces Cloud Composer
Cloud Composer fournit des interfaces pour gérer les environnements, les instances Airflow exécutées dans les environnements et les DAG individuels.
Par exemple, vous pouvez créer et configurer des environnements Cloud Composer dans la console Google Cloud, la Google Cloud CLI, l'API Cloud Composer ou Terraform.
Par exemple, vous pouvez gérer les DAG à partir de la console Google Cloud, de l'interface utilisateur Airflow native ou en exécutant Google Cloud CLI et des commandes de CLI Airflow.
Fonctionnalités d'Airflow dans Cloud Composer
Lorsque vous utilisez Cloud Composer, vous pouvez gérer et utiliser des fonctionnalités Airflow, par exemple:
DAG Airflow: vous pouvez ajouter, mettre à jour, supprimer ou déclencher des DAG Airflow dans la console Google Cloud ou à l'aide de l'interface utilisateur Airflow native.
Options de configuration Airflow: vous pouvez remplacer les valeurs par défaut utilisées par Cloud Composer par des valeurs personnalisées pour les options de configuration Airflow. Dans Cloud Composer, certaines options de configuration sont bloquées et vous ne pouvez pas modifier leurs valeurs.
Plug-ins personnalisés: vous pouvez installer des plug-ins Airflow personnalisés, tels que des opérateurs, des hooks, des capteurs ou des interfaces Apache Airflow personnalisés et internes dans votre environnement Cloud Composer.
Dépendances Python: vous pouvez installer des dépendances Python à partir de l'index de packages Python dans votre environnement ou à partir d'un dépôt de packages privé, y compris des dépôts Artifact Registry. Si les dépendances ne figurent pas dans l'index de packages, vous pouvez également utiliser des plug-ins.
Journalisation et surveillance des DAG, des composants Airflow et des environnements Cloud Composer:
Vous pouvez afficher les journaux Airflow associés à des tâches DAG uniques dans l'interface Web Airflow et le dossier
logs
situé dans le bucket de l'environnement.Journaux Cloud Monitoring et métriques de l'environnement pour les environnements Cloud Composer.
Contrôle des accès dans Cloud Composer
Vous gérez la sécurité au niveau du Google Cloud projet et pouvez attribuer des rôles IAM qui permettent aux utilisateurs individuels de modifier ou de créer des environnements. Si un utilisateur n'a pas accès à votre projet ou ne dispose pas du rôle IAM Cloud Composer approprié, il ne peut accéder à aucun de vos environnements.
En plus d'IAM, vous pouvez utiliser le contrôle des accès de l'interface utilisateur d'Airflow, qui est basé sur le modèle de contrôle des accès Apache Airflow.
Pour en savoir plus sur les fonctionnalités de sécurité de Cloud Composer, consultez la section Présentation de la sécurité Cloud Composer.
Mise en réseau de l'environnement
Cloud Composer est compatible avec plusieurs configurations réseau pour les environnements, avec de nombreuses options de configuration. Par exemple, dans un environnement IP privé, les DAG et les composants Airflow sont entièrement isolés de l'Internet public.
Pour en savoir plus sur la mise en réseau dans Cloud Composer, consultez les pages dédiées aux fonctionnalités de mise en réseau individuelles:
- Environnements d'adresses IP publiques et privées
- Connecter un environnement à votre réseau VPC
- Environnements VPC partagés
- Configurer VPC Service Controls
Autres fonctionnalités de Cloud Composer
Voici d'autres fonctionnalités de Cloud Composer:
- Environnements d'autoscaling
- Développement avec des environnements Airflow locaux
- Environnements hautement résilients
- Instantanés de l'environnement
- Chiffrement avec des clés de chiffrement gérées par le client (CMEK)
- Intégration de la traçabilité des données avec Dataplex
Questions fréquentes
Quelle version Apache Airflow est utilisée par Cloud Composer ?
Les environnements Cloud Composer sont basés sur des images Cloud Composer. Lorsque vous créez un environnement, vous pouvez sélectionner une image avec une version Airflow spécifique:
- Cloud Composer 3 est compatible avec Airflow 2.
- Cloud Composer 2 est compatible avec Airflow 2.
- Cloud Composer 1 est compatible avec Airflow 1 et Airflow 2.
Vous contrôlez la version Apache Airflow de votre environnement. Vous pouvez décider de mettre à niveau votre environnement vers une version plus récente de l'image Cloud Composer. Chaque version de Cloud Composer est compatible avec plusieurs versions d'Apache Airflow.
Puis-je utiliser l'interface utilisateur et la CLI Airflow natives ?
Vous pouvez accéder à l'interface Web Apache Airflow de votre environnement. Chacun de vos environnements possède sa propre interface Airflow. Pour en savoir plus sur l'accès à l'interface utilisateur d'Airflow, consultez la page Interface Web Airflow.
Pour exécuter les commandes de CLI Airflow dans vos environnements, utilisez les commandes gcloud
.
Pour en savoir plus sur l'exécution de commandes de CLI Airflow dans les environnements Cloud Composer, consultez la page Interface de ligne de commande Airflow.
Puis-je utiliser ma propre base de données comme base de données Airflow ?
Cloud Composer utilise un service de base de données géré pour la base de données Airflow. Vous ne pouvez pas utiliser une base de données fournie par l'utilisateur comme base de données Airflow.
Puis-je utiliser mon propre cluster comme cluster Cloud Composer ?
Cloud Composer utilise le service Google Kubernetes Engine pour créer, gérer et supprimer des clusters d'environnements dans lesquels les composants Airflow s'exécutent. Ces clusters sont entièrement gérés par Cloud Composer.
Il n'est pas possible de créer un environnement Cloud Composer basé sur un cluster Google Kubernetes Engine autogéré.
Puis-je utiliser mon propre registre de conteneurs ?
Cloud Composer utilise le service Artifact Registry pour gérer les dépôts d'images de conteneurs utilisés par les environnements Cloud Composer. Il n'est pas possible de le remplacer par un registre de conteneurs fourni par l'utilisateur.
Les environnements Cloud Composer sont-ils zonaux ou régionaux ?
Les environnements Cloud Composer 3 et Cloud Composer 2 disposent d'une base de données Airflow zonale et d'une couche de planification et d'exécution Airflow régionale. Les planificateurs, les nœuds de calcul et les serveurs Web Airflow s'exécutent dans la couche d'exécution Airflow.
Les environnements Cloud Composer 1 sont zonaux.