Fail Compute fault reference

Questa pagina descrive cosa succede durante un esperimento con un tipo di errore di calcolo e le misure da adottare nel caso in cui il test di iniezione di errori non possa interrompere l'esperimento.

Come funziona l'errore di calcolo

L'errore di calcolo utilizza i tag delle risorse per contrassegnare le VM e una policy firewall con regole che hanno come target questi tag per bloccare tutto il traffico in entrata e in uscita. Questa configurazione fa sì che le risorse di destinazione appaiano come se stessero subendo un'interruzione, garantendo al contempo che rimangano integre e rapidamente recuperabili.

La destinazione di questo errore può essere:

Cosa succede durante l'esecuzione dell'esperimento

Man mano che l'esperimento passa da uno stato all'altro, stati, le risorse coinvolte subiscono le seguenti modifiche.

Risorsa

PREPARING

INJECTING

REVERTING

VM

Nessuno

Associa tag di risorsa

Dissocia tag di risorsa

MIG / RMIG

Nessuno

Disattiva il ripristino automatico e la scalabilità automatica (se sono attive)

Ripristina le impostazioni di ripristino automatico e scalabilità automatica

Tag

Crea una risorsa TagValue univoca per l'esperimento

Nessuno

Elimina TagValue

Policy firewall

Crea una risorsa FirewallPolicy a livello di SISTEMA

Compila con regole DENY e associa la policy ai VPC pertinenti

Dissocia dai VPC ed elimina FirewallPolicy

Ripristino manuale di emergenza

In caso di errore catastrofico del backend in cui Fault Injection Testing non può interrompere automaticamente un esperimento, puoi ripristinare manualmente la connettività alle risorse VM rimuovendo manualmente i tag delle risorse associati alle VM interessate. La policy del firewall di sistema, che ha come target questi tag, non verrà più applicata, scollegando di fatto le VM dall'errore di isolamento.

Autorizzazioni obbligatorie

Devi disporre delle seguenti autorizzazioni IAM:

  • Obbligatorie per visualizzare le istanze VM:
    • compute.instances.get
    • compute.instances.list
  • Obbligatorie per visualizzare e rimuovere le associazioni di tag:
    • resourcemanager.tagValueBindings.list
    • resourcemanager.tagValueBindings.delete

Ripristino manuale utilizzando l' Google Cloud interfaccia utente della console

Per eseguire un ripristino utilizzando la Google Cloud console:

  1. Vai alla pagina Istanze VM nella Google Cloud console.
  2. Seleziona le istanze VM specifiche interessate dall'errore di isolamento.
  3. Nella pagina dei dettagli dell'istanza, vai alla sezione di gestione dei tag.
  4. Identifica l'associazione di tag specifica dell'esperimento associata all'errore di calcolo di Fault Injection Testing.
  5. Rimuovi l'associazione di tag dalla VM.

Una volta rimosso il tag, la policy del firewall associata non avrà più come target la VM e la connettività verrà ripristinata.

Ripristino manuale utilizzando gcloud CLI

Puoi rimuovere manualmente l'associazione di tag dell'esperimento da una VM utilizzando Google Cloud CLI. Nei seguenti comandi, sostituisci TAG_VALUE_NAME, PROJECT_NUMBER, ZONE e VM_NAME con i valori specifici del tuo ambiente.

Innanzitutto, recupera il nome del valore del tag specifico dell'esperimento elencando le associazioni di tag correnti per la VM:

gcloud resource-manager tag bindings list --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME

Utilizza l'output del comando precedente per determinare il TAG_VALUE_NAME richiesto per il passaggio di eliminazione:

gcloud resource-manager tag bindings delete --tag-value=TAG_VALUE_NAME --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME

Una volta rimosso il tag, la policy del firewall associata non avrà più come target la VM e la connettività verrà ripristinata.