Configura ambienti altamente resilienti

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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 a elevata resilienza utilizzano meccanismi di ridondanza e failover integrati che riducono la suscettibilità dell'ambiente a errori di zona e interruzioni del singolo punto di errore.

Ad esempio, un'interruzione a livello di zona interrompe le attività Airflow eseguite in una zona specifica. In seguito, un ambiente altamente resiliente recupera, riavvia i componenti interessati in una zona diversa e passa il database a una zona secondaria. Pertanto, le attività Airflow non riuscite possono essere riprogrammate e riavviate da Airflow, conservando allo stesso tempo la cronologia delle esecuzioni dei DAG e altre impostazioni.

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

Puoi usare ambienti Cloud Composer altamente resilienti per i 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 regionale 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 include 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 azioni aggiuntive nel tuo ambiente Cloud Composer. Una volta che la zona principale diventa di nuovo operativa, l'ambiente torna ad avere due zone (principale 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 ad alta disponibilità

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

Il tuo ambiente esegue sempre esattamente due scheduler di Airflow, due server web e almeno due (ma non più di dieci) triggerer se sono abilitati. Queste coppie di componenti vengono eseguite in zone separate. 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 degli ambienti altamente resilienti, consulta Architettura di ambienti altamente resilienti.

Prima di iniziare

  • Gli ambienti altamente resilienti sono disponibili solo in ambienti IP privati.

  • Gli ambienti altamente resilienti sono offerti a un costo incrementale rispetto agli ambienti normali.

  • Gli ambienti a elevata resilienza sono disponibili in Cloud Composer 2.2.0 e versioni successive.

  • Se vuoi aggiornare un ambiente standard per passare a uno altamente resiliente, assicurati che soddisfi i seguenti requisiti di configurazione. Se il tuo ambiente non soddisfa questi requisiti, puoi aggiornare i relativi parametri di scalabilità e prestazioni.

    • Il numero minimo di worker di Airflow è 2 o più.
    • Il numero degli scheduler Airflow è esattamente 2.
    • Se utilizzi operatori reimpostabili nei DAG, quindi devono avere almeno 2 triggerer.

Crea un ambiente altamente resiliente

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

Aggiorna 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 dell'ambiente. Si apre 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 dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.resilienceMode.

    2. Nel corpo della richiesta, specifica HIGH_RESILIENCE per passare alla modalità ad alta resilienza.

Esempio:

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

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

Terraform

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

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

Esempio:

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

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

Cambiare un ambiente altamente resiliente alla modalità di resilienza standard

Puoi passare alla modalità di resilienza standard del 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 del tuo ambiente.
  • Non modifica le impostazioni per il numero minimo di worker, scheduler o triggerer di Airflow.

Console

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

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre 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 (impostazione 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

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.resilienceMode.

    2. Nel corpo della richiesta, specifica RESILIENCE_MODE_UNSPECIFIED per passare alla modalità di resilienza standard.

Esempio:

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

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"

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

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 è 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 dell'ambiente. Si apre 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 nel tuo ambiente è abilitata la modalità ad alta resilienza, esegui questo comando 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