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. Puede elegir una opción de la lista desplegable sugerida o especificar opciones de configuración personalizadas para su versión de Apache Airflow en la consola Amazon MWAA. En esta página, se describen las opciones de configuración de Apache Airflow disponibles y cómo utilizarlas para anular los ajustes 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 FullConsoleacceso de AmazonMWAA para su entorno. Además, su rol de ejecución debe permitir que su entorno Amazon MWAA 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 DAG, los complementos personalizados en plugins.zip y las dependencias de Python en requirements.txt deben estar configurados con el acceso público bloqueado y el control de versiones activado.

Funcionamiento

Al crear un entorno, Amazon MWAA adjunta los ajustes de configuración que especifique en la consola de Amazon MWAA en las opciones de configuración de Airflow como variables de entorno al contenedor de su entorno. AWS Fargate Si utiliza una configuración con el mismo nombre en airflow.cfg, las opciones que especifique en la consola Amazon MWAA anularán los valores incluidos en airflow.cfg.

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

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

Cuando agrega una configuración en la consola Amazon MWAA, 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 consola Amazon MWAA.

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

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 ejecuta en Amazon MWAA, seleccione la versión en la lista desplegable.

Uso de la consola de Amazon MWAA

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. Abra la página Entornos en la consola de Amazon MWAA.

  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 Amazon MWAA.

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 Amazon MWAA.

Recomendamos utilizar el puerto 587 para el tráfico SMTP. De forma predeterminada, AWS bloquea el tráfico SMTP saliente en el puerto 25 de todas las instancias de Amazon EC2. 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

La seguridad de la capa de transporte (TLS) se utiliza para cifrar el correo electrónico a través de Internet en smtp_starttls.

False

v2

smtp.smtp_ssl

Se usa la capa de sockets seguros (SSL) para conectar el servidor y el cliente de correo electrónico en smtp_ssl.

True

v2

smtp.smtp_port

El puerto de protocolo de control de transmisión (TCP) designado al 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

Indica al programador que cree una ejecución de DAG para “alcanzar” el intervalo de tiempo específico de 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 del proceso de trabajo 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 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

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 se configura la opción default_ui_timezone, no se modifica la zona horaria en la que está programada la ejecución de los DAG. Para cambiar la zona horaria de los DAG, puede utilizar un complemento personalizado. Para obtener más información, consulte Cambiar la zona horaria DAG de un usuario en Amazon MWAA.

America/New_York

Configuraciones del desencadenador

La siguiente lista muestra las configuraciones del desencadenador 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 desencadenador en Amazon MWAA. De forma predeterminada, este valor se establece en True. Si se establece como False, Amazon MWAA no iniciará ningún proceso desencadenador en los programadores.

True

v2.7

triggerer.default_capacity

Define el número de desencadenamientos que cada desencadenador puede ejecutar en paralelo. En Amazon MWAA, esta capacidad se establece para cada desencadenador y para cada programador, ya que ambos componentes funcionan juntos. El valor predeterminado para cada programador se establece en60, 125 250500, y 1000 para las instancias pequeñas, medianas y grandes, xlarge y 2xlarge, respectivamente.

125

Ejemplos y código de ejemplo

Ejemplo de DAG

Puede usar el siguiente DAG para imprimir las opciones de configuración email_backend de Apache Airflow. Para ejecutarlo en respuesta a eventos de Amazon MWAA, copie el código en la carpeta DAG de su entorno en su bucket 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.

En esta imagen se muestra cómo configurar una cuenta de correo de gmail.com mediante las opciones de configuración de Apache Airflow en la consola MWAA.

Siguientes pasos