Migra entornos a Cloud Composer 2 (desde Airflow 1) mediante instantáneas

Cloud Composer 1 | Cloud Composer 2

En esta página, se explica cómo transferir DAG, datos y la configuración de tus entornos existentes de Cloud Composer 1 y Airflow 1 a Cloud Composer 2, Airflow 2.

En esta guía de migración, se usa la función de instantáneas.

Otras guías de migración

De Hasta Método Guía
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 En paralelo, con instantáneas Guía de migración (instantáneas)
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 En paralelo, con instantáneas Esta guía (instantáneas)
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 Transferencia manual en paralelo Guía de migración manual
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Transferencia manual en paralelo Guía de migración manual
Airflow 1 Airflow 2 Transferencia manual en paralelo Guía de migración manual

Antes de comenzar

  • Las instantáneas son compatibles con Cloud Composer 2 versión 2.0.9 y posteriores. Cloud Composer 1 admite el guardado de instantáneas del entorno en la versión 1.18.5.

  • Cloud Composer admite la migración en paralelo de Cloud Composer 1 a Cloud Composer 2. No es posible actualizar de Cloud Composer 1 a Cloud Composer 2 in situ.

  • Consulta la lista de diferencias entre Cloud Composer 1 y Cloud Composer 2.

  • El tamaño máximo de la base de datos de Airflow que admite instantáneas es de 20 GB. Si la base de datos de tu entorno ocupa más de 20 GB, reduce el tamaño de la base de datos de Airflow.

  • Debido a que Cloud Composer 2 usa Airflow 2, la migración incluye el cambio de los DAG y la configuración del entorno a Airflow 2. Consulta la guía de migración de Airflow 1 a Airflow 2 para obtener información sobre los cambios rotundos entre Airflow 1 y Airflow 2 en Cloud Composer.

  • En esta guía, combinarás la migración a Airflow 2 y la migración a Cloud Composer 2 en un procedimiento de migración. De esta manera, no necesitas migrar a un entorno de Cloud Composer 1 con Airflow 2 antes de migrar a Cloud Composer 2.

Paso 1: Actualiza a Airflow 1.10.15

Si tu entorno usa una versión de Airflow anterior a 1.10.15, actualízalo a una versión de Cloud Composer que use Airflow 1.10.15 y admita instantáneas.

Paso 2: Verifica la compatibilidad con Airflow 2

Para verificar posibles conflictos con Airflow 2, usa las secuencias de comandos de verificación de actualización que proporciona Airflow en tu entorno existente de Airflow 1.10.15.

gcloud

  1. Ejecuta verificaciones de actualización mediante el comando gcloud composer environments run. Algunas verificaciones de actualización que son relevantes para Airflow independiente 1.10.15 no son relevantes para Cloud Composer. El siguiente comando excluye estas verificaciones.

    gcloud composer environments run \
        COMPOSER_1_ENV  \
        --location=COMPOSER_1_LOCATION \
        upgrade_check \
        -- --ignore VersionCheckRule --ignore LoggingConfigurationRule \
        --ignore PodTemplateFileRule --ignore SendGridEmailerMovedRule
    

    Reemplaza lo siguiente:

    • COMPOSER_1_ENV por el nombre de tu entorno de Airflow 1.10.15
    • COMPOSER_1_LOCATION por la región en la que se encuentra el entorno
    .
  2. Verifica el resultado del comando. Las secuencias de comandos de verificación de actualizaciones informan posibles problemas de compatibilidad en los entornos existentes.

  3. Implementa otros cambios en los DAG, como se describe en la guía Actualiza a Airflow 2.0 y versiones posteriores, en la sección sobre cómo actualizar los DAG.

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

Antes de transferir los DAG a tu entorno de Cloud Composer 2, asegúrate de lo siguiente:

  1. Las secuencias de comandos de verificaciones de actualización de tus DAG se ejecutan de forma correcta y no quedan problemas de compatibilidad.

  2. Tus DAG usan instrucciones de importación correctas.

    Por ejemplo, la nueva sentencia de importación para BigQueryCreateDataTransferOperator puede verse de la siguiente manera:

    from airflow.providers.google.cloud.operators.bigquery_dts \
        import BigQueryCreateDataTransferOperator
    
  3. Tus DAG se actualizan para Airflow 2. Este cambio es compatible con Airflow 1.10.14 y versiones posteriores.

Paso 4: Pausa los DAG en tu entorno de Cloud Composer 1

Para evitar ejecuciones de DAG duplicadas, pausa todos los DAG en tu entorno de Cloud Composer 1 antes de guardar su instantánea.

Puedes usar cualquiera de las siguientes opciones:

  • En la interfaz web de Airflow, ve a DAG y pausa todos los DAG de forma manual.

  • Usa la secuencia de comandos composer_dags para pausar todos los DAG:

    python3 composer_dags.py --environment COMPOSER_1_ENV \
      --project PROJECT_ID \
      --location COMPOSER_1_LOCATION \
      --operation pause
    

    Reemplaza lo siguiente:

    • COMPOSER_1_ENV por el nombre de tu entorno de Cloud Composer 1
    • PROJECT_ID por el ID del proyecto.
    • COMPOSER_1_LOCATION por la región en la que se encuentra el entorno

Paso 5: Guarda la instantánea de tu entorno de Cloud Composer 1

Consola

Crea una instantánea de tu entorno:

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno de Cloud Composer 1. Se abrirá la página Detalles del entorno.

  3. Haz clic en Crear instantánea.

  4. En el diálogo Crear instantánea, haz clic en Enviar. En esta guía, guardarás la instantánea en el bucket del entorno de Cloud Composer 1, pero puedes seleccionar una ubicación diferente si lo deseas.

  5. Espera hasta que Cloud Composer cree la instantánea.

gcloud

  1. Obtén el URI del bucket de tu entorno de Cloud Composer 1:

    1. Ejecuta el siguiente comando:

      gcloud composer environments describe COMPOSER_1_ENV \
          --location COMPOSER_1_LOCATION \
           --format="value(config.dagGcsPrefix)"
      

      Reemplaza lo siguiente:

      • COMPOSER_1_ENV por el nombre de tu entorno de Cloud Composer 1
      • COMPOSER_1_LOCATION por la región en la que se encuentra el entorno
    2. En el resultado, quita la carpeta /dags. El resultado es el URI del bucket del entorno de Cloud Composer 1.

      Por ejemplo, cambia gs://us-central1-example-916807e1-bucket/dags a gs://us-central1-example-916807e1-bucket.

  2. Crea una instantánea de tu entorno de Cloud Composer 1:

    gcloud beta composer environments snapshots save \
      COMPOSER_1_ENV \
      --location COMPOSER_1_LOCATION \
      --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
    

    Reemplaza lo siguiente:

    • COMPOSER_1_ENV por el nombre de tu entorno de Cloud Composer 1
    • COMPOSER_1_LOCATION con la región en la que se encuentra el entorno de Cloud Composer 1.
    • COMPOSER_1_SNAPSHOTS_FOLDER por el URI del bucket de tu entorno de Cloud Composer 1 En esta guía, guardarás la instantánea en el bucket del entorno de Cloud Composer 1, pero puedes seleccionar una ubicación diferente si lo deseas. Si especificas una ubicación personalizada, las cuentas de servicio de ambos entornos deben tener permisos de lectura y escritura para la ubicación especificada.

Paso 6: Crea un entorno de Cloud Composer 2

Crea un entorno de Cloud Composer 2. Puedes comenzar con un ajuste predeterminado del entorno que coincida con las demandas de recursos esperadas y, luego, escalar y optimizar aún más el entorno.

No es necesario especificar anulaciones de configuración ni variables de entorno, ya que las reemplazarás más adelante cuando cargues la instantánea de tu entorno de Cloud Composer 1.

Algunas opciones de configuración de Airflow 1 usan un nombre y una sección diferentes en Airflow 2. Para obtener más información, consulta Cambios de configuración.

Paso 7: Carga la instantánea en tu entorno de Cloud Composer 2

Consola

Para cargar la instantánea en tu entorno de Cloud Composer 2, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno de Cloud Composer 2. Se abrirá la página Detalles del entorno.

  3. Haz clic en Load snapshot.

  4. En el cuadro de diálogo Load snapshot, haz clic en Browse (Explorar).

  5. Selecciona la carpeta con la instantánea. Si usas la ubicación predeterminada para esta guía, esta carpeta se encuentra en el bucket de entorno de Cloud Composer 1 en la carpeta /snapshots y su nombre es la marca de tiempo de la operación de guardado de la instantánea. Por ejemplo, us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00

  6. Haz clic en Load y espera hasta que Cloud Composer cargue la instantánea.

gcloud

Carga la instantánea de tu entorno de Cloud Composer 1 en tu entorno de Cloud Composer 2:

gcloud beta composer environments snapshots load \
  COMPOSER_2_ENV \
  --location COMPOSER_2_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Reemplaza lo siguiente:

  • COMPOSER_2_ENV por el nombre de tu entorno de Cloud Composer 2.
  • COMPOSER_2_LOCATION con la región en la que se encuentra el entorno de Cloud Composer 2.
  • SNAPSHOT_PATH por el URI del bucket de tu entorno de Cloud Composer 1, seguido de la ruta a la instantánea. Por ejemplo, gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00.

Paso 8: Reanuda los DAG en el entorno de Cloud Composer 2

Puedes usar cualquiera de las siguientes opciones:

  • En la interfaz web de Airflow, ve a DAG y reanuda todos los DAG de forma manual, uno por uno.

  • Usa la secuencia de comandos composer_dags para reanudar todos los DAG:

      python3 composer_dags.py --environment COMPOSER_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation unpause
    

    Reemplaza lo siguiente:

    • COMPOSER_2_ENV por el nombre de tu entorno de Cloud Composer 2.
    • PROJECT_ID por el ID del proyecto.
    • COMPOSER_2_LOCATION por la región en la que se encuentra el entorno

Paso 9: Verifica si hay errores en el DAG

  1. En la interfaz web de Airflow, ve a DAG y verifica los errores de sintaxis del DAG informados.

  2. Comprueba que las ejecuciones de DAG estén programadas en el momento correcto.

  3. Espera a que las ejecuciones de DAG se realicen en el entorno de Cloud Composer 2 y verifica si se realizaron de forma correcta. Si la ejecución de un DAG se realizó de forma correcta, no lo reanudes en el entorno de Cloud Composer 1. Si lo haces, se ejecutará una ejecución de DAG a la misma hora y fecha en tu entorno de Cloud Composer 1.

  4. Si una ejecución específica de DAG falla, intenta solucionar problemas relacionados con el DAG hasta que se ejecute de forma correcta en Cloud Composer 2.

Paso 10: Supervisa tu entorno de Cloud Composer 2

Después de transferir todos los DAG y la configuración al entorno de Cloud Composer 2, supervísalo para detectar posibles problemas, ejecuciones fallidas de DAG y el estado general del entorno.

Si el entorno de Cloud Composer 2 se ejecuta sin problemas durante un período suficiente, considera borrar el entorno de Cloud Composer 1.

¿Qué sigue?