Architecture des environnements

Managed Airflow (3e génération) | Managed Airflow (2e génération) | Managed Airflow (1re génération héritée)

Cette page décrit l'architecture des environnements Managed Airflow.

Configurations d'architecture des environnements

Les environnements Managed Airflow (3e génération) disposent d'une configuration unique qui ne dépend pas du type de réseau :

Projets clients et locataires

Lorsque vous créez un environnement, Managed Airflow répartit les ressources de celui-ci entre un projet locataire et un projet client :

  • Le projet client est un Google Cloud projet dans lequel vous créez vos environnements. Vous pouvez créer plusieurs environnements dans un même projet client.

  • Le projet locataire est un projet locataire géré par Google et appartient à l'organisation Google.com. Le projet locataire offre un contrôle des accès unifié et une couche de sécurité des données supplémentaire pour votre environnement. Chaque environnement Managed Airflow possède son propre projet locataire.

Composants d'environnement

Un environnement Managed Airflow est constitué de composants d'environnement.

Un composant d'environnement est un élément d'une infrastructure Airflow gérée qui s'exécute sur Google Cloud Google Cloud, dans votre environnement. Les composants d'environnement s'exécutent dans le projet locataire ou dans le projet client de votre environnement.

Bucket de l'environnement

Le bucket de l'environnement est un bucket Cloud Storage qui stocke les DAG, les plug-ins, les dépendances de données et les journaux Airflow. Le bucket de l'environnement se trouve dans le projet client.

Lorsque vous importez vos fichiers DAG dans le dossier /dags du bucket de votre environnement, Managed Airflow synchronise les DAG avec les composants Airflow de votre environnement.

Serveur Web Airflow

Le serveur Web Airflow exécute l'interface utilisateur d'Airflow de votre environnement.

Managed Airflow fournit un accès à l'interface en fonction des identités des utilisateurs et des liaisons de stratégie IAM définies pour eux.

Base de données Airflow

La base de données Airflow est une instance Cloud SQL qui s'exécute dans le projet locataire de votre environnement. Elle héberge la base de données de métadonnées Airflow.

Pour protéger les informations sensibles de connexion et de workflows, Managed Airflow n'autorise l'accès à la base de données qu'à le compte de service de votre environnement.

Autres composants Airflow

Les autres composants Airflow qui s'exécutent dans votre environnement sont les suivants :

  • Les programmeurs Airflow analysent les fichiers DAG, planifient l'exécution des DAG en fonction de l'intervalle de programmation et mettent en file d'attente les tâches que les nœuds de calcul Airflow exécuteront.

  • Les déclencheurs Airflow surveillent de manière asynchrone toutes les tâches différées de votre environnement. Si vous définissez un nombre de déclencheurs supérieur à zéro dans votre environnement, vous pouvez utiliser des opérateurs différables dans vos DAG.

  • Les processeurs DAG Airflow traitent les fichiers DAG et les transforment en objets DAG. Dans Managed Airflow (3e génération), les processeurs DAG s'exécutent en tant que composants d'environnement distincts.

  • Les nœuds de calcul Airflow exécutent les tâches planifiées par les programmeurs Airflow. Le nombre minimal et maximal de nœuds de calcul de votre environnement change de façon dynamique en fonction du nombre de tâches de la file d'attente.

Architecture de l'environnement Managed Airflow (3e génération)

Ressources de l'environnement Managed Airflow (3e génération) dans le projet locataire et le projet client
Figure 1. Architecture de l'environnement Managed Airflow (3e génération) (cliquez pour agrandir)

Dans les environnements Managed Airflow (3e génération) :

  • Le projet locataire héberge une instance Cloud SQL avec la base de données Airflow.
  • Toutes les ressources Airflow s'exécutent dans le projet locataire.
  • Le projet client héberge le bucket de l'environnement.
  • Un rattachement de réseau VPC personnalisé dans le projet client peut être utilisé pour associer l'environnement à un réseau VPC personnalisé. Vous pouvez utiliser une pièce jointe existante ou Managed Airflow peut la créer automatiquement à la demande. Il est également possible de dissocier un environnement d'un réseau VPC.
  • Google Cloud La console, Monitoring et Logging dans le projet client permettent de gérer l'environnement, les DAG et les exécutions de DAG, ainsi que d'accéder aux métriques et aux journaux de l'environnement. Vous pouvez également utiliser l'interface utilisateur d'Airflow, Google Cloud CLI, l'API Cloud Composer et Terraform aux mêmes fins.

Dans les environnements Managed Airflow (3e génération) à haute résilience :

  • L'instance Cloud SQL de votre environnement est configurée pour la haute disponibilité (il s'agit d'une instance régionale). Dans une instance régionale, la configuration se compose d'une instance principale et d'une instance de secours.

  • Votre environnement exécute les composants Airflow suivants dans des zones distinctes :

    • Deux programmeurs Airflow
    • Deux serveurs Web
    • Au moins deux processeurs DAG (jusqu'à 10 au total)
    • Si des déclencheurs sont utilisés, au moins deux déclencheurs (jusqu'à 10 au total)

    • Le nombre minimal de nœuds de calcul est défini sur deux, et le cluster de votre environnement répartit les instances de nœuds de calcul entre les zones. En cas de panne de zone, les instances de nœuds de calcul concernées sont reprogrammées dans une autre zone.

Intégration à Cloud Logging et Cloud Monitoring

Managed Airflow s'intègre à Cloud Logging et à Cloud Monitoring de votre Google Cloud projet afin de centraliser l'affichage des journaux Airflow et DAG.

Cloud Monitoring collecte et ingère des métriques, des événements et des métadonnées à partir de Managed Airflow pour générer des insights via des tableaux de bord et des graphiques.

Comme Cloud Logging fonctionne en flux continu, vous pouvez afficher immédiatement les journaux émis par les composants Airflow au lieu d'attendre que les journaux Airflow apparaissent dans le bucket Cloud Storage de votre environnement.

Pour limiter le nombre de journaux dans votre Google Cloud projet, vous pouvez arrêter toutes les ingestions de journaux. Ne désactivez pas Logging.

Étape suivante