Per verificare che l'overprovisioning del tuo gruppo di istanze gestite (MIG) regionale sia suffciente e che il MIG possa sopravvivere a un'interruzione nella zona, puoi utilizzare il seguente esempio per simulare un errore a livello di zona.
Prima di iniziare
- Se vuoi utilizzare gli esempi di riga di comando in questa guida, installa Google Cloud CLI.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Trusted Cloud by S3NS .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud init
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Utilizza uno script per simulare un'interruzione nella zona
Questo script arresta e avvia Apache come scenario predefinito. Se questo non si applica alla tua applicazione, sostituisci i comandi che arrestano e avviano Apache con il tuo scenario di errore e recupero.
Esegui il deployment e questo script in modo continuo in ogni VM del gruppo. Puoi farlo aggiungendo lo script al modello di istanza o includendolo in un'immagine personalizzata e utilizzando l'immagine nel modello di istanza.
Simula un errore nella zona impostando questi due campi dei metadati di progetto:
failed_zone
: imposta la zona in cui vuoi simulare l'interruzione (limita l'errore a una sola zona).failed_instance_names
: scegli le VM da mettere offline per nome (per limitare l'errore solo ai nomi delle VM contenenti questa stringa).
Puoi impostare questi metadati utilizzando gcloud CLI. Ad esempio, il seguente comando imposta l'interruzione nella zona sulla zona
europe-west1-b
e interessa le VM i cui nomi iniziano conbase-instance-name
:gcloud compute project-info add-metadata --metadata failed_zone='europe-west1-b',failed_instance_names='base-instance-name-'
Al termine della simulazione dell'interruzione, recupera dall'errore rimuovendo le chiavi dei metadati:
gcloud compute project-info remove-metadata --keys failed_zone,failed_instance_names
Ecco alcune idee per scenari di errore che puoi eseguire utilizzando questo script:
- Arresta completamente l'applicazione per vedere come risponde il MIG.
- Fai in modo che le VM restituiscano lo stato "non integro" nei controlli di integrità del bilanciamento del carico.
- Modifica iptables per bloccare parte del traffico verso e dalla VM.
- Arresta le VM. Per impostazione predefinita, verrà ricreato dal MIG a livello di regione poco dopo, ma la nuova versione si arresterà immediatamente non appena verrà eseguito lo script e a condizione che i valori dei metadati siano impostati. Ciò comporterà un loop di arresto anomalo.
Passaggi successivi
- Scopri come creare applicazioni web scalabili e resilienti.
- Scopri di più riguardo il disaster recovery sulla piattaforma Google Cloud.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-18 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-18 UTC."],[[["\u003cp\u003eThis guide explains how to simulate a zonal failure to test if a regional managed instance group (MIG) is overprovisioned enough to handle outages.\u003c/p\u003e\n"],["\u003cp\u003eThe simulation involves using a script that can be deployed in each VM within the group to stop and start a service, such as Apache, to mimic failure and recovery scenarios.\u003c/p\u003e\n"],["\u003cp\u003eTo simulate a zone outage, two project metadata fields need to be set: \u003ccode\u003efailed_zone\u003c/code\u003e, specifying the zone to target, and \u003ccode\u003efailed_instance_names\u003c/code\u003e, which identifies the VMs to affect.\u003c/p\u003e\n"],["\u003cp\u003eYou can use the \u003ccode\u003egcloud\u003c/code\u003e CLI to set the metadata values for the simulated outage and then remove them to recover from the simulated failure.\u003c/p\u003e\n"],["\u003cp\u003eThe provided failure script can be used to test various failure scenarios, including stopping the application, causing VMs to return as "unhealthy," modifying iptables, and shutting down VMs.\u003c/p\u003e\n"]]],[],null,[]] -