View a markdown version of this page

Utilisation des options de configuration d'Apache Airflow sur Amazon MWAA - Amazon Managed Workflows for Apache Airflow

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des options de configuration d'Apache Airflow sur Amazon MWAA

Les options de configuration d'Apache Airflow peuvent être associées à votre environnement Amazon Managed Workflows pour Apache Airflow en tant que variables d'environnement. Vous pouvez faire votre choix dans la liste déroulante suggérée ou spécifier des options de configuration personnalisées pour votre version d'Apache Airflow sur la console Amazon MWAA. Cette rubrique décrit les options de configuration d'Apache Airflow disponibles et explique comment les utiliser pour modifier les paramètres de configuration d'Apache Airflow dans votre environnement.

Conditions préalables

Vous aurez besoin des éléments suivants avant de pouvoir effectuer les étapes de cette page.

  • Autorisations  : votre administrateur Compte AWS doit vous avoir accordé l'accès à la politique de contrôle AmazonMWAAFullConsoleAccess d'accès de votre environnement. En outre, votre environnement Amazon MWAA doit être autorisé par votre rôle d'exécution à accéder aux AWS ressources utilisées par votre environnement.

  • Accès  : si vous avez besoin d'accéder à des référentiels publics pour installer des dépendances directement sur le serveur Web, votre environnement doit être configuré avec un accès au serveur Web du réseau public. Pour plus d’informations, consultez Modes d’accès Apache Airflow.

  • Configuration Amazon S3  : le compartiment Amazon S3 utilisé pour stocker vos DAG, vos plugins personnalisés et vos dépendances Python dans plugins.zip requirements.txt doit être configuré avec l'accès public bloqué et la gestion des versions activée.

Comment ça marche

Lorsque vous créez un environnement, Amazon MWAA associe les paramètres de configuration que vous spécifiez sur la console Amazon MWAA dans les options de configuration d'Airflow en tant que variables d'environnement au AWS Fargate conteneur de votre environnement. Si vous utilisez un paramètre du même nom dansairflow.cfg, les options que vous spécifiez sur la console Amazon MWAA remplacent les valeurs de. airflow.cfg

Bien que nous ne les exposons pas par défaut airflow.cfg dans l'interface utilisateur Apache Airflow d'un environnement Amazon MWAA, vous pouvez modifier les options de configuration d'Apache Airflow directement sur la console Amazon MWAA, y compris les paramètres permettant d'webserver.expose_configexposer les configurations.

Utilisation des options de configuration pour charger des plugins

Par défaut, dans Apache Airflow v2 et versions ultérieures, les plugins sont configurés pour être chargés « paresseusement » à l'core.lazy_load_plugins : Trueaide de ce paramètre. Si vous utilisez des plugins personnalisés, vous devez ajouter core.lazy_load_plugins : False comme option de configuration Apache Airflow pour charger les plugins au début de chaque processus Airflow afin de modifier le paramètre par défaut.

Vue d'ensemble des options de configuration

Lorsque vous ajoutez une configuration sur la console Amazon MWAA, Amazon MWAA écrit la configuration en tant que variable d'environnement.

  • Options répertoriées. Vous pouvez choisir l'un des paramètres de configuration disponibles pour votre version d'Apache Airflow dans la liste déroulante. Par exemple, dag_concurrency : 16. Le paramètre de configuration est traduit dans le conteneur Fargate de votre environnement sous la forme AIRFLOW__CORE__DAG_CONCURRENCY : 16

  • Options personnalisées. Vous pouvez également spécifier des options de configuration Airflow qui ne sont pas répertoriées pour votre version d'Apache Airflow dans la liste déroulante. Par exemple, foo.user : YOUR_USER_NAME. Le paramètre de configuration est traduit dans le conteneur Fargate de votre environnement sous la forme AIRFLOW__FOO__USER : YOUR_USER_NAME

Options de configuration Apache Airflow

L'image suivante montre où vous pouvez personnaliser les options de configuration d'Apache Airflow sur la console Amazon MWAA.

Cette image montre où vous pouvez personnaliser les options de configuration d'Apache Airflow sur la console Amazon MWAA.

Référence Apache Airflow

Pour obtenir la liste des options de configuration prises en charge par Apache Airflow, reportez-vous à la section Référence https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html de configuration du guide de référence Apache Airflow. Pour accéder aux options de la version d'Apache Airflow que vous utilisez sur Amazon MWAA, sélectionnez la version dans la liste déroulante.

Utilisation de la console Amazon MWAA

La procédure suivante explique les étapes à suivre pour ajouter une option de configuration Airflow à votre environnement.

  1. Ouvrez la page Environnements sur la console Amazon MWAA.

  2. Choisissez un environnement.

  3. Choisissez Modifier.

  4. Choisissez Suivant.

  5. Choisissez Ajouter une configuration personnalisée dans le volet des options de configuration d'Airflow.

  6. Choisissez une configuration dans la liste déroulante et entrez une valeur, ou entrez une configuration personnalisée et entrez une valeur.

  7. Choisissez Ajouter une configuration personnalisée pour chaque configuration que vous souhaitez ajouter.

  8. Choisissez Enregistrer.

Référence de configuration

La section suivante contient la liste des configurations Apache Airflow disponibles dans la liste déroulante de la console Amazon MWAA.

Configurations de messagerie

La liste suivante répertorie les options de configuration des notifications par e-mail Airflow disponibles sur Amazon MWAA pour Apache Airflow v2 et v3.

Nous vous recommandons d'utiliser le port 587 pour le trafic SMTP. Par défaut, AWS bloque le trafic SMTP sortant sur le port 25 de toutes les instances Amazon EC2. Si vous souhaitez envoyer du trafic sortant sur le port 25, vous pouvez demander la suppression de cette restriction.

Option de configuration du flux d'air Description Exemple de valeur

email.email_backend

L'utilitaire Apache Airflow utilisé pour les notifications par e-mail dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#email-backend email_backend.

airflow.utils.email.send_email_smtp

smtp.smtp_hôte

Le nom du serveur sortant utilisé pour l'adresse e-mail dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-host smtp_host.

localhost

smtp.smtp_start.tls

Le protocole TLS (Transport Layer Security) est utilisé pour chiffrer le courrier électronique sur Internet dans smtp_starttls.

False

smtp .smtp_ssl

Le protocole SSL (Secure Sockets Layer) est utilisé pour connecter le serveur et le client de messagerie dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-ssl smtp_ssl.

True

smtp .smtp_port_smtp

Port TCP (Transmission Control Protocol) attribué au serveur dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-port smtp_port.

587

smtp.smtp_mail_from

L'adresse e-mail sortante dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#smtp-mail-from smtp_mail_from.

myemail@domain.com

Configurations des tâches

La liste suivante affiche les configurations disponibles dans la liste déroulante pour les tâches Airflow sur Amazon MWAA pour Apache Airflow v2 et v3.

Option de configuration du flux d'air Description Exemple de valeur

core.default_task_retries

Le nombre de nouvelles tentatives d'une tâche Apache Airflow dans default_task_retries.

3

parallélisme de base

Nombre maximum d'instances de tâches pouvant être exécutées simultanément dans l'ensemble de l'environnement en parallèle (parallélisme).

40

Configurations du planificateur

La liste suivante répertorie les configurations du planificateur Apache Airflow disponibles dans la liste déroulante d'Amazon MWAA pour Apache Airflow v2 et v3.

Option de configuration du flux d'air Description Exemple de valeur

scheduler.catchup_by_default

Indique au planificateur de créer un DAG exécuté pour « rattraper » l'intervalle de temps spécifique dans https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#catchup-by-default catchup_by_default.

False

scheduler.scheduler_zombie_task_threshold

Note

Non disponible dans Apache Airflow v3.

Indique au planificateur s'il doit marquer l'instance de tâche comme ayant échoué et replanifier la tâche dans scheduler_zombie_task_threshold. https://airflow.apache.org/docs/apache-airflow/2.0.2/configurations-ref.html#scheduler-zombie-task-threshold

300

Configurations des employés

La liste suivante répertorie les configurations de travail Airflow disponibles dans la liste déroulante d'Amazon MWAA pour Apache Airflow v2 et v3.

Option de configuration du flux d'air Description Exemple de valeur

celery.worker_autoscale

Le nombre maximum et minimum de tâches pouvant être exécutées simultanément sur n'importe quel worker à l'aide de l'exécuteur Celery dans worker_autoscale. La valeur doit être séparée par des virgules dans l'ordre suivant :. max_concurrency,min_concurrency

16,12

mwaa.worker_replacement_threshold_seconds

Définit le nombre de secondes au bout duquel Amazon MWAA arrête et remplace un travailleur défectueux. Lorsqu'il est défini sur une valeur supérieure à 0, Amazon MWAA remplace tout travailleur qui n'est pas revenu à un état sain dans les limites du seuil configuré. Si ce paramètre est défini sur 0 (valeur par défaut), les travailleurs en mauvaise santé ne sont remplacés que lorsqu'ils atteignent le statut « rouge ».

300

Configurations du serveur Web

La liste suivante répertorie les configurations de serveur Web Apache Airflow disponibles dans la liste déroulante d'Amazon MWAA pour Apache Airflow v2 et v3.

Option de configuration du flux d'air Description Exemple de valeur

serveur web.default_ui_timezone

Note

Non disponible dans Apache Airflow v3.

Le paramètre de date/heure par défaut de l'interface utilisateur Apache Airflow dans default_ui_timezone.

Note

Le réglage de default_ui_timezone cette option ne modifie pas le fuseau horaire dans lequel l'exécution de vos DAG est programmée. Pour modifier le fuseau horaire de vos DAG, vous pouvez utiliser un plugin personnalisé. Pour plus d’informations, consultez Modifier le fuseau horaire d'un DAG sur Amazon MWAA.

America/New_York

Configurations des déclencheurs

La liste suivante répertorie les configurations du déclencheur Apache Airflow disponibles sur Amazon MWAA pour Apache Airflow v2 et v3.

Option de configuration du flux d'air Description Exemple de valeur

mwaa.triggerer_enabled

Utilisé pour activer et désactiver le déclencheur sur Amazon MWAA. Par défaut, cette valeur indique True. Si ce paramètre est défini surFalse, Amazon MWAA ne lancera aucun processus de déclenchement sur les planificateurs.

True

triggerer.default_capacity (dans la v2)

triggerer.capacity (dans la version 3)

Définit le nombre de déclencheurs que chaque déclencheur peut exécuter en parallèle. Sur Amazon MWAA, cette capacité est définie pour chaque déclencheur et pour chaque planificateur, car les deux composants fonctionnent côte à côte. La valeur par défaut par planificateur est définie sur 60125,, 250500, et 1000 pour les petites, moyennes et grandes instances, xlarge et 2xlarge, respectivement.

125

Configurations non prises en charge

Les options de configuration Apache Airflow suivantes ne sont pas disponibles dans Amazon MWAA. Vous ne pouvez pas définir ou modifier ces options à l'aide de la console ou de l'API Amazon MWAA.

Option de configuration du flux d'air Version d'Apache Airflow Valeur par défaut Raison

core.multi_team

3.2

False

Amazon MWAA ne prend pas en charge le mode multi-équipes pour le moment. L'activation de cette fonctionnalité est incompatible avec l'authentification Amazon MWAA, la gestion des secrets au niveau de l' CeleryExecutorenvironnement et la gestion des secrets.

triggerer.queues_enabled

3.2

False

Amazon MWAA ne prend pas en charge l'attribution de files d'attente par déclencheur. L'activation de cette option entraîne le blocage indéfini des tâches différées.

Exemples et exemples de code

Exemple DAG

Vous pouvez utiliser le DAG suivant pour imprimer vos options de configuration d'email_backendApache Airflow. Pour exécuter en réponse à des événements Amazon MWAA, copiez le code dans le dossier DAGS de votre environnement sur votre compartiment de stockage Amazon S3.

from airflow.decorators import dag from datetime import datetime def print_var(**kwargs): email_backend = kwargs['conf'].get(section='email', key='email_backend') print("email_backend") return email_backend @dag( dag_id="print_env_variable_example", schedule_interval=None, start_date=datetime(yyyy, m, d), catchup=False, ) def print_variable_dag(): email_backend_test = PythonOperator( task_id="email_backend_test", python_callable=print_var, provide_context=True ) print_variable_test = print_variable_dag()

Exemples de paramètres de notification par e-mail

Les options de configuration Apache Airflow suivantes peuvent être utilisées pour un compte de Gmail.com messagerie à l'aide d'un mot de passe d'application. Pour plus d'informations, consultez la section Se connecter à l'aide des mots de passe des applications dans le guide de référence de l'aide Gmail.

Cette image montre comment configurer un compte de messagerie gmail.com à l'aide des options de configuration d'Apache Airflow sur la console MWAA.

Quelle est la prochaine étape ?