Configurare finestre di esclusione

Questa pagina descrive le finestre di esclusione in Fault Injection Testing e come utilizzarle per proteggere le applicazioni e i servizi durante le operazioni aziendali critiche.

Le finestre di esclusione migliorano il controllo sulle pianificazioni dei test di resilienza. Una finestra di esclusione è un periodo di tempo che definisci durante il quale non è possibile avviare nuovi esperimenti di fault injection. Questa funzionalità ti aiuta a proteggere le applicazioni e i servizi durante eventi critici, ad esempio:

  • Orari di traffico di picco o eventi di vendita con volumi elevati
  • Migrazioni o upgrade di sistemi principali
  • Periodi di manutenzione critici

Quando una finestra di esclusione è attiva, Fault Injection Testing blocca qualsiasi tentativo di avviare nuovi esperimenti nell'ambito definito. Gli esperimenti già in esecuzione prima dell'attivazione della finestra di esclusione possono continuare fino al completamento.

Come funzionano le finestre di esclusione

Ambito e targeting

Quando configuri una finestra di esclusione, selezioni una regione Cloud specifica. Una volta attivata, la finestra di esclusione impedisce l'avvio di nuovi esperimenti solo all'interno della regione designata, indipendentemente dal modello di esperimento utilizzato.

Attivazione e durata

La creazione di una finestra di esclusione ne definisce i parametri, ma non la attiva immediatamente. Devi avviare esplicitamente la finestra per renderla attiva.

Una finestra di esclusione attiva smette di bloccare gli esperimenti in due modi:

  • Scadenza automatica: ogni finestra di esclusione è configurata con una durata. Una volta attivata, la finestra si disattiva automaticamente al termine di questa durata. Il sistema calcola l'ora di fine (ora di inizio + durata) e smette di bloccare i nuovi esperimenti una volta superata l'ora di fine corrente.
  • Arresto manuale: puoi arrestare manualmente una finestra di esclusione attiva prima della scadenza della durata pianificata. Questa opzione è utile se il periodo critico termina prima del previsto e vuoi riprendere immediatamente i test.

Gestire le finestre di esclusione nella Google Cloud consolle

Prima di procedere, devi disporre del ruolo roles/faulttesting.operator.

Creare e configurare una finestra di esclusione

  1. Nella Google Cloud console, vai alla pagina Finestre di esclusione di Fault Injection Testing.
  2. Fai clic su Crea finestra di esclusione.
  3. Specifica la regione Cloud, la durata e una descrizione facoltativa.
  4. Fai clic su Crea.

Controllare manualmente una finestra di esclusione

Puoi attivare manualmente le azioni Avvia e Arresta per qualsiasi finestra di esclusione configurata direttamente dalla Google Cloud console.

Attivare automaticamente una finestra di esclusione

Ad esempio, potresti volerla allineare a un periodo di manutenzione pianificato o a un evento ricorrente. Per automatizzare l'attivazione di una finestra di esclusione:

  1. Dopo aver creato una finestra di esclusione, copia l'URL HTTPS per la RPC StartExclusionWindow visualizzata nell'interfaccia utente.
  2. Utilizza un servizio di pianificazione come Cloud Scheduler per configurare un job che invii una richiesta a questo URL all'ora scelta.

Gestire le finestre di esclusione utilizzando Google Cloud CLI

Puoi gestire le risorse della finestra di esclusione utilizzando i gcloud alpha fault-testing exclusion-windows comandi.

Creare una finestra di esclusione

Per creare una finestra di esclusione, utilizza il comando create. Specifica l'ID della finestra, la regione di destinazione e la durata:

gcloud alpha fault-testing exclusion-windows create EXCLUSION_WINDOW_ID \
    --location=REGION \
    --duration=DURATION \
    [--description="DESCRIPTION"]

Sostituisci quanto segue:

  • EXCLUSION_WINDOW_ID: un identificatore univoco per la finestra (ad esempio, black-friday-freeze).
  • REGION: La Google Cloud regione in cui si applica questa finestra (ad esempio, us-central1).
  • DURATION: la durata attiva, specificata in secondi (ad esempio, 86400s per 24 ore).
  • DESCRIPTION: (facoltativo) una descrizione dello scopo della finestra.

Esempio:

gcloud alpha fault-testing exclusion-windows create black-friday-freeze \
    --location=us-east1 \
    --duration=259200s \
    --description="Exclusion window for Black Friday to Cyber Monday sales period"

Eliminare una finestra di esclusione

Per eliminare una definizione della finestra di esclusione, utilizza il comando delete:

gcloud alpha fault-testing exclusion-windows delete EXCLUSION_WINDOW_ID \
    --location=REGION

Avviare una finestra di esclusione

Per attivare una finestra di esclusione configurata, utilizza il comando start:

gcloud alpha fault-testing exclusion-windows start EXCLUSION_WINDOW_ID \
    --location=REGION

Arrestare una finestra di esclusione

Per disattivare manualmente una finestra di esclusione attiva in anticipo, utilizza il comando stop:

gcloud alpha fault-testing exclusion-windows stop EXCLUSION_WINDOW_ID \
    --location=REGION

Best practice

Quando crei una finestra di esclusione, tieni presente quanto segue:

  • Pianifica la sovrapposizione degli esperimenti. Avvia le finestre di esclusione poco prima dell'inizio del periodo aziendale critico. Poiché gli esperimenti in esecuzione possono essere completati, l'avvio anticipato della finestra garantisce che tutti gli errori vengano eliminati prima dell'inizio del periodo critico.
  • Utilizza identificatori descrittivi. Utilizza ID chiari e significativi (ad esempio, black-friday-freeze o system-migration-us-east1) per identificare lo scopo e l'ambito della finestra.
  • Allinea la durata al tipo di evento. Abbina la durata della finestra alla durata prevista dell'evento critico. Per le vendite promozionali durante le festività principali, è consigliata una durata di più giorni (ad esempio, 259200s per 3 giorni).
  • Sfrutta l'automazione. Utilizza Cloud Scheduler per automatizzare l'attivazione delle finestre di esclusione per eventi ricorrenti o manutenzione pianificata per ridurre l'impegno manuale e il rischio di omissione.
  • Mantieni la flessibilità. Ricorda che puoi utilizzare il comando stop per terminare una finestra in anticipo se un periodo critico termina prima del previsto, consentendoti di riprendere immediatamente i test di resilienza.