Fonctionnalités de Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Cette page présente les fonctionnalités de Cloud Composer.

Cloud Composer est un service géré Apache Airflow qui vous aide à créer, planifier, surveiller et gérer les workflows.

Environnements Airflow

Un environnement Cloud Composer est un wrapper autour d’Apache Airflow. Cloud Composer crée les composants suivants pour chaque environnement:

  • Cluster GKE: les programmeurs, 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, et sont chargés de traiter et d'exécuter 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 des journaux à stocker dans Cloud Logging et de collecter des métriques à importer dans Cloud Monitoring.
  • Serveur Web : le serveur Web exécute l'interface Web Apache Airflow, et Identity-Aware Proxy protège l'interface. Pour en savoir plus, consultez la page 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 en savoir plus sur le bucket de stockage pour Cloud Composer, consultez la section 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 Google Cloud Console ou via une URL directe avec les autorisations appropriées. Pour plus d'informations, consultez la page Interface Web Airflow.
  • Outils de ligne de commande: après avoir installé le SDK Cloud, 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][cc-access-airflow-cli].

En plus des outils natifs, les API REST et RPC Cloud Composer fournissent un accès automatisé à vos environnements Airflow. Pour en savoir plus, consultez la page API et documentation de référence.

Configuration Airflow

En général, 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 les propriétés de configuration. Autres configurations, que vous spécifiez lors de la création ou de la mise à jour de votre environnement. Pour en savoir plus, consultez la section 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 votre environnement Cloud Composer, vous devez ajouter ou supprimer des DAG du bucket de l'environnement associé à l'environnement. Une fois que vous avez déplacé des DAG vers le bucket de stockage, ils sont automatiquement ajoutés et planifiés dans votre environnement.

En plus de planifier des DAG, vous pouvez les déclencher manuellement ou en réponse à des événements, tels que des modifications apportées au 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 plus d'informations, consultez la section 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 IAM (Identity and Access Management) qui empêchent les utilisateurs individuels de modifier ou de créer des environnements. Si une personne n'a pas accès à votre projet ou n'a pas le rôle IAM Cloud Composer approprié, elle 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 du bucket Cloud Storage de l'environnement. (Installation de Python groupée).

La diffusion des journaux est disponible pour Cloud Composer. Pour en savoir plus, consultez la section Surveiller les 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 de 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 au-delà des limites du projet à l'aide d'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

AvecVPC natif, les adresses IP des pods et des services du cluster GKE sont routables en mode natif au sein du réseau Google Cloud, y compris via desAppairage de réseaux VPC (Installation de Python groupée).

Dans cette configuration, Cloud Composer déploie un cluster GKE de VPC natif à l'aide d'adresses IP d'alias dans votre environnement. Lorsque vous utilisez des clusters de VPC natif, GKE choisit 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 complètement 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 les adresses IP privées.

Cloud Composer crée également une connexion d'appairage entre le réseau VPC de votre projet client et celui de votre projet locataire.

Nouveautés