Modèle de responsabilité partagée pour Managed Airflow

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

Pour gérer une application stratégique sur Managed Airflow, différentes responsabilités doivent être assumées par plusieurs groupes. Bien qu'il ne s'agisse pas d'une liste exhaustive, ce document répertorie les responsabilités respectives de Google et du client.

Responsabilités de Google

  • Renforcement et application de correctifs aux composants et à l'infrastructure sous-jacente de l'environnement Managed Airflow, y compris le cluster Google Kubernetes Engine, la base de données Cloud SQL (qui héberge la base de données Airflow), Pub/Sub, Artifact Registry et d'autres éléments de l'environnement. Cela inclut en particulier la mise à niveau automatique de l'infrastructure sous-jacente, y compris le cluster GKE et l'instance Cloud SQL d'un environnement.

  • Protection de l'accès aux environnements Managed Airflow grâce à l'intégration du contrôle des accès fourni par IAM, au chiffrement des données au repos par défaut, à la fourniture d'un chiffrement de stockage supplémentaire géré par le client, et au chiffrement des données en transit.

  • Fourniture d'intégrations pour Identity and Access Management, Cloud Audit Logs et Cloud Key Management Service. Google Cloud

  • Limitation et consignation de l'accès administrateur Google aux clusters de clients à des fins d'assistance contractuelle avec Access Transparency et Access Approval.

  • Publication d'informations sur les modifications incompatibles avec les versions antérieures entre Managed Airflow et les versions d'Airflow dans les notes de version de Managed Airflow.

  • Mise à jour de la documentation Managed Airflow :

    • Description de toutes les fonctionnalités fournies par Managed Airflow.

    • Instructions de dépannage permettant de maintenir les environnements en bon état.

    • Publication d'informations sur les problèmes connus avec des solutions de contournement (le cas échéant).

  • Résolution des incidents de sécurité critiques liés aux environnements Managed Airflow et aux images Airflow fournies par Managed Airflow (à l'exclusion des packages Python installés par le client) en fournissant de nouvelles versions d'environnement qui résolvent les incidents.

  • Dépannage des problèmes d'état de l'environnement Managed Airflow, en fonction du plan d'assistance du client.

  • Maintenance et extension des fonctionnalités du fournisseur Terraform Managed Airflow.

  • Collaboration avec la communauté Apache Airflow pour la maintenance et le développement des opérateurs Google Airflow.

  • Dépannage et, si possible, résolution des problèmes liés aux fonctionnalités de base d'Airflow.

Responsabilités du client

  • Mise à niveau vers de nouvelles versions de Managed Airflow et d'Airflow pour continuer à bénéficier de l'assistance pour le produit et résoudre les problèmes de sécurité une fois que le service Managed Airflow publie une version de Managed Airflow qui résout les problèmes.

  • Maintenance du code des DAG pour le maintenir compatible avec la version d'Airflow utilisée.

  • Maintenance des autorisations appropriées dans IAM pour le compte de service de l'environnement. En particulier, conservation des autorisations requises par l' agent Managed Airflow et le compte de service de l'environnement. Conservation de l'autorisation requise pour la clé CMEK utilisée pour le chiffrement de l'environnement Managed Airflow et rotation de cette clé en fonction de vos besoins.

  • Maintenance des autorisations appropriées dans IAM pour le bucket de l'environnement .

  • Maintenance des autorisations IAM appropriées pour un compte de service qui effectue des installations de packages PyPI. Pour en savoir plus, consultez la page Contrôle des accès.

  • Maintenance des autorisations appropriées des utilisateurs finaux dans IAM et configuration du contrôle des accès de l'UI Airflow.

  • Maintien de la taille de la base de données Airflow en dessous de 20 Go en configurant une règle de conservation de la base de données.

  • Résolution de tous les problèmes d'analyse DAG avant de créer des demandes d'assistance auprès de Cloud Customer Care.

  • Nommage correct des DAG (par exemple, sans utiliser de caractères invisibles tels que SPACE ou TAB dans les noms de DAG) afin que les métriques puissent être correctement générées pour les DAG.

  • Mise à niveau du code des DAG afin qu'il n'utilise pas d'opérateurs obsolètes et migration vers leurs alternatives à jour. Les opérateurs obsolètes peuvent être supprimés des fournisseurs Airflow, ce qui peut avoir un impact sur vos plans de mise à niveau vers une version ultérieure de Managed Airflow ou d'Airflow. Les opérateurs obsolètes ne sont pas non plus maintenus et doivent être utilisés "tels quels".

  • Configuration des autorisations IAM appropriées lors de l'utilisation de backends secrets tels que Secret Manager afin que le compte de service de l'environnement y ait accès.

  • Ajustement des paramètres de l'environnement Managed Airflow (tels que le processeur et la mémoire des composants Airflow) et des configurations Airflow pour répondre aux attentes en termes de performances et de charge des environnements Managed Airflow à l'aide du guide d'optimisation de Managed Airflow et du guide de scaling de l'environnement.

  • Éviter de supprimer les autorisations requises par l'agent Managed Airflow et les comptes de service de l'environnement (la suppression de ces autorisations peut entraîner l'échec des opérations de gestion ou des DAG et des tâches).

  • Maintien de l'activation de tous les services et API requis par Managed Airflow toujours activé. Des quotas doivent être configurés pour ces dépendances aux niveaux requis pour Managed Airflow.

  • Suivi des recommandations et des bonnes pratiques pour l'implémentation des DAG.

  • Diagnostic des échecs de DAG et de tâches à l'aide des instructions de dépannage du programmateur, dépannage des DAG et de dépannage du déclencheur.

  • Maintenance d'un plan de reprise après sinistre, y compris la configuration et la gestion des instantanés pour répondre à vos besoins en matière de conservation des données et de continuité des opérations. Google ne restaure pas les environnements supprimés ni leurs sauvegardes de base de données.

  • Maintenance de la chaîne d'approvisionnement des dépendances Python pour les packages installés par le client. Cela inclut la résolution des erreurs d'installation causées par des incompatibilités de dépendances Python et la définition de contraintes de version spécifiques lors de l'ajout ou de la modification de ces packages.

Étape suivante