Recuperación ante desastres con instantáneas del entorno

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se describe cómo usar las instantáneas de entorno para recuperación ante desastres.

Definiciones

En esta guía, se usan las siguientes definiciones:

  • Un desastre es un evento en el que Cloud Composer o algún otro componente esenciales para el funcionamiento de tu entorno no están disponibles. Este evento requiere una conmutación por error a una región diferente y Cloud Composer entornos de prueba. La causa de un desastre puede ser natural o provocada por el hombre, incluidos el tiempo de inactividad en regiones de Google Cloud y las interrupciones por tu cuenta de Google Cloud.
  • La recuperación ante desastres (DR), en el contexto de Cloud Composer, es una como el proceso de restablecimiento de las operaciones del entorno después de un desastre. El implica volver a crear el entorno, posiblemente en otra región. Para obtener más información sobre la recuperación ante desastres, consulta Guía de planificación para la recuperación ante desastres.
  • El entorno principal es un entorno de Cloud Composer que quieres habilitar una capacidad de DR.
  • Un entorno de conmutación por error es un entorno de Cloud Composer designado. se hagan cargo de las actividades del entorno principal.
  • Una situación de DR templada es una variante de la recuperación ante desastres, en la que usas un modelo de conmutación por error, que crearás antes de que ocurra un desastre.
  • La situación de DR en frío es una variante de la recuperación ante desastres, en la que creas una de conmutación por error después de un desastre.
  • La DR entre regiones es una variante de la recuperación ante desastres tibia o fría en la que y el entorno de conmutación por error se encuentran en regiones distintas.

Información acerca del procedimiento de recuperación ante desastres

El procedimiento de recuperación ante desastres resuelve el problema cuando entorno se volvió inoperativo (dañado o no es accesible) porque de un desastre.

En este procedimiento, se presupone que tu entorno principal no se corregirá. para abordar el desastre. En su lugar, se crea una segunda (conmutación por error) en paralelo. Este entorno opera en lugar del principal en un entorno de nube. En una etapa posterior, puede que decidas volver a la instancia principal o para seguir usando el entorno de conmutación por error.

Debido a que el procedimiento usa un entorno de conmutación por error, se ingresarán cambios cuando se pasa del entorno principal. Los cambios entre la instancia principal del entorno de conmutación por error incluyen (la lista no es exhaustiva):

  • La URL del servidor web será diferente. Esto cambia la dirección de la IU de Airflow y extremo de API de REST de Airflow

  • La URL del bucket del entorno será diferente.

  • Es posible que debas ajustar la configuración de los permisos de acceso y de red.

Si usas la situación de DR templada, sabes los valores para el servidor web las direcciones de bucket de tu entorno y la configuración de red por adelantado.

Antes de comenzar

  • Cloud Composer admite instantáneas programadas en la versión 2.0.32 y versiones posteriores. Las instantáneas del entorno son compatibles con la versión 2.0.9 y posteriores.

Descripción general de la preparación

Ambas situaciones de DR incluyen los siguientes pasos de preparación:

  1. Crea un entorno de conmutación por error.

    • En la situación de DR templada, debes mantener este entorno disponible.
    • En la situación de DR frío, creas este entorno solo para probar tu de recuperación ante desastres. Después de completar la preparación, borrar este entorno y volver a crearlo luego de que ocurra un desastre.
  2. Crea un bucket para instantáneas.

    • El bucket debe estar disponible en la región de DR. Para la DR entre regiones, el bucket de instantáneas debe ser multirregional o estar ubicado en un distinta de la del entorno principal.

    • Comprueba que los DAG puedan acceder a recursos regionales.

  3. Configura el mantenimiento de la base de datos.

  4. Configura instantáneas programadas.

  5. Prueba el procedimiento de recuperación ante desastres.

Descripción general de la recuperación ante desastres

Después de un desastre:

  1. (Solo DR en frío) Crea un entorno de conmutación por error.
  2. Si es posible, impide que el entorno principal ejecute DAG.
  3. Carga una instantánea del bucket de instantáneas a la conmutación por error. en un entorno de nube.
  4. Si es necesario, Ajustar la configuración del entorno de conmutación por error.
  5. Decide qué hacer con el entorno principal.

Pasos de preparación

Sigue los pasos que se describen a continuación para configurar la recuperación ante desastres para tu entorno.

Crea un entorno de conmutación por error

Crea un entorno que actúe como un entorno de conmutación por error.

Usa los siguientes lineamientos:

  • Tu entorno principal y de conmutación por error deben usar la misma versión de Cloud Composer y Airflow.

  • En la situación de DR semicaliente, asegúrate de actualizar y actualizar ambos entornos de forma sincronizada. Por ejemplo, si actualizar el entorno principal a un entorno posterior de Cloud Composer o instalar paquetes de PyPI, tu entorno de conmutación por error también debe tengan estos cambios.

  • Recomendamos crear el entorno de conmutación por error en una región diferente de la entorno principal. Como resultado, un rango más amplio de posibles desastres diferentes situaciones, como un desastre que afecta la disponibilidad de toda la región.

  • Recomendamos usar Terraform para crear instancias principales para que ambos tengan una configuración coherente. Asegúrate de que Las definiciones de Terraform para los entornos principal y de conmutación por error se sincronizada.

  • La configuración del entorno de conmutación por error (como su tamaño, la cantidad de programadores y los permisos de IAM) para ajustarse a la configuración del entorno principal. Los permisos de IAM para ambos entornos deben otorgar el acceso adecuado a los usuarios y a las instantáneas.

Verifica la disponibilidad de los recursos

Los DAG pueden operar en recursos externos, y el acceso a esos recursos podría depende de la configuración del entorno (como los permisos otorgados la cuenta de servicio del entorno, la configuración de red o el proyecto). Marca y asegurarse de que estén disponibles para el entorno de conmutación por error.

Un entorno puede interactuar con algunos recursos externos a través de conexiones almacenadas en Airflow. Cheque si estos recursos deben ajustarse en el entorno de conmutación por error en comparación con el entorno principal.

Crea un bucket de almacenamiento para instantáneas

Crea un bucket de almacenamiento nuevo para las instantáneas del entorno. No use buckets de entorno para la recuperación ante desastres, ya que la política de retención y el ciclo de vida se aplican a nivel del bucket.

Asegúrate de que este bucket de almacenamiento tenga permisos de IAM, un una política de retención y una configuración del ciclo de vida para evitar la eliminación accidental o el acceso no autorizado. Para obtener más información configurar un bucket para instantáneas, consulta Configura instantáneas programadas.

Puedes hacer lo siguiente:

  • Crea un bucket en una región diferente.
  • Crea un bucket multirregional.

Configurar el mantenimiento de la base de datos

Mantén la base de datos de metadatos de Airflow pequeña ejecutando el DAG de mantenimiento de bases de datos. Esto facilita el proceso de guardar y cargar instantáneas más rápido. La base de datos de metadatos de Airflow debe tener menos más de 20 Gb de datos para respaldar las instantáneas.

Configura instantáneas programadas

Configura instantáneas programadas para la instancia principal. en un entorno de nube.

Las instantáneas solo se pueden crear en un entorno en buen estado, guardados antes de que ocurra el desastre.

Para obtener más información sobre cómo funcionan las instantáneas, consulta Guarda y carga instantáneas del entorno. Consulta la Sección Guardar una instantánea del entorno de la para obtener información sobre dónde encontrar las instantáneas guardadas.

Configura la supervisión para las operaciones de instantáneas programadas (opcional)

Para las instantáneas programadas con una frecuencia de al menos una vez cada 12 horas, puede usar Cloud Monitoring para recibir alertas cuando no se cree automáticamente una instantánea.

En el caso de las programaciones de menor frecuencia, debes usar Google Cloud CLI para verificar los resultados de las operaciones de instantáneas. Consulta Verifica las operaciones de guardado de instantáneas.

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

    Ir a Monitoring

  2. En el panel de navegación de Monitoring, selecciona  Alertas.
  3. Si aún no creas canales de notificaciones y deseas recibir notificaciones, haz clic en Edit Notification Channels y agrega tus canales de notificaciones. Regresa a la página Alertas después de agregar tus canales.
  4. En la página Alertas, elige Crear política.
  5. Para elegir la métrica, expande el menú Seleccionar una métrica y, luego, haz lo siguiente:
    1. Para limitar el menú a las entradas relevantes, ingresa Composer Snapshot en la barra de filtros. Si no hay resultados después de que filtres el menú, inhabilita el botón de activación Show only active resources & metrics.
    2. En Tipo de recurso, selecciona Entorno de Cloud Composer.
    3. En la Categoría de Métrica, selecciona Entorno.
    4. En Métrica, selecciona Recuento de creación de instantáneas.
    5. Selecciona Apply (Apply).
  6. Haz clic en Agregar filtro y usa los menús desplegables para agregar los siguientes filtros:
    Filtro Comparador Valor
    Etiqueta de recurso > environment_name = El nombre del entorno en el que quieres supervisar las instantáneas programadas.
    Supervisar etiqueta > resultado = SUCCEEDED
  7. En la sección Transformar datos, configura los siguientes atributos:
    • En Ventana progresiva, selecciona la ventana de supervisión para esta alerta. Este valor afecta la configuración del umbral en el siguiente paso.

      Valor recomendado para la supervisión de instantáneas programadas: 1 day.

    • En Función de ventana progresiva, selecciona delta.
  8. Haz clic en Siguiente.
  9. La configuración de la página Configure alert trigger determina cuándo se activa la alerta. Completa esta página con los parámetros de configuración en la siguiente tabla.
    Campo Valor
    Condition type Threshold
    Alert trigger Any time series violates
    Threshold position Below threshold
    Threshold value La cantidad de instantáneas programadas que esperas que se guarden dentro de la cantidad de tiempo configurada como Ventana progresiva para la alerta.

    Calcula este valor con la siguiente fórmula:

    (rolling window in hours / schedule frequency in hours) - 1

    Nota: Descontar 1 hora en la fórmula es tener en cuenta los distintos tiempos de finalización de las instantáneas. Esto ayuda a evitar Genera falsos positivos si la instantánea más reciente aún se está ejecutando durante una verificación de supervisión.

    Ejemplo:
    Si usas la ventana móvil recomendada de 1 día, y la frecuencia de tu programación es una vez cada 2 horas, establece este valor en 11 (según el cálculo: 24 / 2 - 1 = 11).

    Si tu agenda se ejecuta correctamente, en cualquier período de 24 horas debe tener al menos 11 instantáneas. De lo contrario, significa que no se completó la operación de instantánea. correctamente y Cloud Monitoring activa esta alerta.

    Condition name El nombre personalizado de la condición.
  10. Haz clic en Siguiente.
  11. Para agregar notificaciones a tu política de alertas, haz clic en Canales de notificaciones (opcional). En el diálogo, elige uno o más canales de notificaciones del menú y, luego, haz clic en Aceptar.
  12. Opcional: Actualiza la Duración del cierre automático de incidentes. Este campo determina cuándo Monitoring cierra los incidentes ante la ausencia de datos de métricas.
  13. Opcional: Haz clic en Documentación y, luego, agrega la información que deseas incluir en un mensaje de notificación.
  14. Haz clic en Nombre de la alerta y, luego, ingresa un nombre para la política de alertas.
  15. Haz clic en Crear política.
Para obtener más información, consulta Políticas de alertas.

Prueba el procedimiento de recuperación ante desastres

Asegúrate de probar el procedimiento de recuperación ante desastres después de configurarlo periódicamente después. Esto te permite abordar los posibles problemas que podrían en el proceso real de recuperación ante desastres.

En la situación de DR frío, puedes borrar el entorno de conmutación por error cuando termines de probar el procedimiento de recuperación ante desastres.

Verifica las operaciones de guardado de instantáneas

Puedes usar Google Cloud CLI para recuperar la lista de guardar instantánea y verifica si tus instantáneas están listas para la recuperación ante desastres reales.

Este método es útil si guardas instantáneas con menos frecuencia que una vez cada 12 horas. Para verificar las instantáneas guardadas con más frecuencia, es mejor configurar alertas de Cloud Monitoring. Consulta Configura la supervisión para las operaciones de instantáneas programadas.

gcloud

Enumera todas tus operaciones de instantáneas para un entorno específico. Para obtener la referencia completa de comandos, consulta gcloud composer operations list

gcloud composer operations list \
    --locations LOCATION \
    --filter="metadata.operationType=SAVE_SNAPSHOT AND 
    metadata.resource=projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_ID"
    --format yaml

Reemplaza lo siguiente:

  • LOCATIONS por la lista de identificadores de las regiones en las que se encuentra el entorno localizado
  • PROJECT_ID por el identificador del proyecto en el que se encuentra el entorno
  • ENVIRONMENT_ID por el identificador del entorno en el que quieres verificar las operaciones de la instantánea

Ejemplo:

gcloud composer operations list \
    --locations us-central1 \
    --filter="metadata.operationType=SAVE_SNAPSHOT AND 
    metadata.resource=projects/my-project/locations/us-central1/environments/my-environment"
    --format yaml

Después de un desastre

Sigue los pasos que se describen a continuación después de que ocurra un desastre para recuperar tu principal en un entorno de nube.

Crea un entorno de conmutación por error (solo DR en frío)

Sigue las instrucciones de la sección Crea un entorno de conmutación por error.

Impide que el entorno principal ejecute DAG

Si es posible, evita que el entorno principal ejecute DAG:

  • Si aún se puede acceder al entorno principal, Pausa todos los DAG.
  • Si se puede acceder al bucket del entorno principal, mueve todos los DAG del al bucket de un entorno de Google Cloud, o a una carpeta ouside /dags en la en el bucket de tu entorno.

Carga una instantánea en el entorno de conmutación por error

Carga una instantánea desde el entorno principal. en el entorno de conmutación por error.

Una vez que la instantánea se carga en el entorno de conmutación por error, se programa ejecuta tareas como si el entorno principal no ejecutara nada después creando una instantánea. Sin embargo, es posible que algunas de esas tareas ya se hayan que ejecuta el entorno principal. El entorno de conmutación por error no tiene significa reconocer qué tareas se ejecutaron después de crear la instantánea y antes de un desastre. Como resultado, algunas tareas podrían ejecutarse dos veces (en ambos el entorno principal y el de conmutación por error). Recomendamos que todas las tareas son idempotentes y que las instantáneas programadas se se crea cada dos horas.

Ajusta la configuración del entorno de conmutación por error (si es necesario).

En algunos casos, es posible que quieras cambiar la configuración de la conmutación por error después de cargar en él la instantánea del entorno principal.

Por ejemplo, en una situación de DR en frío, es posible que debas usar un conjunto diferente Variables de entorno de Airflow en el entorno de conmutación por error. Como otro ejemplo, en una situación de DR templada, es posible que debas otorgar permisos a los usuarios de la IU de Airflow para que puedan acceder al entorno de conmutación por error.

Puedes realizar estos cambios manualmente o preparar una secuencia de comandos de shell con que cambian la configuración del entorno de conmutación por error ejecutando Comandos gcloud composer environment update.

Decidir qué hacer con el entorno principal

Algunos desastres pueden ocurrir porque no se puede acceder al entorno principal pero aún funciona o no funciona correctamente. Por ejemplo, no puedes principal a través de la red debido a una infraestructura falla. Como otro ejemplo, el entorno funciona con algunos errores o con capacidad reducida, pero algunos DAG aún se ejecutan.

Si el entorno original aún se está ejecutando, podría generar costos directamente relacionados con Cloud Composer o con otros servicios a los que se accedió a través de los DAG, a pesar de que se creó un entorno nuevo como reemplazo. Este entorno aún puede ejecutar algunos DAG. Como resultado, algunos podrían ejecutarse dos veces: en el entorno principal, que aún en ejecución y en el entorno de conmutación por error después de cargar la instantánea.

Si el entorno principal existe, pero no funciona correctamente

Se puede borrar el entorno principal si se recuperaron todos los datos relevantes. Para por ejemplo, es posible que quieras recuperar Datos que no se incluyen en las instantáneas del entorno. como la configuración de red o los contenidos fuera de las carpetas /dags y /plugins.

Si el entorno principal se vuelve accesible y en buen estado

Si el entorno principal fuera inaccesible solo temporalmente y se convierte accesible y en buen estado, puedes elegir un enfoque:

  • Sigue usando el entorno de conmutación por error.
  • Regresa al entorno principal.

Para seguir usando el entorno de conmutación por error, sigue estos pasos:

  1. Si el entorno principal aún ejecuta DAG, detenerlos en cuanto como sea posible.
  2. Asegúrate de recuperar todos los datos relevantes y, luego, borra la principal en un entorno de nube.
  3. Repite los pasos de preparación de la DR para el entorno de conmutación por error, como la configuración las instantáneas programadas.

Para volver al entorno principal, sigue estos pasos:

  1. Pausa todos los DAG en el entorno de conmutación por error.
  2. Espera a que todas las ejecuciones de DAG se completen en el entorno de conmutación por error o detenlas.
  3. Guardar una instantánea del entorno de conmutación por error
  4. Carga esta instantánea en el entorno principal.
  5. Reanuda los DAG en el entorno principal.
  6. Si es necesario, borra el entorno de conmutación por error.

¿Qué sigue?