Cloud Composer 1 | Cloud Composer 2
En esta página, se describe cómo configurar entornos de Cloud Composer altamente resilientes.
Acerca de la resiliencia para fallas zonales en Cloud Composer
Los entornos de Cloud Composer de alta resiliencia son entornos de Cloud Composer 2 que usan mecanismos de redundancia y conmutación por error integrados que reducen la susceptibilidad del entorno a fallas zonales y de interrupciones de puntos únicos.
Por ejemplo, una interrupción zonal interrumpe las tareas de Airflow que se ejecutan en una zona específica. Luego, un entorno de alta resiliencia se recupera, reinicia sus componentes afectados en una zona diferente y cambia su base de datos a una zona secundaria. Por lo tanto, Airflow puede reprogramar y reiniciar las tareas de Airflow con errores, a la vez que conserva el historial de ejecuciones del DAG y otros parámetros de configuración.
Un entorno de alta resiliencia 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 esenciales.
Acerca de la base de datos con alta disponibilidad de tu entorno
En entornos de Cloud Composer con 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 alta disponibilidad también se denomina instancia regional y se ubica en una zona principal 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 en la instancia de Cloud SQL en espera. No es necesario que realices ninguna acción adicional en tu entorno de Cloud Composer. Una vez que la zona principal vuelve a estar en funcionamiento, el entorno vuelve a tener dos zonas (principal y secundaria). En algunos casos, la zona principal y la secundaria 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.
Información acerca de los componentes de Airflow con alta disponibilidad
Los entornos de Cloud Composer con alta disponibilidad ejecutan componentes de Airflow que se distribuyen entre zonas.
El entorno siempre ejecuta exactamente dos programadores de Airflow, dos servidores web y al menos dos (pero no más de diez) activadores si los activadores 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 trabajador 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 de alta resiliencia, consulta Arquitectura de entornos de alta resiliencia.
Antes de comenzar
Los entornos de alta resiliencia están disponibles en Cloud Composer 2.2.0 y versiones posteriores.
Los entornos de alta resiliencia están disponibles solo en entornos de IP privada con Cloud Composer 2.
Los entornos de Cloud Composer de alta resiliencia se ofrecen por un cargo incremental en comparación con los entornos normales.
Si deseas actualizar un entorno estándar a uno muy resiliente, asegúrate de que el entorno cumpla con la siguiente configuración:
- cantidad mínima de trabajadores de Airflow establecido en 2 o más
- exactamente 2 programadores de Airflow
- Si necesitas usar operadores diferibles en tus DAG, debes usar al menos 2 activadores (pero no más de 10).
Si tu entorno no cumple con estos requisitos, primero puedes actualizar su configuración. Consulta Entornos de escalamiento.
Crea un entorno de Cloud Composer de alta resiliencia
Para crear un entorno con alta resiliencia, habilita el modo de resiliencia alta cuando crees un entorno.
Actualizar un entorno estándar al modo de resiliencia alta
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Selecciona la pestaña Configuración del entorno.
En la sección Modo de resiliencia, haz clic en Editar.
Selecciona Resiliencia alta 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 de Cloud Composer.LOCATION
: Es la región en la que se encuentra el entorno.
API
Crea una solicitud a la API de environments.patch
:
Usa la cadena de consulta
updateMask=config.resilienceMode
en la URL para marcar el campo que actualiza la solicitud.Usa un archivo JSON en el cuerpo de la solicitud para establecer el campo
resilienceMode
enHIGH_RESILIENCE
en el recursoEnvironment
.
Ejemplo:
// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode
{
"config": {
"resilience_mode": { "HIGH_RESILIENCE" }
}
}
Terraform
Cuando se establece el campo resilience_mode
en el bloque de configuración, se habilita el modo de alta resiliencia.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "HIGH_RESILIENCE"
}
}
Ejemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
resilience_mode = "HIGH_RESILIENCE"
}
Cambia 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 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
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Selecciona la pestaña Configuración del entorno.
En la sección Modo de resiliencia, haz clic en Editar.
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
Crea una solicitud a la API de environments.patch
:
Usa la cadena de consulta
updateMask=config.resilienceMode
en la URL para marcar el campo que actualiza la solicitud.Usa un archivo JSON en el cuerpo de la solicitud para establecer el campo
resilienceMode
enRESILIENCE_MODE_UNSPECIFIED
en el recursoEnvironment
.
Ejemplo:
// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?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"
}
}
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 resiliencia alta
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Selecciona la pestaña Configuración del entorno.
En la sección Modo de resiliencia, consulta el modo de resiliencia de tu entorno.
gcloud
Para verificar si el modo de resiliencia alta está habilitado en tu entorno, ejecuta el
siguiente comando de Google Cloud CLI. El valor de True
significa que el modo de resiliencia alta 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?
- Realiza pruebas de conmutación por error para tu entorno de alta resiliencia.
- Explora la recuperación ante desastres con instantáneas de entorno.