Configura entornos altamente resilientes

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página, se describe cómo configurar entornos de Cloud Composer muy resilientes.

Acerca de la resiliencia para fallas zonales en Cloud Composer

Los entornos de Cloud Composer altamente resilientes usan redundancia integrada y mecanismos de conmutación por error que reducen la susceptibilidad del entorno a fallas zonales y interrupciones de un punto único de fallo.

Por ejemplo, una interrupción zonal interrumpe las tareas de Airflow que se ejecutan en una zona específica. Luego, se recupera un entorno altamente resiliente, se reinician sus componentes afectados en una zona diferente y se cambia la base de datos a una zona secundaria. Por lo tanto, Airflow puede reprogramar y reiniciar las tareas de Airflow que fallaron y, al mismo tiempo, preservar el historial de ejecuciones de DAG y otros parámetros de configuración.

Un entorno altamente resiliente se ejecuta en al menos dos zonas de una región seleccionada. Cloud Composer distribuye automáticamente los componentes de tu entorno entre las zonas.

Puedes usar entornos de Cloud Composer altamente resilientes para procesos comerciales fundamentales.

Acerca de la base de datos de alta disponibilidad de tu entorno

En los entornos de Cloud Composer de alta disponibilidad, la instancia de Cloud SQL que almacena la base de datos de tu entorno se ejecuta en el modo de alta disponibilidad. Una instancia de Cloud SQL configurada para la alta disponibilidad también se llama instancia regional y se ubica en una zona primaria y secundaria dentro de la región configurada. Dentro de una instancia regional, la configuración se compone de una instancia principal y una instancia en espera.

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 en espera. No necesitas realizar ninguna acción adicional en tu entorno de Cloud Composer. Una vez que la zona principal vuelva a estar en funcionamiento, el entorno volverá a tener dos zonas (principal y secundaria). En algunos casos, se pueden intercambiar las zonas principal y secundaria. 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

Los entornos de Cloud Composer de alta disponibilidad ejecutan componentes de Airflow que se distribuyen entre zonas.

Tu entorno siempre ejecuta exactamente dos programadores de Airflow, dos servidores web y al menos dos (pero no más de diez) activadores si están habilitados. Estos pares de componentes se ejecutan en zonas separadas. La cantidad mínima de trabajadores se establece en dos, y el clúster de tu entorno distribuye las instancias de trabajadores entre las zonas. En caso de una interrupción zonal, las instancias de trabajador afectadas se reprograman en una zona diferente.

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

Antes de comenzar

  • Los entornos altamente resilientes están disponibles solo en entornos de IP privada.

  • Los entornos altamente resilientes se ofrecen con un cargo incremental en comparación con los entornos normales.

  • Los entornos altamente resilientes están disponibles en la versión 2.2.0 y versiones posteriores de Cloud Composer.

  • Si deseas actualizar un entorno estándar a uno altamente resiliente, asegúrate de que cumpla con los siguientes requisitos de configuración. Si tu entorno no cumple con estos requisitos, puedes actualizar sus parámetros de escalamiento y rendimiento.

    • La cantidad mínima de trabajadores de Airflow es de 2 o más.
    • La cantidad de programadores de Airflow es exactamente 2.
    • Si usas operadores diferibles en tus DAG, necesitarás al menos 2 activadores.

Crea un entorno altamente resiliente

Para crear un entorno altamente resiliente, habilita el modo de alta resiliencia cuando crees un entorno.

Cómo actualizar un entorno estándar al modo de alta resiliencia

Console

  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. 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

Reemplaza lo siguiente:

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

API

  1. Realiza una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica 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 en el bloque config especifica el modo de resiliencia. Para usar el modo de alta resiliencia, establece este valor en HIGH_RESILIENCE.

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es 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"

}

Cambia un entorno altamente resiliente al modo de resiliencia estándar

Puedes cambiar tu entorno al modo de resiliencia estándar en cualquier momento. Esta operación tiene las siguientes características:

  • Reduce la cantidad de servidores web en tu entorno a 1.
  • Desactiva el modo de alta disponibilidad de la base de datos de Airflow de tu entorno.
  • No cambia la configuración de la cantidad mínima de trabajadores, programadores o activadores de Airflow.

Console

  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. 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 Resiliencia estándar (predeterminada) y haz clic en Guardar.

gcloud

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

Reemplaza lo siguiente:

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

API

  1. Realiza una solicitud a la API de environments.patch.

  2. En esta solicitud, realiza lo siguiente:

    1. En el parámetro updateMask, especifica 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 en el bloque config especifica el modo de resiliencia. Para usar el modo de resiliencia estándar, establece este valor en STANDARD_RESILIENCE.

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

  config {

    resilience_mode = "STANDARD_RESILIENCE"

  }
}

Reemplaza lo siguiente:

  • ENVIRONMENT_NAME: Es el nombre de tu entorno.
  • LOCATION: Es 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"

}

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

Console

  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. 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 verificar si el modo de alta resiliencia está habilitado en tu entorno, ejecuta el siguiente comando de Google Cloud CLI. El valor de 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)"

Reemplaza lo siguiente:

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

¿Qué sigue?