Configurar entornos de alta resiliencia

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página se describe cómo configurar entornos de Cloud Composer de alta resiliencia.

Información sobre la resiliencia ante fallos zonales en Cloud Composer

Los entornos de Cloud Composer de alta resiliencia (alta disponibilidad) usan mecanismos de redundancia y conmutación por error integrados que reducen la vulnerabilidad del entorno a los fallos de zonas y a las interrupciones por puntos únicos de fallo.

Por ejemplo, una interrupción zonal interrumpe las tareas de Airflow que se ejecutan en una zona específica. Después, se recupera un entorno de alta resiliencia, se reinician los componentes afectados en otra zona y se cambia la base de datos a una zona secundaria. De este modo, Airflow puede reprogramar y reiniciar las tareas de Airflow fallidas, al tiempo que se conserva el historial de ejecuciones de DAG y otros ajustes.

Un entorno de alta resiliencia es multizonal y se ejecuta en al menos dos zonas de una región seleccionada. Cloud Composer distribuye automáticamente los componentes de tu entorno entre zonas.

Puedes usar entornos de Cloud Composer de alta resiliencia para procesos empresariales críticos.

Información sobre la base de datos de alta disponibilidad de tu entorno

En los entornos de Cloud Composer de alta disponibilidad, el componente de Cloud SQL que almacena la base de datos de tu entorno se ejecuta en el modo de alta disponibilidad. Una instancia principal y una instancia de espera de Cloud SQL se distribuyen entre zonas.

En caso de interrupción, la instancia de Cloud SQL de tu entorno realiza la conmutación por error automática de la base de datos a la instancia de Cloud SQL de reserva. No es necesario que hagas nada más en tu entorno de Cloud Composer. Una vez que la zona principal vuelva a estar operativa, el entorno volverá a tener dos zonas (principal y secundaria). En algunos casos, las zonas primarias y secundarias se pueden intercambiar. La instancia de Cloud SQL en modo de alta disponibilidad usa la misma dirección IP después de una conmutación por error.

Acerca de los componentes de Airflow de alta disponibilidad

Un entorno de alta resiliencia es multizonal y se ejecuta en al menos dos zonas de una región seleccionada. Los siguientes componentes se ejecutan en zonas independientes:

El número mínimo de trabajadores es dos y el clúster de tu entorno distribuye las instancias de trabajador entre las zonas. En caso de interrupción zonal, las instancias de trabajador afectadas se reprograman en otra zona.

Para obtener más información sobre la arquitectura de entornos de alta resiliencia, consulta Arquitectura de entornos de alta resiliencia.

Antes de empezar

  • En Cloud Composer 3, la alta resiliencia está disponible tanto para los entornos de IP privada como para los de IP pública.

  • Los entornos de alta resiliencia ejecutan componentes de entorno adicionales. Esto conlleva un aumento de los costes en comparación con los entornos normales.

  • Si quieres actualizar un entorno estándar a uno de alta resiliencia, asegúrate de que cumpla los siguientes requisitos de configuración. Si tu entorno no cumple estos requisitos, puedes actualizar sus parámetros de escala y rendimiento.

    • El número mínimo de trabajadores de Airflow es dos o más.
    • El número de programadores de Airflow es exactamente dos.

    • Al menos dos procesadores de DAG.

    • Si usas operadores aplazables en tus DAGs, necesitas al menos dos activadores.

Crea un entorno de alta resiliencia

Para crear un entorno de alta resiliencia, habilita el modo de alta resiliencia al crear un entorno.

Actualizar un entorno estándar al modo de alta resiliencia

Consola

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

    Ir a Entornos

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

  3. Selecciona la pestaña Configuración del entorno.

  4. En la sección Modo de resiliencia, haz clic en Editar.

  5. Selecciona Alta resiliencia y haz clic en Guardar.

gcloud

  gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-high-resilience

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

API

  1. Crea una solicitud de la API environments.patch.

  2. En esta solicitud:

    1. En el parámetro updateMask, especifique la máscara config.resilienceMode.

    2. En el cuerpo de la solicitud, especifica HIGH_RESILIENCE para cambiar al modo de alta resiliencia.

Ejemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode

{
 "config": {
   "resilience_mode": { "HIGH_RESILIENCE" }
   }
 }

Terraform

El campo resilience_mode del bloque config especifica el modo de resiliencia. Para usar el modo de alta resiliencia, asigna el valor HIGH_RESILIENCE.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

Ejemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

Cambiar un entorno de alta resiliencia al modo de resiliencia estándar

Puedes cambiar tu entorno al modo de resiliencia estándar en cualquier momento. Esta operación:

  • Reduce el número de servidores web de tu entorno a uno.
  • Desactiva el modo de alta disponibilidad de la base de datos Airflow de tu entorno.
  • No cambia la configuración del número mínimo de trabajadores, programadores o activadores de Airflow.

Consola

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

    Ir a Entornos

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

  3. Selecciona la pestaña Configuración del entorno.

  4. En la sección Modo de resiliencia, haz clic en Editar.

  5. Selecciona Resistencia estándar (predeterminada) y haz clic en Guardar.

gcloud

  gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-high-resilience

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno de Cloud Composer
  • LOCATION: la región en la que se encuentra el entorno.

API

  1. Crea una solicitud de la API environments.patch.

  2. En esta solicitud:

    1. En el parámetro updateMask, especifique la máscara config.resilienceMode.

    2. En el cuerpo de la solicitud, especifica RESILIENCE_MODE_UNSPECIFIED para cambiar al modo de resiliencia estándar.

Ejemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode

{
 "config": {
   "resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
   }
 }

Terraform

El campo resilience_mode del bloque config especifica el modo de resiliencia. Para usar el modo de resiliencia estándar, asigne el valor STANDARD_RESILIENCE.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    resilience_mode = "STANDARD_RESILIENCE"

  }
}

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.

Ejemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    resilience_mode = "STANDARD_RESILIENCE"

}

Comprobar si tu entorno se ejecuta en el modo de alta resiliencia

Consola

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

    Ir a Entornos

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

  3. Selecciona la pestaña Configuración del entorno.

  4. En la sección Modo de resiliencia, consulta el modo de resiliencia de tu entorno.

gcloud

Para comprobar si el modo de alta resiliencia está habilitado en tu entorno, ejecuta el siguiente comando de la CLI de Google Cloud. El valor True significa que el modo de alta resiliencia está habilitado en tu entorno.

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.resilienceMode)"

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno de Cloud Composer
  • LOCATION: la región en la que se encuentra el entorno.

Siguientes pasos