Configura ambienti altamente resilienti

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina descrive come configurare ambienti Cloud Composer ad alta resilienza.

Informazioni sulla resilienza agli errori a livello di zona in Cloud Composer

Gli ambienti Cloud Composer ad alta resilienza (ad alta disponibilità) utilizzano meccanismi di ridondanza e failover integrati che riducono la suscettibilità dell'ambiente agli errori a livello di zona e alle interruzioni del single point of failure.

Ad esempio, un'interruzione zonale interrompe le attività Airflow eseguite in una zona specifica. Successivamente, un ambiente a elevata resilienza recupera, riavvia i componenti interessati in una zona diversa e sposta il database in una zona secondaria. Pertanto, le attività Airflow non riuscite possono essere riprogrammate e riavviate da Airflow, preservando al contempo la cronologia delle esecuzioni DAG e altre impostazioni.

Un ambiente a elevata resilienza è multizona e 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 ad alta disponibilità, il componente Cloud SQL che archivia il database del tuo ambiente viene eseguito in modalità ad alta disponibilità. Un'istanza principale e un'istanza di standby di Cloud SQL sono distribuite tra le zone.

In caso di interruzione, l'istanza Cloud SQL del tuo ambiente esegue il failover automatico del database sull'istanza Cloud SQL in standby. Non devi eseguire ulteriori azioni nel tuo ambiente Cloud Composer. Una volta che la zona principale è di nuovo operativa, l'ambiente torna ad avere due zone (principale e secondaria). In alcuni casi, le zone primaria e secondaria 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 elevata disponibilità

Un ambiente a elevata resilienza è multizona e viene eseguito in almeno due zone di una regione selezionata. I seguenti componenti vengono eseguiti 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 del servizio a livello di zona, le istanze di lavoro interessate vengono riprogrammate in una zona diversa.

Per ulteriori informazioni sull'architettura degli ambienti a elevata resilienza, vedi Architettura dell'ambiente a elevata resilienza.

Prima di iniziare

  • In Cloud Composer 3, l'alta resilienza è disponibile sia per gli ambienti con IP privato che con IP pubblico.

  • Gli ambienti a elevata resilienza eseguono componenti aggiuntivi. Ciò comporta costi maggiori rispetto agli ambienti regolari.

  • Se vuoi aggiornare un ambiente standard a uno a resilienza elevata, assicurati che soddisfi i seguenti requisiti di configurazione. Se il tuo ambiente non soddisfa questi requisiti, puoi aggiornare i parametri di scalabilità e rendimento.

    • Il numero minimo di worker Airflow è due o più.
    • Il numero di scheduler Airflow è esattamente due.

    • Almeno due processori DAG.

    • Se utilizzi operatori differibili nei DAG, allora almeno due attivatori.

Crea un ambiente altamente resiliente

Per creare un ambiente a elevata resilienza, attiva la modalità ad alta resilienza quando crei un ambiente.

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

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

  5. Seleziona Resilienza elevata 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.
  • LOCATION: la regione in cui si trova l'ambiente.

API

  1. Crea 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 del tuo 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"

}

Modificare un ambiente a resilienza elevata in modalità di resilienza standard

Puoi impostare l'ambiente sulla modalità di resilienza standard in qualsiasi momento. Questa operazione:

  • Riduce a uno 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 trigger 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 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. Crea 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 del tuo 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 l'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 ambiente.

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

gcloud

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

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