Configura ambienti Cloud Composer altamente resilienti

Cloud Composer 1 | Cloud Composer 2

Questa pagina descrive come configurare ambienti Cloud Composer altamente resilienti.

Informazioni sulla resilienza per gli errori a livello di zona in Cloud Composer

Gli ambienti Cloud Composer altamente resiliente sono ambienti Cloud Composer 2 che utilizzano meccanismi di ridondanza e failover integrati che riducono la suscettibilità dell'ambiente a errori a livello di zona e interruzioni del single point of failure.

Ad esempio, un'interruzione a livello di zona interrompe le attività di Airflow in esecuzione in una zona specifica. In seguito, un ambiente altamente resiliente esegue il ripristino, il riavvio dei componenti interessati in una zona diversa e il trasferimento del database a una zona secondaria. Di conseguenza, le attività di Airflow non riuscite possono essere ripianificate e riavviate da Airflow, preservando allo stesso tempo la cronologia delle esecuzioni di DAG e altre impostazioni.

Un ambiente altamente resiliente viene eseguito in almeno due zone di una regione selezionata. Cloud Composer distribuisce automaticamente i componenti del tuo ambiente tra le zone.

Puoi utilizzare ambienti Cloud Composer altamente resilienti per processi aziendali critici.

Informazioni sul database ad alta disponibilità del tuo ambiente

Negli ambienti Cloud Composer a disponibilità elevata, l'istanza Cloud SQL che archivia il database del tuo ambiente viene eseguita in modalità ad alta disponibilità. Un'istanza Cloud SQL configurata per l'alta disponibilità è chiamata anche istanza a livello di regione e si trova in una zona principale e secondaria all'interno della regione configurata. All'interno di un'istanza a livello di regione, la configurazione è composta da un'istanza principale e un'istanza in standby.

In caso di interruzione, l'istanza Cloud SQL del tuo ambiente esegue il failover automatico del database all'istanza Cloud SQL in standby. Non è necessario eseguire altre azioni nel tuo ambiente Cloud Composer. Quando la zona principale torna a essere operativa, l'ambiente torna ad avere due zone (primaria e secondaria). In alcuni casi le zone primarie e secondarie possono essere scambiate. L'istanza Cloud SQL in modalità ad alta disponibilità utilizza lo stesso indirizzo IP dopo un failover.

Informazioni sui componenti Airflow a disponibilità elevata

Gli ambienti Cloud Composer a disponibilità elevata eseguono componenti Airflow distribuiti tra le zone.

Il tuo ambiente esegue sempre esattamente due scheduler Airflow, due server web e almeno due attivatori (ma non più di dieci) se gli attivatori sono abilitati. Queste coppie di componenti vengono eseguite in zone distinte. Il numero minimo di worker è impostato su due e il cluster del tuo ambiente distribuisce le istanze worker tra le zone. In caso di interruzione a livello di zona, le istanze worker interessate vengono ripianificate in una zona diversa.

Per ulteriori informazioni sull'architettura di ambienti altamente resilienti, consulta Architettura di un ambiente altamente resiliente.

Prima di iniziare

  • Ambienti altamente resilienti sono disponibili in Cloud Composer 2.2.0 e versioni successive.

  • Gli ambienti altamente resilienti sono disponibili solo negli ambienti IP privati con Cloud Composer 2.

  • Gli ambienti Cloud Composer altamente resilienti di Cloud Composer sono offerti con una tariffa incrementale rispetto agli ambienti normali.

  • Se vuoi aggiornare un ambiente standard a uno altamente resiliente, assicurati che l'ambiente soddisfi la seguente configurazione:

    • numero minimo di worker Airflow impostato su 2 o più
    • esattamente 2 scheduler Airflow
    • Se devi utilizzare operatori differibili nei DAG, almeno due attivatori (ma non più di 10)

    Se il tuo ambiente non soddisfa questi requisiti, puoi prima aggiornarne le impostazioni. Consulta Ambienti di scalabilità.

Crea un ambiente Cloud Composer altamente resiliente

Per creare un ambiente altamente resiliente, abilita la modalità ad alta resilienza quando crei un ambiente.

Aggiornamento di un ambiente standard alla modalità ad alta resilienza

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Seleziona la scheda Configurazione dell'ambiente.

  4. Nella sezione Modalità di resilienza, fai clic su Modifica.

  5. Seleziona Alta resilienza e fai clic su Salva.

gcloud

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente Cloud Composer
  • LOCATION: la regione in cui si trova l'ambiente.

API

Crea una richiesta API environments.patch:

  • Utilizza la stringa di query updateMask=config.resilienceMode nell'URL per contrassegnare il campo aggiornato dalla richiesta.

  • Utilizza un file JSON nel corpo della richiesta per impostare il campo resilienceMode su HIGH_RESILIENCE nella risorsa Environment.

Esempio:

// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode

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

Terraform

L'impostazione del campo resilience_mode nel blocco "config" consente la modalità ad alta resilienza.

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

Esempio:

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

Modifica un ambiente altamente resiliente in modalità di resilienza standard

Puoi passare alla modalità di resilienza standard nel tuo ambiente in qualsiasi momento. Questa operazione:

  • Riduce a 1 il numero di server web nel tuo ambiente.
  • Disattiva la modalità ad alta disponibilità del database Airflow dell'ambiente.
  • Non modifica le impostazioni per il numero minimo di worker, scheduler o attivatori di Airflow.

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Seleziona la scheda Configurazione dell'ambiente.

  4. Nella sezione Modalità di resilienza, fai clic su Modifica.

  5. Seleziona Resilienza standard (predefinita) e fai clic su Salva.

gcloud

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente Cloud Composer
  • LOCATION: la regione in cui si trova l'ambiente.

API

Crea una richiesta API environments.patch:

  • Utilizza la stringa di query updateMask=config.resilienceMode nell'URL per contrassegnare il campo aggiornato dalla richiesta.

  • Utilizza un file JSON nel corpo della richiesta per impostare il campo resilienceMode su RESILIENCE_MODE_UNSPECIFIED nella risorsa Environment.

Esempio:

// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode

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

Terraform

Il campo resilience_mode nel blocco config specifica la modalità di resilienza. Per utilizzare la modalità di resilienza standard, imposta questo valore su STANDARD_RESILIENCE.

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

  config {

    resilience_mode = "STANDARD_RESILIENCE"

  }
}

Esempio:

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

  config {

    resilience_mode = "STANDARD_RESILIENCE"

}

Controlla se il tuo ambiente viene eseguito in modalità ad alta resilienza

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Seleziona la scheda Configurazione dell'ambiente.

  4. Nella sezione Modalità di resilienza, visualizza la modalità di resilienza del tuo ambiente.

gcloud

Per verificare se la modalità ad alta resilienza è abilitata nel tuo ambiente, esegui il comando seguente di Google Cloud CLI. Il valore True indica che nel tuo ambiente è abilitata la modalità ad alta resilienza.

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente Cloud Composer
  • LOCATION: la regione in cui si trova l'ambiente.

Passaggi successivi