Configura ambienti altamente resilienti

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina descrive come configurare ambienti Cloud Composer estremamente resilienti.

Informazioni sulla resilienza per gli errori zonali in Cloud Composer

Gli ambienti Cloud Composer altamente resilienti utilizzano meccanismi di ridondanza e failover integrati che riducono la suscettibilità dell'ambiente a guasti zonali e interruzioni di single point of failure.

Ad esempio, un'interruzione zonale interrompe le attività Airflow eseguite in una zona specifica. In seguito, un ambiente altamente resiliente si ripristina, riavvia i componenti interessati in un'altra zona e sposta il database in una zona secondaria. Di conseguenza, le attività Airflow non riuscite possono essere riprogrammate e riavviate da Airflow, preservando al contempo la cronologia delle esecuzioni del DAG e altre impostazioni.

Un ambiente altamente resiliente viene eseguito su 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à, l'istanza Cloud SQL che memorizza il database dell'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 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 sull'istanza Cloud SQL in standby. Non devi eseguire altre 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 principali 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 ad alta disponibilità eseguono componenti Airflow distribuiti tra le zone.

Il tuo ambiente esegue sempre esattamente due pianificatori Airflow, due server web e almeno due (ma non più di dieci) attivatori se gli attivatori 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 di una zona, le istanze di worker interessate vengono riprogrammate 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 negli ambienti IP privati.

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

  • Gli ambienti altamente resilienti sono disponibili in Cloud Composer versione 2.2.0 e successive.

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

Crea un ambiente altamente resiliente

Per creare un ambiente altamente resiliente, abilita la modalità di elevata 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 dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.

  3. Seleziona la scheda Configurazione dell'ambiente.

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

  5. Seleziona Elevata 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.
  • 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à di elevata 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à di elevata 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"

}

Passare da un ambiente altamente resiliente alla modalità di resilienza standard

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

  • Riduci il numero di server web nel tuo ambiente a 1.
  • Disattiva la modalità di alta disponibilità del database Airflow dell'ambiente.
  • Non modifica le impostazioni per il numero minimo di worker, programmatori o attivatori 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. Viene visualizzata la pagina Dettagli dell'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 dell'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"

}

Verifica se l'ambiente funziona in modalità di elevata 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. Viene visualizzata la pagina Dettagli dell'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à di elevata resilienza è abilitata nel tuo ambiente, esegui il seguente comando Google Cloud CLI. Il valore True indica che la modalità di resilienza elevata è attiva nel tuo ambiente.

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

Sostituisci quanto segue:

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

Passaggi successivi