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

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

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

Otras guías de migración

Desde Hasta Método Guía
Cloud Composer 1, Airflow 2 Cloud Composer 2, Airflow 2 En paralelo, con instantáneas Esta guía (instantáneas)
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 En paralelo, con instantáneas Guía de migración (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 la versión 2.0.9 y posteriores de Cloud Composer 2. Cloud Composer 1 admite guardar instantáneas del entorno en la versión 1.18.5.

  • Cloud Composer admite la migración en paralelo desde de Cloud Composer 1 a Cloud Composer 2. No es posible actualizar 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 requiere más de 20 GB Reduce el tamaño de la base de datos de Airflow.

Paso 1: Detén los DAG en tu entorno de Cloud Composer 1

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

Puedes usar cualquiera de las siguientes opciones:

  • En la interfaz web de Airflow, Ir a los DAG y pausar 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 2: Guarda la instantánea de tu entorno de Cloud Composer 1

Console

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 en esta guía, debes guardar la instantánea en el entorno de Cloud Composer 1 bucket, 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 Cloud Composer 1 en un entorno de nube.
      • COMPOSER_1_LOCATION por la región en la que se encuentra el entorno ubicado.
    2. En el resultado, quita la carpeta /dags. El resultado es el URI de al bucket de tu 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 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 de Cloud Composer 1 en el bucket de tu entorno. En esta guía, guardarás la instantánea bucket del entorno de Cloud Composer 1, pero puedes seleccionar un ubicación diferente, si así lo deseas. Si especificas una ubicación personalizada, las cuentas de servicio de ambos entornos deben tienen permisos de lectura y escritura para la ubicación especificada.

Paso 3: Crea un entorno de Cloud Composer 2

Crea un entorno de Cloud Composer 2. Puedes comienza con un ajuste predeterminado de entorno que coincida las demandas de recursos esperadas y, luego, escalar y optimizar tu entorno un poco más lejos.

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

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

Console

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 Cargar instantánea.

  4. En el diálogo Cargar instantánea, haz clic en Explorar.

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

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

gcloud

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

gcloud 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 de Cloud Composer 1 en el bucket de tu entorno, seguido de la ruta de acceso 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 5: 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 los 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 6: Verifica si hay errores en el DAG

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

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

  3. Espera a que las ejecuciones del DAG ocurran en el entorno de Cloud Composer 2 y para verificar si tuvieron éxito. Si una ejecución de DAG tuvo éxito, no reactivarla en el entorno de Cloud Composer 1. Si lo haces, se generará un ejecutada con la misma hora y fecha en Cloud Composer 1 en un entorno de nube.

  4. Si una ejecución de DAG específico falla, intenta solucionar problemas con el DAG hasta que se ejecuta en Cloud Composer 2.

Paso 7: Supervisa tu entorno de Cloud Composer 2

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

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

¿Qué sigue?