Uso de las opciones de configuración de Apache Airflow en Amazon MWAA - Amazon Managed Workflows para Apache Airflow

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de las opciones de configuración de Apache Airflow en Amazon MWAA

Las opciones de configuración de Apache Airflow se pueden adjuntar a su entorno de Amazon Managed Workflows para Apache Airflow como variables de entorno. Puedes elegir de la lista desplegable sugerida o especificar opciones de configuración personalizadas para tu versión de Apache Airflow en la consola de AmazonMWAA. En este tema se describen las opciones de configuración de Apache Airflow disponibles y cómo utilizarlas para anular las opciones de configuración de Apache Airflow en su entorno.

Requisitos previos

Para poder llevar a cabo los pasos de esta página, necesitará lo siguiente.

  • Permisos: su administrador debe haber concedido a su AWS cuenta el acceso a la política de control de mazonMWAAFull ConsoleAccess acceso A de su entorno. Además, su rol de ejecución debe permitir que su MWAA entorno de Amazon acceda a los AWS recursos que utiliza su entorno.

  • Acceso: si tiene que acceder a los repositorios públicos para instalar dependencias directamente en el servidor web, su entorno debe estar configurado con acceso a un servidor web de red pública. Para obtener más información, consulte Modos de acceso de Apache Airflow.

  • Configuración de Amazon S3: el bucket de Amazon S3 que se utiliza para almacenar los complementos personalizados y las dependencias de Python requirements.txt debe estar configurado con el acceso público bloqueado y el control de versiones activado. DAGs plugins.zip

Funcionamiento

Cuando crea un entorno, Amazon MWAA adjunta los ajustes de configuración que especifique en la MWAA consola de Amazon en las opciones de configuración de Airflow como variables de entorno al AWS Fargate contenedor de su entorno. Si utilizas una configuración con el mismo nombre enairflow.cfg, las opciones que especifiques en la MWAA consola de Amazon anularán los valores deairflow.cfg.

Si bien no las exponemos airflow.cfg en la interfaz de usuario de Apache Airflow de un MWAA entorno de Amazon de forma predeterminada, puede cambiar las opciones de configuración de Apache Airflow directamente en la MWAA consola de Amazon, incluida la configuración webserver.expose_config para exponer las configuraciones.

Uso de las opciones de configuración para cargar complementos en Apache Airflow v2

De forma predeterminada, en Apache Airflow v2, los complementos se configuran para que se carguen de forma “lenta” mediante la configuración core.lazy_load_plugins : True. Si utiliza complementos personalizados en Apache Airflow v2, debe agregar core.lazy_load_plugins : False como opción de configuración de Apache Airflow para cargar los complementos al inicio de cada proceso de Airflow a fin de anular la configuración predeterminada.

Información general de las opciones de configuración

Al añadir una configuración en la MWAA consola de Amazon, Amazon MWAA escribe la configuración como una variable de entorno.

  • Opciones enumeradas. Puede elegir uno de los ajustes de configuración disponibles para su versión de Apache Airflow en la lista desplegable. Por ejemplo, dag_concurrency : 16. El ajuste de configuración se traduce al contenedor de Fargate de su entorno como AIRFLOW__CORE__DAG_CONCURRENCY : 16

  • Opciones personalizadas. También puede especificar las opciones de configuración de Airflow que no aparecen en la lista desplegable para su versión de Apache Airflow. Por ejemplo, foo.user : YOUR_USER_NAME. El ajuste de configuración se traduce al contenedor de Fargate de su entorno como AIRFLOW__FOO__USER : YOUR_USER_NAME

Opciones de configuración de Apache Airflow

La siguiente imagen muestra dónde puede personalizar las opciones de configuración de Apache Airflow en la MWAA consola de Amazon.

Esta imagen muestra dónde puedes personalizar las opciones de configuración de Apache Airflow en la MWAA consola de Amazon.

Referencia de Apache Airflow

Para obtener una lista de las opciones de configuración compatibles con Apache Airflow, consulte la referencia de configuración en la guía de referencia de Apache Airflow. Para ver las opciones de la versión de Apache Airflow que utilizas en AmazonMWAA, selecciona la versión en la lista desplegable.

Uso de la MWAA consola de Amazon

A continuación, se explican los pasos que debe seguir para añadir una opción de configuración de Apache Airflow a su entorno.

  1. Abre la página Entornos en la MWAA consola de Amazon.

  2. Seleccione un entorno.

  3. Elija Editar.

  4. Elija Siguiente.

  5. Seleccione Agregar configuración personalizada en el panel Opciones de configuración de Airflow.

  6. En la lista desplegable, elija una opción de configuración e introduzca un valor. También puede escribir una configuración personalizada e introducir un valor.

  7. Seleccione Agregar configuración personalizada para cada configuración que desee agregar.

  8. Seleccione Guardar.

Referencia de la configuración

La siguiente sección contiene la lista de configuraciones de Apache Airflow disponibles en la lista desplegable de la consola de AmazonMWAA.

Configuración de correo electrónico

La siguiente lista muestra las opciones de configuración de las notificaciones por correo electrónico de Airflow disponibles en AmazonMWAA.

Recomendamos utilizar el puerto 587 para el SMTP tráfico. De forma predeterminada, AWS bloquea el SMTP tráfico saliente en el puerto 25 de todas las EC2 instancias de Amazon. Si desea enviar tráfico saliente por el puerto 25, solicite que se elimine esta restricción.

Apache Airflow v2
Versión de Airflow Opción de configuración de Airflow Descripción Ejemplo de valor

v2

email.email_backend

La utilidad Apache Airflow utilizada para las notificaciones por correo electrónico en email_backend.

airflow.utils.email.send_email_smtp

v2

smtp.smtp_host

El nombre del servidor saliente utilizado como dirección de correo electrónico en smtp_host.

localhost

v2

smtp.smtp_starttls

Transport Layer Security (TLS) se utiliza para cifrar el correo electrónico a través de Internet en smtp_starttls.

False

v2

smtp.smtp_ssl

Secure Sockets Layer (SSL) se utiliza para conectar el servidor y el cliente de correo electrónico en smtp_ssl.

True

v2

smtp.smtp_port

El puerto del Protocolo de control de transmisión (TCP) designado para el servidor en smtp_port.

587

v2

smtp.smtp_mail_from

La dirección de correo electrónico saliente en smtp_mail_from.

myemail@domain.com

Configuración de tareas

La siguiente lista muestra las configuraciones disponibles en la lista desplegable para las tareas de Airflow en Amazon. MWAA

Apache Airflow v2
Versión de Airflow Opción de configuración de Airflow Descripción Ejemplo de valor

v2

core.default_task_retries

El número de veces que se debe volver a intentar una tarea de Apache Airflow en default_task_retries.

3

v2

core.parallelism

El número máximo de instancias de tareas que se pueden ejecutar simultáneamente en todo el entorno en paralelo (paralelismo).

40

Configuraciones del programador

La siguiente lista muestra las configuraciones del programador Apache Airflow disponibles en la lista desplegable de Amazon. MWAA

Apache Airflow v2
Versión de Airflow Opción de configuración de Airflow Descripción Ejemplo de valor

v2

scheduler.catchup_by_default

Le dice al programador que cree una DAG ejecución para «alcanzar» el intervalo de tiempo específico en catchup_by_default.

False

v2

scheduler.scheduler_zombie_task_threshold

Indica al programador si debe marcar la instancia de la tarea como fallida y volver a programarla en scheduler_zombie_task_threshold.

300

Configuraciones del proceso de trabajo

La siguiente lista muestra las configuraciones de trabajadores de Airflow disponibles en la lista desplegable de Amazon. MWAA

Apache Airflow v2
Versión de Airflow Opción de configuración de Airflow Descripción Ejemplo de valor

v2

celery.worker_autoscale

El número máximo y mínimo de tareas que se pueden ejecutar simultáneamente en cualquier proceso de trabajo que utilice el Celery Executor de worker_autoscale. El valor debe estar separado por comas en el siguiente orden: max_concurrency,min_concurrency.

16, 12

Configuraciones del servidor web

La siguiente lista muestra las configuraciones del servidor web Airflow disponibles en la lista desplegable de Amazon. MWAA

Apache Airflow v2
Versión de Airflow Opción de configuración de Airflow Descripción Ejemplo de valor

v2

webserver.default_ui_timezone

La configuración de fecha y hora de la interfaz de usuario de Apache Airflow predeterminada en default_ui_timezone.

nota

Si configuras default_ui_timezone esta opción, no cambiarás la zona horaria en la que DAGs tienes previsto correr. Para cambiar tu zona horariaDAGs, puedes usar un complemento personalizado. Para obtener más información, consulte Cómo cambiar la zona horaria de un DAG en Amazon MWAA.

America/New_York

Configuraciones del desencadenador

La siguiente lista muestra las configuraciones del activador de Apache Airflow disponibles en Amazon. MWAA

Apache Airflow v2
Versión de Airflow Opción de configuración de Airflow Descripción Ejemplo de valor

v2.7

mwaa.triggerer_enabled

Se utiliza para activar y desactivar el activador en Amazon. MWAA De forma predeterminada, este valor se establece en True. Si se establece enFalse, Amazon no MWAA iniciará ningún proceso activador en los programadores.

True

v2.7

triggerer.default_capacity

Define el número de desencadenamientos que cada desencadenador puede ejecutar en paralelo. En AmazonMWAA, esta capacidad se establece para cada activador y para cada programador, ya que ambos componentes se ejecutan uno junto al otro. El valor predeterminado para cada programador es 60, 125, 250, 500 y 1000 para instancias pequeñas, medianas y grandes, xlarge y 2xlarge respectivamente.

125

Ejemplos y código de ejemplo

Ejemplo DAG

Puede utilizar lo siguiente DAG para imprimir las opciones de configuración de email_backend Apache Airflow. Para ejecutarlo en respuesta a MWAA eventos de Amazon, copia el código en la DAGs carpeta de tu entorno en el depósito de almacenamiento de 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()

Ejemplo de configuración de las notificaciones por correo electrónico

Las siguientes opciones de configuración de Apache Airflow se pueden utilizar para una cuenta de correo electrónico de Gmail.com con una contraseña de aplicación. Para obtener más información, consulte Cómo iniciar sesión con contraseñas de aplicaciones en la Guía de referencia de la ayuda de Gmail.

Esta imagen muestra cómo configurar una cuenta de correo electrónico de gmail.com mediante las opciones de configuración de Apache Airflow de la consola. MWAA

Siguientes pasos