Il documento descrive come eseguire il deployment di una topologia di failover freddo per un server web utilizzando un gruppo di istanze gestite con dischi permanenti a livello di regione. Questo documento è destinato agli architetti e alle persone che lavorano nei team operativi e amministrativi.
Creerai un gruppo di istanze gestite che esegue una singola VM con un disco permanente a livello di regione che archivia i dati. Un bilanciatore del carico delle applicazioni esterno indirizza gli utenti alla VM eseguita nel gruppo di istanze gestite, come mostrato nel diagramma seguente:
In caso di errore dell'istanza, il gruppo di istanze gestite tenta di ricreare la VM nella stessa zona. Se l'errore si verifica a livello di zona, Cloud Monitoring o un sistema simile possono segnalarti un problema e creare manualmente un altro gruppo di istanze gestite in un'altra zona di lavoro. In entrambi gli scenari di failover, la piattaforma collega il disco permanente a livello di regione alla nuova VM nel gruppo di istanze.
In questo documento utilizzerai l'indirizzo IP esterno della VM o del bilanciatore del carico per visualizzare una pagina di base sul server web. Questo approccio ti consente di testare il pattern di failover coldover se non hai un nome di dominio registrato e senza alcuna modifica al DNS. In un ambiente di produzione, crea e configura una zona e un record Cloud DNS che si risolvano nell'indirizzo IP esterno assegnato al bilanciatore del carico.
Questo scenario bilancia la differenza di costo dell'esecuzione di più VM con il mantenimento di un determinato livello di protezione dei dati. I costi sono più alti quando esegui un disco permanente a livello di regione che fornisce la replica continua dei dati tra due zone in una regione, ma riduci al minimo il rischio di perdita di dati in caso di errore a livello di zona. Per ridurre i costi di archiviazione, valuta la possibilità di eseguire il deployment di un server web recuperabile a freddo utilizzando disco permanente permanenti.
La tabella seguente illustra alcune differenze generali nelle opzioni di protezione dei dati per gli approcci recuperabili a freddo che utilizzano dischi permanenti a livello di regione o snapshot di disco permanente. Per ulteriori informazioni, consulta Opzioni di alta disponibilità che utilizzano dischi permanenti.
Dischi permanenti a livello di area geografica | Snapshot di dischi permanenti | |
---|---|---|
Perdita di dati - RPO (Recovery Point Objective) | Zero per un singolo errore, come un'interruzione prolungata in una zona o la disconnessione di rete. | Tutti i dati dall'acquisizione dell'ultimo snapshot, che in genere è pari o superiore a un'ora. La potenziale perdita di dati dipende dalla pianificazione degli snapshot, che controlla la frequenza con cui vengono acquisiti gli snapshot. |
RTO (Recovery Time Objective) | Tempo di deployment per una nuova VM, più diversi secondi per il collegamento del disco permanente a livello di regione. | Tempo di deployment per una nuova VM, più il tempo per creare un nuovo disco permanente dallo snapshot più recente. Il tempo di creazione del disco dipende dalle dimensioni dello snapshot e potrebbe richiedere decine di minuti o ore. |
Costo | I costi di archiviazione raddoppiano, poiché il disco permanente a livello di regione viene replicato continuativamente in un'altra zona. | Paghi solo per la quantità di spazio di snapshot consumata. |
Per ulteriori informazioni, consulta la sezione Prezzi di dischi e immagini. |
Obiettivi
- Crea un gruppo di istanze gestite per eseguire una VM con un disco permanente a livello di regione.
- Creare un modello di istanza e uno script di avvio.
- Crea e configura un bilanciatore del carico delle applicazioni esterno.
- Testa il failover del server web freddo con un gruppo di istanze gestite sostitutivo.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Compute Engine.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Compute Engine.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
Puoi eseguire Google Cloud CLI nella console Google Cloud senza installare Google Cloud CLI. Per eseguire gcloud CLI nella console Google Cloud, utilizza Cloud Shell.
Prepara l'ambiente
In questa sezione definisci alcune variabili per le località e i nomi delle risorse. Queste variabili sono utilizzate dai comandi di Google Cloud CLI durante il deployment delle risorse.
In tutto questo documento, se non diversamente indicato, inserirai tutti i comandi in Cloud Shell o nel tuo ambiente di sviluppo locale.
Sostituisci
PROJECT_ID
con l'ID del tuo progetto. Se necessario, specifica il tuo suffisso del nome per le risorse, ad esempioapp
.Specifica una regione, ad esempio
us-central1
, e due zone all'interno di quell'area geografica, ad esempious-central1-a
eus-central1-f
. Queste zone definiscono dove viene eseguito il deployment del disco permanente a livello di regione e del gruppo di istanze gestite iniziale e dove è possibile eseguire il failover manuale, se necessario.PROJECT_ID=PROJECT_ID NAME_SUFFIX=app REGION=us-central1 ZONE1=us-central1-a ZONE2=us-central1-f
Crea un VPC e una subnet
Per fornire l'accesso di rete alle VM, crea un VPC (Virtual Private Cloud) e una subnet. Poiché il gruppo di istanze gestite funziona in più zone all'interno di un'unica regione, viene creata una sola subnet. Per ulteriori informazioni sui vantaggi della modalità subnet personalizzata per gestire gli intervalli di indirizzi IP in uso nel tuo ambiente, consulta Utilizzare le reti VPC in modalità personalizzata.
Crea il VPC con una modalità di subnet personalizzata:
gcloud compute networks create network-$NAME_SUFFIX \ --subnet-mode=custom
Se viene visualizzato un prompt di Cloud Shell, autorizza questa prima richiesta a effettuare chiamate API.
Crea una subnet nel nuovo VPC. Definisci il tuo intervallo di indirizzi, ad esempio
10.1.0.0/20
, adatto all'intervallo di rete:gcloud compute networks subnets create subnet-$NAME_SUFFIX-$REGION \ --network=network-$NAME_SUFFIX \ --range=10.1.0.0/20 \ --region=$REGION
Crea regole firewall
Crea regole firewall per consentire il traffico web e i controlli di integrità per il bilanciatore del carico e i gruppi di istanze gestite:
gcloud compute firewall-rules create allow-http-$NAME_SUFFIX \ --network=network-$NAME_SUFFIX \ --direction=INGRESS \ --priority=1000 \ --action=ALLOW \ --rules=tcp:80 \ --source-ranges=0.0.0.0/0 \ --target-tags=http-server gcloud compute firewall-rules create allow-health-check-$NAME_SUFFIX \ --network=network-$NAME_SUFFIX \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-health-check \ --rules=tcp:80
La regola HTTP consente il traffico verso qualsiasi VM in cui è applicato il tag
http-server
e da qualsiasi origine che utilizzi l'intervallo0.0.0.0/0
. Per la regola per il controllo di integrità, gli intervalli predefiniti per Google Cloud sono impostati in modo da consentire alla piattaforma di verificare correttamente l'integrità delle risorse.Per consentire il traffico SSH per la configurazione iniziale di un'immagine VM di base, limita l'ambito della regola firewall al tuo ambiente utilizzando il parametro
--source-range
. Potrebbe essere necessario collaborare con il team di rete per determinare quali intervalli di origine vengono utilizzati dalla tua organizzazione.Sostituisci
IP_ADDRESS_SCOPE
con i tuoi ambiti degli indirizzi IP:gcloud compute firewall-rules create allow-ssh-$NAME_SUFFIX \ --network=network-$NAME_SUFFIX \ --direction=INGRESS \ --priority=1000 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_ADDRESS_SCOPE
Dopo aver creato le regole firewall, verifica che siano state aggiunte:
gcloud compute firewall-rules list \ --project=$PROJECT_ID \ --filter="NETWORK=network-$NAME_SUFFIX"
Il seguente output di esempio mostra che le tre regole sono state create correttamente:
NAME NETWORK DIRECTION PRIORITY ALLOW allow-health-check-app network-app INGRESS 1000 tcp:80 allow-http-app network-app INGRESS 1000 tcp:80 allow-ssh-app network-app INGRESS 1000 tcp:22
Crea un disco permanente e una VM a livello di regione
Un disco permanente a livello di regione fornisce la replica continua dei dati tra due zone di un'area geografica. I gruppi di istanze gestite, che vengono eseguiti nelle stesse due zone del disco permanente a livello di regione, possono collegare il disco a una VM.
Crea un'unità SSD da 10 GiB. Scopri quali sono le tue esigenze di archiviazione e i costi associati del pagamento per lo spazio di cui è stato eseguito il provisioning, non lo spazio utilizzato. Per ulteriori informazioni, consulta la pagina relativa ai prezzi dei dischi permanenti.
gcloud compute disks create disk-$NAME_SUFFIX \ --region $REGION \ --replica-zones $ZONE1,$ZONE2 \ --size=10 \ --type=pd-ssd
Crea una VM di base con il disco permanente a livello di regione collegato:
gcloud compute instances create vm-base-$NAME_SUFFIX \ --zone=$ZONE1 \ --machine-type=n1-standard-1 \ --subnet=subnet-$NAME_SUFFIX-$REGION \ --tags=http-server \ --image=debian-10-buster-v20210721 \ --image-project=debian-cloud \ --boot-disk-size=10GB \ --boot-disk-type=pd-balanced \ --boot-disk-device-name=vm-base-$NAME_SUFFIX \ --disk=mode=rw,name=disk-$NAME_SUFFIX,device-name=disk-$NAME_SUFFIX,scope=regional
Utilizza i parametri definiti all'inizio di questo documento per assegnare un nome alla VM e connetterti alla subnet corretta. Vengono assegnati nomi anche dai parametri per il disco di avvio e il disco dati.
Per installare e configurare il sito web semplice, connettiti prima alla VM di base utilizzando SSH:
gcloud compute ssh vm-base-$NAME_SUFFIX --zone=$ZONE1
Nella sessione SSH per la VM, crea uno script per configurare la VM in un editor a tua scelta. L'esempio seguente utilizza Nano come editor:
nano configure-vm.sh
Incolla il seguente script di configurazione nel file. Aggiorna la variabile
NAME_SUFFIX
in modo che corrisponda al valore impostato all'inizio di questo documento, ad esempio app:#!/bin/bash NAME_SUFFIX=app # Create directory for the basic website files sudo mkdir -p /var/www/example.com sudo chmod a+w /var/www/example.com sudo chown -R www-data: /var/www/example.com # Find the disk name, then format and mount it DISK_NAME="google-disk-$NAME_SUFFIX" DISK_PATH="$(find /dev/disk/by-id -name "${DISK_NAME}" | xargs -I '{}' readlink -f '{}')" sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard $DISK_PATH sudo mount -o discard,defaults $DISK_PATH /var/www/example.com # Install Apache sudo apt-get update && sudo apt-get -y install apache2 # Write out a basic HTML file to the mounted persistent disk sudo tee -a /var/www/example.com/index.html >/dev/null <<'EOF' <!doctype html> <html lang=en> <head> <meta charset=utf-8> <title>HA / DR example</title> </head> <body> <p>Welcome to a test web server with regional persistent disks!</p> </body> </html> EOF # Write out an Apache configuration file sudo tee -a /etc/apache2/sites-available/example.com.conf >/dev/null <<'EOF' <VirtualHost *:80> ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> EOF # Enable the Apache configuration file and reload service sudo a2dissite 000-default sudo a2ensite example.com.conf sudo systemctl reload apache2
Scrivi il file ed esci dall'editor. Ad esempio, in Nano usi
Ctrl-O
per scrivere il file, quindi esci conCtrl-X
.Rendi eseguibile lo script di configurazione, quindi eseguilo:
chmod +x configure-vm.sh ./configure-vm.sh
Esci dalla sessione SSH sulla VM:
exit
Ottieni l'indirizzo IP della VM e usa
curl
per visualizzare la pagina web di base:curl $(gcloud compute instances describe vm-base-$NAME_SUFFIX \ --zone $ZONE1 \ --format="value(networkInterfaces.accessConfigs.[0].natIP)")
Viene restituito il sito web di base, come mostrato nell'output di esempio seguente:
<!doctype html> <html lang=en> <head> <meta charset=utf-8> <title>HA / DR example</title> </head> <body> <p>Welcome to a test web server with regional persistent disks!</p> </body> </html>
Questo passaggio conferma che Apache è configurato correttamente e che la pagina viene caricata dal disco permanente a livello di regione collegato. Nelle sezioni seguenti, creerai un'immagine utilizzando questa VM di base e configurerai un modello di istanza con uno script di avvio.
Crea un'immagine VM e un modello di istanza
Per creare VM identiche di cui sia possibile eseguire il deployment automatico senza bisogno di ulteriori configurazioni, utilizza un'immagine VM personalizzata. Questa immagine acquisisce il sistema operativo e la configurazione Apache. Ogni VM creata nel gruppo di istanze gestite nei passaggi successivi utilizza questa immagine.
Prima di poter creare un'immagine, devi arrestare la VM:
gcloud compute instances stop vm-base-$NAME_SUFFIX --zone=$ZONE1
Crea un'immagine della VM di base configurata nella sezione precedente:
gcloud compute images create image-$NAME_SUFFIX \ --source-disk=vm-base-$NAME_SUFFIX \ --source-disk-zone=$ZONE1 \ --storage-location=$REGION
Crea un modello di istanza che definisce la configurazione per ogni VM:
gcloud compute instance-templates create template-$NAME_SUFFIX \ --machine-type=n1-standard-1 \ --subnet=projects/$PROJECT_ID/regions/$REGION/subnetworks/subnet-$NAME_SUFFIX-$REGION \ --tags=http-server \ --image=image-$NAME_SUFFIX \ --region=$REGION \ --metadata=^,@^startup-script=\!\#\ /bin/bash$'\n'echo\ UUID=\`blkid\ -s\ UUID\ -o\ value\ /dev/sdb\`\ /var/www/example.com\ ext4\ discard,defaults,nofail\ 0\ 2\ \|\ tee\ -a\ /etc/fstab$'\n'mount\ -a
L'immagine creata nel passaggio precedente è definita come origine per ogni VM e viene definito anche uno script di avvio che monta il disco permanente a livello di regione.
Creare un gruppo di istanze gestite
Un gruppo di istanze gestite esegue le VM. Il gruppo di istanze gestite viene eseguito in una zona definita e monitora l'integrità delle VM. Se si verifica un errore dell'istanza e l'esecuzione della VM si interrompe, il gruppo di istanze gestite tenta di ricreare un'altra VM nella stessa zona e collega il disco permanente a livello di regione. Se l'errore è a livello di zona, devi eseguire manualmente il failover a freddo e creare un altro gruppo di istanze gestite in una zona diversa. La stessa immagine personalizzata e lo stesso modello di istanza configurano automaticamente la VM in modo identico.
Crea un controllo di integrità per monitorare le VM nel gruppo di istanze gestite. Questo controllo di integrità assicura che la VM risponda sulla porta 80. Per le tue applicazioni, monitora le porte appropriate per verificare l'integrità della VM.
gcloud compute health-checks create http http-basic-check-$NAME_SUFFIX --port 80
Crea un gruppo di istanze gestite, inizialmente senza VM, che utilizza il modello di istanza creato nel passaggio precedente.
gcloud compute instance-groups managed create instance-group-$NAME_SUFFIX-$ZONE1 \ --base-instance-name=instance-vm-$NAME_SUFFIX \ --template=template-$NAME_SUFFIX \ --size=0 \ --zone=$ZONE1 \ --health-check=http-basic-check-$NAME_SUFFIX
Crea una singola VM nel gruppo di istanze gestite e collega il disco permanente a livello di regione. Se si verifica un errore di questa VM, il gruppo di istanze gestite prova a ricrearla nella stessa zona e a ricollegare il disco permanente.
gcloud compute instance-groups managed create-instance instance-group-$NAME_SUFFIX-$ZONE1 \ --instance instance-vm-$NAME_SUFFIX \ --zone=$ZONE1\ --stateful-disk device-name=disk-$NAME_SUFFIX,source=projects/$PROJECT_ID/regions/$REGION/disks/disk-$NAME_SUFFIX
Per questo scenario di applicazione recuperabile a freddo, non creare regole di scalabilità automatica per aumentare il numero di VM in esecuzione nel gruppo di istanze gestite.
Crea e configura un bilanciatore del carico
Affinché gli utenti possano accedere al tuo sito web, devi consentire il traffico verso le VM in esecuzione nel gruppo di istanze gestite. Vuoi anche reindirizzare automaticamente il traffico a nuove VM in caso di errore di una zona in un gruppo di istanze gestite.
Nella sezione seguente, crei un bilanciatore del carico esterno con un servizio di backend per il traffico HTTP sulla porta 80, utilizzerai il controllo di integrità creato nei passaggi precedenti e mappa un indirizzo IP esterno tramite il servizio di backend.
Per saperne di più, consulta Come configurare un bilanciatore del carico HTTP esterno semplice.
Crea e configura il bilanciatore del carico per la tua applicazione:
# Configure port rules for HTTP port 80 gcloud compute instance-groups set-named-ports \ instance-group-$NAME_SUFFIX-$ZONE1 \ --named-ports http:80 \ --zone $ZONE1 # Create a backend service and add the managed instance group to it gcloud compute backend-services create \ web-backend-service-$NAME_SUFFIX \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check-$NAME_SUFFIX \ --global gcloud compute backend-services add-backend \ web-backend-service-$NAME_SUFFIX \ --instance-group=instance-group-$NAME_SUFFIX-$ZONE1 \ --instance-group-zone=$ZONE1 \ --global # Create a URL map for the backend service gcloud compute url-maps create web-map-http-$NAME_SUFFIX \ --default-service web-backend-service-$NAME_SUFFIX # Configure forwarding for the HTTP traffic gcloud compute target-http-proxies create \ http-lb-proxy-$NAME_SUFFIX \ --url-map web-map-http-$NAME_SUFFIX gcloud compute forwarding-rules create \ http-content-rule-$NAME_SUFFIX \ --global \ --target-http-proxy=http-lb-proxy-$NAME_SUFFIX \ --ports=80
Ottieni l'indirizzo IP della regola di forwarding per il traffico web:
IP_ADDRESS=$(gcloud compute forwarding-rules describe http-content-rule-$NAME_SUFFIX \ --global \ --format="value(IPAddress)")
Utilizza
curl
o apri il browser web per visualizzare il sito web utilizzando l'indirizzo IP del bilanciatore del carico del passaggio precedente:curl $IP_ADDRESS
Il bilanciatore del carico impiega alcuni minuti per completare il deployment e indirizzare correttamente il traffico al tuo backend. Viene restituito un errore HTTP 404 o 502 se il deployment del bilanciatore del carico è ancora in corso. Se necessario, attendi qualche minuto e riprova ad accedere al sito web.
Viene restituito il sito web di base, come mostrato nell'output di esempio seguente:
<!doctype html> <html lang=en> <head> <meta charset=utf-8> <title>HA / DR example</title> </head> <body> <p>Welcome to a test web server with regional persistent disks!</p> </body> </html>
Simulare errori e ripristino di una zona
Esamina i deployment delle risorse prima di simulare un errore a livello di zona. Tutte le risorse sono state create per supportare l'ambiente mostrato nella seguente immagine:
- Una VM viene eseguita in un gruppo di istanze gestite, a cui è collegato un disco permanente a livello di regione che archivia un sito web di base.
- Uno script di avvio viene applicato a un modello di istanza in modo che tutte le VM create nel gruppo di istanze gestite installino il disco permanente a livello di regione.
- Un controllo di integrità monitora lo stato della VM all'interno del gruppo di istanze gestite.
- Il bilanciatore del carico delle applicazioni esterno indirizza gli utenti alla VM eseguita nel gruppo di istanze gestite.
- In caso di errore della VM, il gruppo di istanze gestite tenta di ricreare una VM nella stessa zona. Se l'errore si trova a livello di zona, devi creare manualmente un gruppo di istanze gestite di sostituzione in un'altra zona di lavoro.
In un ambiente di produzione, potresti ricevere un avviso utilizzando Cloud Monitoring o un'altra soluzione di monitoraggio quando si verifica un problema. Questo avviso richiede a una persona di comprendere l'ambito dell'errore prima di creare manualmente un gruppo di istanze gestite sostitutivo in un'altra zona di lavoro. Un approccio alternativo consiste nell'utilizzare la tua soluzione di monitoraggio per rispondere automaticamente alle interruzioni con il gruppo di istanze gestite.
Quando tu o la tua soluzione di monitoraggio determinate che l'azione più appropriata è il failover, crea un gruppo di istanze gestite sostitutivo. In questo documento, crei manualmente questa risorsa sostitutiva.
Per simulare un errore a livello di zona, elimina il backend e il gruppo di istanze gestite del bilanciatore del carico:
gcloud compute backend-services remove-backend \ web-backend-service-$NAME_SUFFIX \ --instance-group=instance-group-$NAME_SUFFIX-$ZONE1 \ --instance-group-zone=$ZONE1 \ --global gcloud compute instance-groups managed delete instance-group-$NAME_SUFFIX-$ZONE1 \ --zone=$ZONE1
Quando richiesto, conferma la richiesta di eliminazione del gruppo di istanze gestite.
In un ambiente di produzione, il sistema di monitoraggio genera un avviso per richiedere ora l'azione di failover a freddo.
Utilizza di nuovo
curl
o il browser web per accedere all'indirizzo IP del bilanciatore del carico:curl $IP_ADDRESS --max-time 5
La richiesta
curl
ha esito negativo poiché non esistono target in stato integro per il bilanciatore del carico.Per simulare il failover a freddo, crea un gruppo di istanze gestite in una zona diversa:
gcloud compute instance-groups managed create instance-group-$NAME_SUFFIX-$ZONE2 \ --base-instance-name=instance-vm-$NAME_SUFFIX \ --template=template-$NAME_SUFFIX \ --size=0 \ --zone=$ZONE2 \ --health-check=http-basic-check-$NAME_SUFFIX gcloud compute instance-groups managed create-instance instance-group-$NAME_SUFFIX-$ZONE2 \ --instance instance-vm-$NAME_SUFFIX \ --zone=$ZONE2 \ --stateful-disk device-name=disk-$NAME_SUFFIX,source=projects/$PROJECT_ID/regions/$REGION/disks/disk-$NAME_SUFFIX
L'immagine VM, il modello di istanza e il disco permanente a livello di regione mantengono tutta la configurazione per l'istanza dell'applicazione.
Aggiorna il bilanciatore del carico per aggiungere il nuovo gruppo di istanze gestite e la nuova VM:
gcloud compute instance-groups set-named-ports \ instance-group-$NAME_SUFFIX-$ZONE2 \ --named-ports http:80 \ --zone $ZONE2 gcloud compute backend-services add-backend \ web-backend-service-$NAME_SUFFIX \ --instance-group=instance-group-$NAME_SUFFIX-$ZONE2 \ --instance-group-zone=$ZONE2 \ --global
Usa
curl
o il tuo browser web ancora una volta per accedere all'indirizzo IP del bilanciatore del carico che indirizza il traffico alla VM in esecuzione nel gruppo di istanze gestite:curl $IP_ADDRESS
La VM richiede alcuni minuti per completare il deployment e collegare il disco permanente a livello di regione. Se necessario, attendi qualche minuto e prova ad accedere di nuovo al sito web.
La seguente risposta di esempio mostra la pagina web in esecuzione correttamente sulla VM:
<!doctype html> <html lang=en> <head> <meta charset=utf-8> <title>HA / DR example</title> </head> <body> <p>Welcome to a test web server with regional persistent disks!</p> </body> </html>
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Per eliminare le singole risorse create in questo documento, completa i passaggi seguenti.
Elimina la configurazione del bilanciatore del carico:
gcloud compute forwarding-rules delete \ http-content-rule-$NAME_SUFFIX --global --quiet gcloud compute target-http-proxies delete \ http-lb-proxy-$NAME_SUFFIX --quiet gcloud compute url-maps delete web-map-http-$NAME_SUFFIX --quiet gcloud compute backend-services delete \ web-backend-service-$NAME_SUFFIX --global --quiet
Elimina il gruppo di istanze gestite e il controllo di integrità:
gcloud compute instance-groups managed delete instance-group-$NAME_SUFFIX-$ZONE2 \ --zone=$ZONE2 --quiet gcloud compute health-checks delete http-basic-check-$NAME_SUFFIX --quiet
Elimina il modello di istanza, l'immagine, la VM di base e il disco permanente:
gcloud compute instance-templates delete template-$NAME_SUFFIX --quiet gcloud compute images delete image-$NAME_SUFFIX --quiet gcloud compute instances delete vm-base-$NAME_SUFFIX --zone=$ZONE1 --quiet gcloud compute disks delete disk-$NAME_SUFFIX --region=$REGION --quiet
Elimina le regole firewall:
gcloud compute firewall-rules delete allow-health-check-$NAME_SUFFIX --quiet gcloud compute firewall-rules delete allow-ssh-$NAME_SUFFIX --quiet gcloud compute firewall-rules delete allow-http-$NAME_SUFFIX --quiet
Elimina l'indirizzo IP esterno statico, la subnet e il VPC:
gcloud compute networks subnets delete \ subnet-$NAME_SUFFIX-$REGION --region=$REGION --quiet gcloud compute networks delete network-$NAME_SUFFIX --quiet
Passaggi successivi
- Per un approccio alternativo per ridurre i costi di archiviazione, consulta Eseguire il deployment di un server web recuperabile a freddo utilizzando disco permanente permanenti.
- Per scoprire come determinare l'approccio migliore per le tue applicazioni e quale metodo di ripristino utilizzare, consulta la Guida alla pianificazione del ripristino di emergenza.
- Per vedere altri pattern per le applicazioni, come il failover a caldo e a freddo, consulta Scenari di ripristino di emergenza per le applicazioni.
- Per conoscere altri modi per gestire scalabilità e disponibilità, consulta la sezione Pattern per app scalabili e resilienti.
- Esplora le architetture di riferimento, i diagrammi e le best practice su Google Cloud. Dai un'occhiata al nostro Cloud Architecture Center.