Cloud Composer 1 | Cloud Composer 2
Cette page présente les fonctionnalités et les capacités de Cloud Composer.
Pour en savoir plus sur les différences entre Cloud Composer 1 et Cloud Composer 2, consultez la présentation de la gestion des versions.
Cloud Composer est un service géré Apache Airflow qui vous aide à créer, programmer, surveiller et gérer des workflows.
Environnements Cloud Composer
Un environnement Cloud Composer est un wrapper autour d’Apache Airflow. Cloud Composer crée les composants suivants pour chaque environnement :
- Cluster GKE : le programmeur Airflow, les nœuds de calcul et la file d'attente Redis s'exécutent en tant que charges de travail GKE sur un seul cluster. 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: le serveur Web exécute l'interface Web Apache Airflow. Pour en savoir plus, consultez la section Interface Web Airflow.
- Base de données : la base de données contient les métadonnées Apache Airflow.
- Bucket Cloud Storage : Cloud Composer associe un bucket Cloud Storage à l'environnement. Le bucket associé stocke les DAG, les journaux, les plug-ins personnalisés et les données de l'environnement. Pour plus d'informations sur le bucket de stockage pour Cloud Composer, consultez la page Données stockées dans Cloud Storage.
Gestion Airflow
Pour consulter et gérer les environnements Airflow, vous pouvez utiliser les outils Airflow natifs suivants :
- Interface Web: vous pouvez accéder à l'interface Web Airflow depuis la console Google Cloud ou via une URL directe avec les autorisations appropriées. Pour en savoir plus, consultez la page Interface Web Airflow.
- Outils de ligne de commande: après avoir installé la Google Cloud CLI, vous pouvez exécuter des commandes
gcloud composer environments
pour émettre des commandes de ligne de commande Airflow vers des environnements Cloud Composer. Pour en savoir plus, consultez la page Interface de ligne de commande Airflow.
En plus des outils natifs, les API REST et RPC de Cloud Composer offrent un accès automatisé aux environnements Airflow. Pour plus d'informations, reportez-vous à la section API et documentations de référence.
Configuration Airflow
En règle générale, les configurations fournies par Cloud Composer pour Apache Airflow sont identiques à celles d'un déploiement Airflow hébergé localement. Certaines configurations Airflow sont préconfigurées dans Cloud Composer, vous ne pouvez pas modifier leurs propriétés. Les autres configurations sont à spécifier lors de la création ou de la mise à jour de votre environnement. Pour en savoir plus, consultez la page Configurations Airflow bloquées.
DAG Airflow (workflows)
Un DAG Apache Airflow est un workflow, à savoir un ensemble de tâches avec des dépendances de tâches supplémentaires. Cloud Composer stocke les DAG à l'aide de Cloud Storage. Pour ajouter ou supprimer des DAG dans l'environnement Cloud Composer, vous devez les ajouter ou les supprimer dans le bucket d'environnement associé à l'environnement. Une fois que vous avez déplacé les DAG vers le bucket de stockage, ils sont automatiquement ajoutés et programmés dans votre environnement.
En plus de la planification des DAG, vous pouvez déclencher les DAG manuellement ou en réponse à des événements, tels que des modifications effectuées sur le bucket Cloud Storage associé. Pour en savoir plus, reportez-vous à la section Déclencher des DAG.
Plug-ins
Vous pouvez installer des plug-ins personnalisés, tels que des opérateurs, des hooks, des capteurs ou des interfaces Apache Airflow personnalisés et en interne dans l'environnement Cloud Composer. Pour en savoir plus, consultez la page Installer des plug-ins personnalisés.
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é. Pour en savoir plus, consultez la page Installer des dépendances Python.
Si les dépendances ne figurent pas dans l'index de packages, vous pouvez également utiliser la fonctionnalité plug-ins.
Contrôle des accès
Vous gérez la sécurité au niveau du projet Google Cloud et pouvez attribuer des rôles Identity and Access Management (IAM) qui empêchent les 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. Pour plus d'informations, consultez la section Contrôle des accès.
Journalisation et surveillance
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 Cloud Storage de l'environnement.
La diffusion des journaux est disponible pour Cloud Composer. Pour en savoir plus, reportez-vous à la section Surveiller des environnements Cloud Composer.
Cloud Composer fournit également des journaux d'audit, tels que les journaux d'audit pour les activités d'administration, pour vos projets Google Cloud. Pour en savoir plus, consultez la page Afficher les journaux d'audit.
Mise en réseau et sécurité
Par défaut, Cloud Composer déploie un cluster Google Kubernetes Engine VPC natif en mode Autopilot.
Pour renforcer la sécurité et améliorer la souplesse de la mise en réseau, Cloud Composer est également compatible avec les fonctionnalités suivantes.
VPC partagé
Le VPC partagé permet de gérer les ressources réseau partagées depuis un projet hôte central afin d'appliquer des règles de réseau cohérentes à l'ensemble des projets.
Lorsque Cloud Composer participe à un VPC partagé, l'environnement Cloud Composer se trouve dans un projet de service et peut appeler des services hébergés dans d'autres projets Google Cloud. Les ressources de vos projets de service communiquent de manière sécurisée d'un projet à l'autre en utilisant des adresses IP internes. Pour connaître les exigences concernant le réseau et le projet hôte, consultez la page Configurer un VPC partagé.
Environnement Cloud Composer de VPC natif
Avec un VPC natif, les adresses IP des pods et des services du cluster GKE peuvent être routées en mode natif au sein du réseau Google Cloud, y compris via l'appairage de réseaux VPC.
Dans cette configuration, Cloud Composer déploie un cluster GKE de VPC natif en utilisant des adresses IP d'alias dans votre environnement. Lorsque vous utilisez des clusters de VPC natif, GKE sélectionne automatiquement une plage secondaire. Pour des exigences de mise en réseau spécifiques, vous pouvez également configurer les plages secondaires pour vos pods GKE et services GKE lors de la configuration de l'environnement Cloud Composer.
Environnement Cloud Composer d'adresse IP privée
Avec une adresse IP privée, les workflows Cloud Composer sont totalement isolés de l'Internet public.
Dans cette configuration, Cloud Composer déploie un cluster GKE de VPC natif utilisant des adresses IP d'alias dans le projet client. Le cluster GKE de votre environnement est configuré en tant que cluster privé, et l'instance Cloud SQL est configurée pour l'adresse IP privée.
Cloud Composer crée également une connexion d'appairage entre le réseau VPC de votre projet client et celui de votre projet locataire.
Intégration de la traçabilité des données avec Dataplex
L'exécution de DAG Cloud Composer entraîne souvent la création ou la mise à jour de sources de données, telles que des tables BigQuery, dans votre projet. La traçabilité des données est une fonctionnalité Dataplex qui vous permet de suivre la manière dont les données transitent par vos systèmes : leur origine, la cible de transmission, et les transformations qui leur sont appliquées.
Pour en savoir plus, consultez les sections Intégration de la traçabilité des données et À propos de la traçabilité des données dans la documentation Dataplex.