Fonctionnalités de Cloud Composer

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

Cloud Composer est un service géré Apache Airflow qui vous aide à créer, programmer, surveiller et gérer des 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 : 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, 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 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 Google Cloud Console 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 : une fois que vous avez 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.

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, et 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 Cloud Storage 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 vous pouvez attribuer des rôles IAM (Identity and Access Management) qui empêchent des 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 en savoir plus, consultez la page 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 associé.

La diffusion des journaux est disponible pour Cloud Composer. Vous pouvez y accéder dans la visionneuse de journaux depuis Google Cloud Console et à l'aide de la suite des opérations Google Cloud. Pour plus d'informations sur l'utilisation de la suite des opérations Google Cloud, consultez la page 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 GKE basé sur le routage qui utilise le réseau VPC par défaut pour les communications entre les machines. 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.