Migra entornos a Airflow 3 (en paralelo)

Airflow administrado (gen. 3) | Airflow administrado (gen. 2) | Airflow administrado (gen. 1 heredada)

En esta página, se explica cómo transferir DAG, datos y configuración de tu entorno existente de Airflow administrado (3ª gen.) con Airflow 2 a un entorno de Airflow administrado (3ª gen.) con Airflow 3.

De A Método Guía
Managed Airflow (3ª gen.), Airflow 2 Managed Airflow (3ª gen.), Airflow 3 Transferencia manual paralela esta guía
Managed Airflow (2ª gen.) Managed Airflow (3ª gen.) En paralelo, con la secuencia de comandos de migración Guía de migración de secuencias de comandos
Managed Airflow (2ª gen.) Managed Airflow (3ª gen.) Comparación, con instantáneas Guía de migración de instantáneas
Managed Airflow (1ª gen. heredada), Airflow 2 Managed Airflow (3ª gen.) Comparación, con instantáneas Guía de migración de instantáneas
Managed Airflow (1ª gen. heredada), Airflow 2 Managed Airflow (2ª gen.) Comparación, con instantáneas Guía de migración de instantáneas
Managed Airflow (1ª gen. heredada), Airflow 2 Managed Airflow (2ª gen.) Transferencia manual paralela Guía de migración manual
Managed Airflow (1ª gen. heredada), Airflow 1 Airflow administrado (2ª gen.), Airflow 2 Comparación, con instantáneas Guía de migración de instantáneas
Managed Airflow (1ª gen. heredada), Airflow 1 Airflow administrado (2ª gen.), Airflow 2 Transferencia manual paralela Guía de migración manual
Managed Airflow (1ª gen. heredada), Airflow 1 Managed Airflow (1ª gen. heredada), Airflow 2 Transferencia manual paralela Guía de migración manual

Cambios introducidos en Airflow 3

Antes de comenzar a usar los entornos de Managed Airflow con Airflow 3, ten en cuenta los cambios que Airflow 3 aporta a los entornos de Managed Airflow (3ª gen.).

Para obtener una descripción general de los cambios que se introdujeron en la versión de la comunidad de Airflow 3, consulta ¡Apache Airflow 3 ya está disponible de forma general!.

Control de versiones del DAG

  • En Airflow 3, un DAG se ejecutará hasta completarse según la versión al inicio, incluso si se subió una versión nueva mientras se ejecutaba el DAG.

    • Todas las ejecuciones de DAG en la IU de Airflow ahora están asociadas con la versión de DAG correspondiente (la versión en el momento de la ejecución). Esto incluye la estructura de tareas y el código del DAG.

Mejoras en los reabastecimientos

Airflow 3 presenta una revisión importante de la forma en que se controlan los reabastecimientos (volver a ejecutar canalizaciones para datos históricos). Los reabastecimientos se están trasladando de un proceso manual a una función completamente observable integrada en el motor principal de Airflow:

  • Ahora, los reabastecimientos se administran directamente en el programador de Airflow, en lugar de tratarse como procesos manuales separados. Esto permite una mejor escalabilidad y un control más preciso.
  • Ahora puedes activar, detener y supervisar el progreso del reabastecimiento directamente a través de la IU de Airflow o las llamadas a la API, además de la CLI de Airflow.
  • El programador de Airflow proporciona una mejor visibilidad del estado y el correcto funcionamiento de las ejecuciones históricas de relleno.
  • Si bien la comunidad de aprendizaje automático lo solicitó mucho (para volver a entrenar modelos con datos antiguos), las mejoras en el reabastecimiento se aplican a todos los flujos de trabajo de ETL/ELT.

Mejoras en la seguridad y la confiabilidad

  • En Airflow 3, las tareas se comunican solo con el servidor de API central a través del SDK de tareas (en Airflow 2, las tareas podían tener acceso directo a la base de datos). El servidor de la API agrupa estas conexiones de manera eficiente. Tu base de datos está protegida contra los picos de conexión, lo que hace que todo el entorno sea más estable bajo cargas pesadas.

  • Gracias a una nueva interfaz de ejecución de tareas, Airflow 3 admite un mejor aislamiento entre las tareas, lo que evita que una tarea interfiera potencialmente con los datos de otra tarea o acceda a ellos.

  • La CLI de Airflow 3 se aleja del acceso directo a la base de datos. Una nueva interfaz de línea de comandos airflowctl es un paquete independiente diseñado específicamente para el acceso remoto a través de la API. En lugar de acceder directamente a la base de datos, interactúa con Airflow a través de APIs, lo que es más seguro.

Programación controlada por eventos y recursos de datos

  • Los conjuntos de datos evolucionaron a recursos de datos. Los activos de datos permiten que Airflow realice un mejor seguimiento de los datos creados o actualizados por sistemas externos a Airflow y reaccione a ellos.

  • En Airflow 3, se introdujo un nuevo concepto llamado Observadores. Estos son componentes que supervisan los cambios en un activo de datos, lo que permite que Airflow active flujos de trabajo en el momento en que llegan los datos. En lugar de sondear (comprobar cada minuto si existe un archivo), ahora se puede activar un DAG de forma instantánea en el momento en que un mensaje llega a una cola de mensajes.

  • Airflow 3 introduce una nueva sintaxis centrada en los recursos con decoradores de Python, lo que hace que el código sea más limpio y más intuitivo para los desarrolladores.

IU de Airflow modernizada

  • La IU de Airflow se reescribió desde cero con React (frontend) y FastAPI (backend).
  • La nueva IU de Airflow realiza sus operaciones a través de una API de REST estandarizada y una API especializada para las operaciones de la IU.
  • Al reemplazar la implementación de Flask por FastAPI, la IU de Airflow se vuelve mucho más responsiva.
  • Las vistas de cuadrícula y de gráfico se unificaron para lograr un flujo de trabajo más fluido, lo que facilita el cambio entre las estructuras de DAG de alto nivel y los registros de tareas específicos.

Cambios rotundos en Airflow 3

Airflow 3 introduce algunos cambios importantes, algunos de los cuales son rotundos:

  • No se garantiza que los DAG existentes de Airflow 2 funcionen con Airflow 3 de forma predeterminada. Se deben probar y, posiblemente, ajustar cambiando las importaciones, los parámetros del DAG y otros detalles de implementación.
  • Algunas opciones de configuración de Airflow 2 se quitaron o cambiaron de nombre en Airflow 3. Consulta la Referencia de configuración de Airflow para obtener más información sobre los parámetros.

  • No hay acceso directo a la base de datos de Airflow desde el código de la tarea:

    • El código de la tarea ya no puede importar y usar directamente las sesiones o los modelos de la base de datos de Airflow.
    • No es posible usar PostgresHook y PostgresOperator con la conexión airflow_db.
  • Es posible que algunos paquetes de PyPI personalizados sean incompatibles con la nueva versión de Airflow y sus dependencias.

  • Se reemplazó la API de REST (/api/v1) por /api/v2.

  • Los SubDAG se reemplazan por TaskGroups, Assets y Data Aware Scheduling.

  • Los ANS dejaron de estar disponibles y se quitaron. Se reemplazaron por las Alertas de fecha límite.

  • Se quitó el argumento subdir de los comandos de la CLI.

  • Se quitaron algunas variables de contexto de Airflow. Para obtener más información, consulta Breaking Changes en la documentación de Airflow.

  • El parámetro catchup_by_default del DAG ahora es False de forma predeterminada.

  • La configuración de create_cron_data_intervals ahora es False de forma predeterminada. Esto significa que se usará CronTriggerTimetable de forma predeterminada en lugar de CronDataIntervalTimetable.

  • Lista de cambios de Airflow 3.0.0

  • Lista de cambios de Airflow 3.1.0.

Diferencias entre los entornos con Airflow 3 y Airflow 2

Las principales diferencias entre los entornos de Airflow administrados con Airflow 2 y los entornos con Airflow 3 son las siguientes:

  • Configuración de cargas de trabajo en entornos de Airflow 3:

    • La cantidad mínima de memoria para todos los componentes de Airflow es de 2 GB.
    • Las configuraciones de los activadores y trabajadores de Airflow en los ajustes predeterminados del entorno se modificaron en comparación con los entornos de Airflow 2.
    • La cantidad predeterminada de CPU para los activadores es 1.
    • La cantidad predeterminada de memoria para los activadores es de 2 GB.
  • Se cambió el cálculo automático de la opción de configuración [celery]worker_concurrency para adaptarse al uso de memoria diferente de los componentes de Airflow 3.

  • En Airflow 3, no hay forma de acceder directamente a la base de datos de Airflow desde el código de la tarea.

  • Airflow 3 usa la utilidad de línea de comandos airflowctl para ejecutar comandos de la CLI de Airflow.

  • Los paquetes de PyPI preinstalados son diferentes en los entornos de Airflow 3. Para obtener una lista de los paquetes de PyPI preinstalados, consulta el registro de cambios de los paquetes preinstalados.

Migra a Airflow 3 de forma paralela

El proceso de migración paralela consta de los siguientes pasos:

  1. Comprueba la compatibilidad con Airflow 3.
  2. Crea un entorno de Airflow 3 y transfiere las anulaciones de configuración y las variables de entorno.
  3. Instala paquetes de PyPI en el entorno de Airflow 3.
  4. Transfiere variables, conexiones y grupos a Airflow 3.
  5. Transfiere otros datos del bucket de tu entorno de Airflow 2.*.
  6. Transferir usuarios y roles
  7. Asegúrate de que tus DAG estén listos para Airflow 3.
  8. Transfiere DAGs al entorno de Airflow 3.
  9. Supervisa tu entorno de Airflow 3.

Paso 1: Verifica la compatibilidad con Airflow 3

Para verificar la compatibilidad con Airflow 3, haz lo siguiente:

Paso 2: Crea un entorno de Airflow 3 y transfiere las anulaciones de configuración y las variables de entorno

En este paso, crearás un nuevo entorno de Airflow administrado (3ª gen.) con Airflow 3 y comenzarás a transferir los parámetros de configuración de tu entorno de Airflow 2:

Sigue los pasos para crear un entorno de Airflow administrado (3ª gen.) y haz lo siguiente:

  1. Cuando selecciones una compilación de Airflow, elige una con Airflow 3.
  2. Copia todas las anulaciones de opciones de configuración de Airflow compatibles de tu entorno de Airflow 2.

  3. Copia todas las variables de entorno de tu entorno de Airflow 2.

  4. Continúa para crear un entorno con Airflow 3.

En la siguiente tabla, se enumeran algunos cambios en las opciones de configuración de Airflow. La lista no es exhaustiva. Para obtener más información sobre los cambios en las opciones de configuración de Airflow, consulta la Referencia de configuración de Airflow y las Notas de la versión de Airflow en la documentación de Airflow.

Opción de Airflow 2 Opción de Airflow 3
[scheduler]min_file_process_interval [dag_processor]min_file_process_interval
[webserver]rbac_user_registration_role [api]rbac_user_registration_role
[core]dag_file_processor_timeout [dag_processor]dag_file_processor_timeout
[scheduler]dag_dir_list_interval [dag_processor]refresh_interval
[scheduler]max_threads [dag_processor]parsing_processes
[scheduler]parsing_processes [dag_processor]parsing_processes
[webserver]instance_name [api]instance_name
[scheduler]scheduler_zombie_task_threshold [scheduler]task_instance_heartbeat_timeout
[webserver]rbac Obsoleto
[api]auth_backend=airflow.api.auth.backend.deny_all Obsoleto
[api]auth_backends=airflow.api.auth.backend.deny_all Obsoleto
[api]composer_auth_user_registration_role Obsoleto

Paso 3: Instala paquetes de PyPI en el entorno de Airflow 3

Después de crear tu entorno de Airflow 3, instala paquetes de PyPI en él:

  1. Copia los requisitos del paquete de PyPI de tu entorno de Airflow 2.
  2. Inicia la operación de actualización de los paquetes de PyPI y espera hasta que se actualice el entorno.

Dado que los entornos de Airflow 3 usan un conjunto diferente de paquetes preinstalados, es posible que encuentres conflictos de paquetes de PyPI durante la operación de actualización. Para obtener más información sobre cómo solucionar problemas de conflictos de paquetes de PyPI, consulta Conflictos con paquetes de PyPI preinstalados.

Paso 4: Exporta variables, conexiones y grupos de Airflow 2

Si no tienes variables ni conexiones, omite los comandos de importación y exportación respectivos.

Solo necesitas transferir grupos si tienes grupos personalizados que no sean default_pool. De lo contrario, omite los comandos que exportan e importan grupos.

  1. Exporta variables desde tu entorno de Airflow 2:

    gcloud composer environments run AIRFLOW_2_ENV \
        --location AIRFLOW_2_LOCATION \
        variables -- export /home/airflow/gcs/data/variables.json
    

    Reemplaza lo siguiente:

    • AIRFLOW_2_ENV: Es el nombre de tu entorno de Airflow 2.
    • AIRFLOW_2_LOCATION: Es la región en la que se encuentra el entorno de Airflow 2.
  2. Exporta conexiones desde tu entorno de Airflow 2:

    gcloud composer environments run AIRFLOW_2_ENV \
        --location AIRFLOW_2_LOCATION \
        connections -- export /home/airflow/gcs/data/connections.json
    

    Reemplaza lo siguiente:

    • AIRFLOW_2_ENV: Es el nombre de tu entorno de Airflow 2.
    • AIRFLOW_2_LOCATION: Es la región en la que se encuentra el entorno de Airflow 2.
  3. Exporta grupos desde tu entorno de Airflow 2:

    gcloud composer environments run AIRFLOW_2_ENV \
        --location AIRFLOW_2_LOCATION \
        pools -- export /home/airflow/gcs/data/pools.json
    

    Reemplaza lo siguiente:

    • AIRFLOW_2_ENV: Es el nombre de tu entorno de Airflow 2.
    • AIRFLOW_2_LOCATION: Es la región en la que se encuentra el entorno de Airflow 2.
  4. Obtén el nombre del bucket de tu entorno de Airflow 2:

    gcloud composer environments describe AIRFLOW_2_ENV \
        --location AIRFLOW_2_LOCATION \
        --format="value(storageConfig.bucket)"
    

    Reemplaza lo siguiente:

    • AIRFLOW_2_ENV: Es el nombre de tu entorno de Airflow 2.
    • AIRFLOW_2_LOCATION: Es la región en la que se encuentra el entorno de Airflow 2.
  5. Descarga los archivos variables.json, connections.json y pools.json del directorio /data del bucket de tu entorno de Airflow 2 a un directorio local:

    gcloud storage cp gs://AIRFLOW_2_BUCKET/data/variables.json ./variables.json
    gcloud storage cp gs://AIRFLOW_2_BUCKET/data/connections.json ./connections.json
    gcloud storage cp gs://AIRFLOW_2_BUCKET/data/pools.json ./pools.json
    

    Reemplaza lo siguiente:

    • AIRFLOW_2_BUCKET: Es el nombre del bucket de tu entorno de Airflow 2, que obtuviste en el paso anterior.

Paso 5: Importa variables, conexiones y grupos a Airflow 3

Si no tienes variables ni conexiones, omite los comandos de importación y exportación respectivos.

Solo necesitas transferir grupos si tienes grupos personalizados que no sean default_pool. De lo contrario, omite los comandos que exportan e importan grupos.

  1. Configura airflowctl para ejecutar comandos de la CLI de Airflow para el entorno de Airflow 3.

  2. Importa variables, conexiones y grupos al entorno de Airflow 3 con airflowctl:

    airflowctl variables import ./variables.json
    airflowctl connections import ./connections.json
    airflowctl pools import ./pools.json
    
  3. Confirma que las variables, las conexiones y los grupos se importen al entorno de Airflow 3:

    airflowctl variables list
    airflowctl connections list
    airflowctl pools list
    
  4. Libera espacio en los archivos JSON:

    gcloud storage rm gs://AIRFLOW_2_BUCKET/data/variables.json
    gcloud storage rm gs://AIRFLOW_2_BUCKET/data/connections.json
    gcloud storage rm gs://AIRFLOW_2_BUCKET/data/pools.json
    rm ./variables.json
    rm ./connections.json
    rm ./pools.json
    

    Reemplaza lo siguiente:

    • AIRFLOW_2_BUCKET: Es el nombre del bucket de tu entorno de Airflow 2.

Paso 6: Transfiere otros datos del bucket de tu entorno de Airflow 2

En este paso, transferirás los datos restantes del bucket de tu entorno de Airflow 2.

  1. Obtén el nombre del bucket de tu entorno de Airflow 3:

    gcloud composer environments describe AIRFLOW_3_ENV \
        --location AIRFLOW_3_LOCATION \
        --format="value(storageConfig.bucket)"
    

    Reemplaza lo siguiente:

    • AIRFLOW_3_ENV: Es el nombre de tu entorno de Airflow 3.
    • AIRFLOW_3_LOCATION: Es la región en la que se encuentra el entorno de Airflow 3.
  2. Exporta complementos del bucket de tu entorno de Airflow 2 al directorio /plugins en el bucket de tu entorno de Airflow 3:

    gcloud composer environments storage plugins export \
      --destination=AIRFLOW_3_BUCKET/plugins \
      --environment=AIRFLOW_2_ENV \
      --location=AIRFLOW_2_LOCATION
    

    Reemplaza lo siguiente:

    • AIRFLOW_3_BUCKET: Es el nombre del bucket de tu entorno de Airflow 3, que obtuviste en el paso anterior.
    • AIRFLOW_2_ENV: Es el nombre de tu entorno de Airflow 2.
    • AIRFLOW_2_LOCATION: Es la región en la que se encuentra el entorno de Airflow 2.
  3. Verifica que el directorio /plugins se haya importado correctamente:

    gcloud composer environments storage plugins list \
      --environment=AIRFLOW_3_ENV \
      --location=AIRFLOW_3_LOCATION
    

    Reemplaza lo siguiente:

    • AIRFLOW_3_ENV: Es el nombre de tu entorno de Airflow 3.
    • AIRFLOW_3_LOCATION: Es la región en la que se encuentra el entorno de Airflow 3.
  4. Exporta el directorio /data de tu entorno de Airflow 2 al entorno de Airflow 3:

    gcloud composer environments storage data export \
      --destination=AIRFLOW_3_BUCKET/data \
      --environment=AIRFLOW_2_ENV \
      --location=AIRFLOW_2_LOCATION
    

    Reemplaza lo siguiente:

    • AIRFLOW_3_BUCKET: Es el nombre del bucket de tu entorno de Airflow 3, que obtuviste en el paso anterior.
    • AIRFLOW_2_ENV: Es el nombre de tu entorno de Airflow 2.
    • AIRFLOW_2_LOCATION: Es la región en la que se encuentra el entorno de Airflow 2.
  5. Verifica que la carpeta /data se haya importado correctamente:

    gcloud composer environments storage data list \
      --environment=AIRFLOW_3_ENV \
      --location=AIRFLOW_3_LOCATION
    

Paso 7: Transfiere usuarios y roles

No es posible migrar usuarios ni roles porque airflowctl aún no admite los comandos users y roles.

Paso 8: Asegúrate de que tus DAG estén listos para Airflow 3

  1. Ajusta tus DAG de Airflow para hacerlos compatibles con Airflow 3.

  2. Revisa las tareas escritas de forma personalizada para el acceso directo a la base de datos de Airflow:

    En Airflow 3, los operadores no pueden acceder directamente a la base de datos de metadatos de Airflow con sesiones de bases de datos. Si tienes operadores personalizados, revisa tu código para asegurarte de que no haya llamadas directas de acceso a la base de datos.

    Puedes usar uno de los enfoques alternativos para migrar del acceso directo a la base de datos de Airflow en las tareas:

    Si consultar la base de datos de Airflow exportada no es una opción para tu caso de uso y el cliente de Python de Airflow y airflowctl no proporcionan la funcionalidad requerida, considera solicitar nuevos extremos de API o funciones del SDK de tareas en la versión de la comunidad de Airflow.

  3. Si tienes tareas KubernetesExecutor, reemplaza queue="kubernetes" por executor="KubernetesExecutor" para ajustar sus definiciones de operador.

    Ejemplo de una tarea KubernetesExecutor en Airflow 3:

    PythonOperator(
    task_id="airflow3_kubernetes_executor_task",
    dag=dag,
    python_callable=f,
    executor="KubernetesExecutor",
    )
    
  4. Si usas la variable de entorno AIRFLOW__WEBSERVER__BASE_URL en el código de las tareas, reemplázala por la opción de configuración de Airflow [api]base_url.

    Ejemplo para obtener este valor en Airflow 3:

    from airflow.configuration import conf
    
    webserver_base_url = conf.get("api", "base_url")
    

Paso 9: Transfiere los DAG al entorno de Airflow 3

Los siguientes problemas potenciales pueden ocurrir cuando transfieres DAGs entre entornos:

  • Si un DAG está habilitado (no en pausa) en ambos entornos, cada entorno ejecuta su propia copia del DAG, según lo programado. Esto podría generar ejecuciones simultáneas del DAG para los mismos datos y el mismo tiempo de ejecución.

  • Debido a la recuperación de DAG, Airflow programa ejecuciones de DAG adicionales, comenzando desde la fecha de inicio especificada en tus DAGs. Esto sucede porque la nueva instancia de Airflow no tiene en cuenta el historial de ejecuciones de DAG del entorno de Airflow 2. Esto puede generar una gran cantidad de ejecuciones de DAG programadas a partir de la fecha de inicio especificada.

Evita las ejecuciones simultáneas del DAG

En tu entorno de Airflow 3, anula la opción de configuración de Airflow dags_are_paused_at_creation. Después de realizar este cambio, todos los DAGs nuevos se pausarán de forma predeterminada.

Sección Clave Valor
core dags_are_paused_at_creation True

Cómo evitar ejecuciones de DAG adicionales o faltantes

Especifica una nueva fecha de inicio estática en los DAGs que transfieras a tu entorno de Airflow 3.

Para evitar brechas y superposiciones en las fechas lógicas, la primera ejecución del DAG debe ocurrir en el entorno de Airflow 3 en la próxima ocurrencia del intervalo de programación. Para ello, establece la nueva fecha de inicio en tu DAG para que sea anterior a la fecha de la última ejecución en el entorno de Airflow 2.

Por ejemplo, si tu DAG se ejecuta a las 15:00, a las 17:00 y a las 21:00 todos los días en el entorno de Airflow 2, la última ejecución del DAG ocurrió a las 15:00 y planeas transferir el DAG a las 15:15, la fecha de inicio del entorno de Airflow 3 puede ser hoy a las 14:45. Después de habilitar el DAG en el entorno de Airflow 3, Airflow programa una ejecución del DAG para las 17:00.

Como otro ejemplo, si tu DAG se ejecuta a las 00:00 todos los días en el entorno de Airflow 2, la última ejecución de DAG ocurrió a las 00:00 el 26 de marzo de 2026 y planeas transferir el DAG a las 13:00 del 26 de marzo de 2026, la fecha de inicio del entorno de Airflow 3 puede ser a las 23:45 del 25 de marzo de 2026. Después de habilitar el DAG en el entorno de Airflow 3, Airflow programa una ejecución del DAG para las 00:00 el 27 de marzo de 2026.

Transfiere tus DAG uno por uno al entorno de Airflow 3

Para cada DAG, sigue este procedimiento para transferirlo:

  1. Asegúrate de que la nueva fecha de inicio en el DAG esté configurada como se describe en la sección anterior.

  2. Sube el DAG actualizado al entorno de Airflow 3. Este DAG está en pausa en el entorno de Airflow 3 debido a la anulación de la configuración, por lo que aún no se programaron ejecuciones de DAG.

  3. En la interfaz web de Airflow, ve a DAGs y busca errores de sintaxis informados en los DAG.

  4. En el momento en que planees transferir el DAG, haz lo siguiente:

    1. Pausa el DAG en tu entorno de Airflow 2.

    2. Reanuda el DAG en tu entorno de Airflow 3.

    3. Verifica que la nueva ejecución del DAG esté programada para la hora correcta.

    4. Espera a que se ejecute el DAG en el entorno de Airflow 3 y verifica si la ejecución se realizó correctamente.

  5. Según si la ejecución del DAG es exitosa, haz lo siguiente:

    • Si la ejecución del DAG se realiza correctamente, puedes continuar y usar el DAG desde tu entorno de Airflow 3. Finalmente, considera borrar la versión de Airflow 2 del DAG.

    • Si la ejecución del DAG falló, intenta solucionar los problemas del DAG hasta que se ejecute correctamente en Airflow 3.

      Si es necesario, siempre puedes volver a la versión 2 de Airflow del DAG:

      1. Pausa el DAG en tu entorno de Airflow 3.

      2. Reanuda el DAG en tu entorno de Airflow 3. Esto programa una nueva ejecución del DAG para la misma fecha y hora que la ejecución fallida.

      3. Cuando esté todo listo para continuar con la versión de Airflow 3 del DAG, ajusta la fecha de inicio, sube la nueva versión del DAG a tu entorno de Airflow 3 y repite el procedimiento.

Paso 10: Supervisa tu entorno de Airflow 3

Después de transferir todos los DAG y la configuración al entorno de Airflow 3, supervisa si hay problemas potenciales, ejecuciones de DAG fallidas y el estado general del entorno. Si el entorno de Airflow 3 se ejecuta sin problemas durante un período suficiente, puedes quitar el entorno de Airflow 2.

¿Qué sigue?