Componenti di base per il ripristino di emergenza

Last reviewed 2024-07-01 UTC

Questo documento è la seconda parte di una serie che illustra il ripristino di emergenza (RE) in Google Cloud. Questa parte illustra i servizi e i prodotti che puoi utilizzare come componenti di base per il tuo piano di RE, sia Google Cloud prodotti sia prodotti che funzionano su più piattaforme.

La serie è composta dai seguenti componenti:

Google Cloud ha una vasta gamma di prodotti che puoi utilizzare nell'ambito della tua architettura di disaster recovery. Questa sezione illustra le funzionalità relative al ripristino di emergenza dei prodotti più comunemente utilizzati come componenti di base per il ripristino di emergenza. Google Cloud

Molti di questi servizi dispongono di funzionalità di alta disponibilità (HA). L'HA non si sovrappone completamente alla RE, ma molti degli obiettivi dell'HA si applicano anche alla progettazione di un piano di RE. Ad esempio, sfruttando le funzionalità di HA, puoi progettare architetture che ottimizzano il tempo di attività e possono mitigare gli effetti di guasti su piccola scala, come il guasto di una singola VM. Per saperne di più sulla relazione tra RE e HA, consulta la Guida alla pianificazione del ripristino di emergenza.

Le sezioni seguenti descrivono questi Google Cloud elementi costitutivi della RP e come ti aiutano a implementare i tuoi obiettivi di RP.

Computing e archiviazione

La tabella seguente fornisce un riepilogo delle funzionalità dei Google Cloud servizi di calcolo e archiviazione che fungono da componenti di base per il DR:

Prodotto Funzionalità
Compute Engine
  • Risorse di calcolo scalabili
  • Tipi di macchine predefiniti e personalizzati
  • Tempi di avvio rapidi
  • Snapshot
  • Modelli di istanza
  • Gruppi di istanze gestite
  • Prenotazioni
  • Dischi permanenti
  • Manutenzione trasparente
  • Migrazione live
Cloud Storage
  • Archivio oggetti altamente duraturo
  • Ridondanza tra regioni
  • Classi di archiviazione
  • Gestione del ciclo di vita degli oggetti
  • Trasferimento di dati da altre origini
  • Crittografia at-rest per impostazione predefinita
  • Eliminazione temporanea
Google Kubernetes Engine (GKE)
  • Ambiente gestito per il deployment e la scalabilità di applicazioni containerizzate
  • Riparazione automatica dei nodi
  • Probe di attività e idoneità
  • I volumi permanenti
  • Cluster in più zone e in una regione
  • Networking multi-cluster

Per ulteriori informazioni su come le funzionalità e il design di questi e altri Google Cloud prodotti potrebbero influire sulla tua strategia di RE, consulta Architettare il ripristino di emergenza per le interruzioni dell'infrastruttura cloud: riferimento ai prodotti.

Compute Engine

Compute Engine fornisce istanze di macchine virtuali (VM); è il cavallo di battaglia di Google Cloud. Oltre a configurare, avviare e monitorare le istanze Compute Engine, in genere utilizzi una serie di funzionalità correlate per implementare un piano di RE.

Per gli scenari di DR, puoi impedire l'eliminazione accidentale delle VM impostando il flag di protezione dall'eliminazione. Questa opzione è particolarmente utile se ospiti servizi stateful come i database.

Per informazioni su come soddisfare valori RTO e RPO ridotti, consulta Progettare sistemi resilienti.

Modelli di istanza

Puoi utilizzare i modelli di istanze Compute Engine per salvare i dettagli di configurazione della VM e poi creare istanze Compute Engine da modelli di istanze esistenti. Puoi utilizzare il modello per avviare tutte le istanze di cui hai bisogno, configurate esattamente come vuoi quando devi implementare l'ambiente di destinazione del piano di ripristino RE. I modelli di istanza vengono replicati a livello globale, quindi puoi rievocare l'istanza ovunque in Google Cloud con la stessa configurazione.

Per maggiori informazioni, consulta le seguenti risorse:

Per informazioni dettagliate sull'utilizzo delle immagini Compute Engine, consulta la sezione Bilanciare la configurazione dell'immagine e la velocità di implementazione più avanti in questo documento.

Gruppi di istanze gestite

I gruppi di istanze gestite funzionano con Cloud Load Balancing (discusso più avanti in questo documento) per distribuire il traffico a gruppi di istanze configurate in modo identico che vengono copiate tra le zone. I gruppi di istanze gestite consentono funzionalità come la scalabilità automatica e la riparazione automatica, in cui il gruppo di istanze gestite può eliminare e ricreare automaticamente le istanze.

Prenotazioni

Compute Engine consente la prenotazione di istanze VM in una zona specifica, utilizzando tipi di macchine personalizzate o predefinite, con o senza GPU aggiuntive o SSD locali. Per garantire la capacità per i tuoi carichi di lavoro mission-critical per il RE, devi creare prenotazioni nelle zone di destinazione del ripristino RE. Senza prenotazioni, è possibile che tu non ottenga la capacità on demand necessaria per soddisfare il tuo obiettivo di tempo di recupero. Le prenotazioni possono essere utili in scenari di ripristino di emergenza in caso di freddo, caldo o temperature elevate. Ti consentono di mantenere disponibili le risorse di recupero per il failover per soddisfare esigenze di RTO inferiori, senza doverle configurare e implementare completamente in anticipo.

Dischi permanenti e snapshot

I dischi permanenti sono dispositivi di archiviazione di rete durevoli a cui possono accedere le tue istanze. Sono indipendenti dalle istanze, quindi puoi scollegare e spostare i dischi permanenti per conservare i dati anche dopo aver eliminato le istanze.

Puoi eseguire backup incrementali o acquisire snapshot delle VM di Compute Engine che puoi copiare tra regioni e utilizzare per ricreare i dischi permanenti in caso di disastro. Inoltre, puoi creare snapshot dei dischi permanenti per proteggerti dalla perdita di dati a causa di errori dell'utente. Gli snapshot sono incrementali e la loro creazione richiede solo pochi minuti, anche se i dischi snapshot sono collegati a istanze in esecuzione.

I dischi permanenti hanno una ridondanza integrata per proteggere i dati da guasti dell'apparecchiatura e per garantire la disponibilità dei dati tramite eventi di manutenzione del data center. I dischi permanenti sono a livello di zona o di regione. I dischi permanenti regionali replicano le scritture in due zone di una regione. In caso di interruzione a livello di zona, un'istanza VM di backup può associare forzatamente un disco permanente regionale nella zona secondaria. Per scoprire di più, consulta Opzioni di alta disponibilità che utilizzano i dischi permanenti regionali.

Manutenzione trasparente

Google gestisce regolarmente la propria infrastruttura applicando patch ai sistemi con il software più recente, eseguendo test di routine e manutenzione preventiva e lavorando per garantire che l'infrastruttura di Google sia il più veloce ed efficiente possibile.

Per impostazione predefinita, tutte le istanze Compute Engine sono configurate in modo che questi eventi di manutenzione siano trasparenti per le applicazioni e i carichi di lavoro. Per ulteriori informazioni, consulta la pagina Manutenzione trasparente.

Quando si verifica un evento di manutenzione, Compute Engine utilizza la migrazione live per eseguire automaticamente la migrazione delle istanze in esecuzione a un altro host nella stessa zona. La migrazione live consente a Google di eseguire la manutenzione necessaria per mantenere l'infrastruttura protetta e affidabile senza interrompere nessuna delle tue VM.

Strumento di importazione dei dischi virtuali

Lo strumento di importazione dei dischi virtuali ti consente di importare formati di file tra cui VMDK, VHD e RAW per creare nuove macchine virtuali Compute Engine. Con questo strumento puoi creare macchine virtuali Compute Engine con la stessa configurazione delle macchine virtuali on-premise. Questo è un buon approccio quando non riesci a configurare le immagini Compute Engine dai binari di origine del software già installato sulle immagini.

Backup automatici

Puoi automatizzare i backup delle tue istanze Compute Engine utilizzando i tag. Ad esempio, puoi creare un modello di piano di backup utilizzando il servizio di backup e RE e applicarlo automaticamente alle tue istanze Compute Engine.

Per ulteriori informazioni, consulta Automatizzare la protezione delle nuove istanze Compute Engine.

Cloud Storage

Cloud Storage è uno spazio di archiviazione di oggetti ideale per archiviare i file di backup. Fornisce diversi classi di archiviazione adatti a casi d'uso specifici, come illustrato nel seguente diagramma.

Diagramma che mostra lo spazio di archiviazione Standard per l'accesso ad alta frequenza, Nearline e Coldline per l'accesso a bassa frequenza e Archive per l'accesso con la frequenza più bassa

Negli scenari di RP, le classi di archiviazione Nearline, Coldline e Archive sono di particolare interesse. Queste classi di archiviazione riducono il costo dell'archiviazione rispetto allo spazio di archiviazione standard. Tuttavia, sono previsti costi aggiuntivi associati al recupero dei dati o dei metadati archiviati in queste classi, oltre a durate minime di archiviazione per le quali vengono addebitati dei costi. Nearline è progettato per scenari di backup in cui l'accesso avviene al massimo una volta al mese, il che è ideale per consentirti di eseguire regolarmente stress test di RE mantenendo bassi i costi.

Le classi Nearline, Coldline e Archive sono ottimizzate per accessi infrequenti e il modello di determinazione del prezzo è progettato tenendo conto di questo aspetto. Pertanto, ti viene addebitato il costo per le durate minime di archiviazione e sono previsti costi aggiuntivi per il recupero di dati o metadati in queste classi prima della durata minima di archiviazione della classe.

Per proteggere i tuoi dati in un bucket Cloud Storage da un'eliminazione accidentale o malevola, puoi utilizzare la funzionalità di eliminazione soft per conservare gli oggetti eliminati e sovrascritti per un periodo di tempo specificato e la funzionalità di blocchi degli oggetti per impedire l'eliminazione o gli aggiornamenti degli oggetti.

Storage Transfer Service ti consente di importare dati da Amazon S3, Azure Blob Storage o da origini di dati on-premise in Cloud Storage. Negli scenari di RP, puoi utilizzare Storage Transfer Service per:

  • Esegui il backup dei dati di altri fornitori di spazio di archiviazione in un bucket Cloud Storage.
  • Spostare i dati da un bucket in una regione doppia o multiregione a un bucket in una regione per ridurre i costi di archiviazione dei backup.

Filestore

Le istanze Filestore sono file server NFS completamente gestiti da utilizzare con applicazioni in esecuzione su istanze Compute Engine o cluster GKE.

I livelli Filestore Basic e Zonal sono risorse a livello di zona e non supportano la replica tra zone, mentre le istanze del livello Filestore Enterprise sono risorse a livello di regione. Per aiutarti ad aumentare la resilienza del tuo ambiente Filestore, ti consigliamo di utilizzare le istanze di livello Enterprise.

Google Kubernetes Engine

GKE è un ambiente gestito e pronto per la produzione dedicato al deployment di applicazioni containerizzate. GKE ti consente di orchestrare sistemi HA e include le seguenti funzionalità:

  • Riparazione automatica dei nodi. Se un nodo non supera controlli di integrità consecutivi per un periodo di tempo prolungato (circa 10 minuti), GKE avvia un processo di riparazione per quel nodo.
  • Probe di attività e di idoneità. Puoi specificare un controllo di attività, che indica periodicamente a GKE che il pod è in esecuzione. Se il pod non supera il controllo, può essere riavviato.
  • Cluster in più zone e in una regione. Puoi distribuire le risorse Kubernetes su più zone all'interno di una regione.
  • Multi-cluster Gateway ti consente di configurare risorse di bilanciamento del carico condivise su più cluster GKE in regioni diverse.
  • Backup per GKE ti consente di eseguire il backup e il ripristino dei carichi di lavoro nei cluster GKE.

Networking e trasferimento di dati

La tabella seguente fornisce un riepilogo delle funzionalità dei Google Cloud servizi di rete e trasferimento dati che fungono da componenti di base per il DR:

Prodotto Funzionalità
Cloud Load Balancing
  • Controlli di integrità
  • Bilanciamento del carico globale
  • Bilanciamento del carico a livello di regione
  • Failover multi-regione
  • Bilanciamento del carico multiprotocollo
  • Bilanciamento del carico esterno e interno
Cloud Service Mesh
  • Piano di controllo del mesh di servizi gestito da Google
  • Routing delle richieste avanzato e criteri avanzati per il controllo del traffico
Cloud DNS
  • Gestione DNS programmatica
  • Controllo degli accessi
  • Anycast per le zone di pubblicazione
  • Criteri DNS
Cloud Interconnect
  • Cloud VPN (VPN IPsec)
  • Peering diretto

Cloud Load Balancing

Cloud Load Balancing offre l'HA per i Google Cloud prodotti di calcolo distribuendo il traffico degli utenti su più istanze delle applicazioni. Puoi configurare Cloud Load Balancing con controlli di integrità che determinano se le istanze sono disponibili per eseguire operazioni in modo che il traffico non venga indirizzato alle istanze in stato di errore.

Cloud Load Balancing fornisce un unico indirizzo IP anycast per fronteggiare le tue applicazioni. Le tue applicazioni possono avere istanze in esecuzione in regioni diverse (ad esempio in Europa e negli Stati Uniti) e i tuoi utenti finali vengono indirizzati all'insieme di istanze più vicino. Oltre a fornire il bilanciamento del carico per i servizi esposti a internet, puoi configurare il bilanciamento del carico interno per i tuoi servizi dietro un indirizzo IP di bilanciamento del carico privato. Questo indirizzo IP è accessibile solo alle istanze VM interne al tuo Virtual Private Cloud (VPC).

Per ulteriori informazioni, consulta la panoramica di Cloud Load Balancing.

Cloud Service Mesh

Cloud Service Mesh è un mesh di servizi gestito da Google disponibile su Google Cloud. Cloud Service Mesh fornisce una telemetria approfondita per aiutarti a raccogliere informazioni dettagliate sulle tue applicazioni. Supporta i servizi in esecuzione su una gamma di infrastrutture di calcolo.

Cloud Service Mesh supporta anche funzionalità avanzate di gestione e routing del traffico, come l'interruzione del circuito e l'iniezione di errori. Con l'interruzione del circuito, puoi applicare limiti alle richieste a un determinato servizio. Quando vengono raggiunti i limiti di interruzione del circuito, le richieste non possono raggiungere il servizio, impedendone il degrado. Con l'iniezione di errori, Cloud Service Mesh può introdurre ritardi o interrompere una frazione di richieste a un servizio. L'iniezione di errori ti consente di verificare la capacità del tuo servizio di resistere a ritardi nelle richieste o a richieste interrotte.

Per saperne di più, consulta la panoramica di Cloud Service Mesh.

Cloud DNS

Cloud DNS offre un modo programmatico per gestire le voci DNS nell'ambito di un procedura di recupero automatico. Cloud DNS utilizza la rete globale di Google di server dei nomi anycast per la gestione delle zone DNS da località ridondanti in tutto il mondo, offrendo disponibilità elevata e minore latenza agli utenti.

Se hai scelto di gestire le voci DNS on-premise, puoi attivare le VM inGoogle Cloud per risolvere questi indirizzi tramite il forwarding di Cloud DNS.

Cloud DNS supporta i criteri per configurare la modalità di risposta alle richieste DNS. Ad esempio, puoi configurare i criteri di routing DNS per indirizzare il traffico in base a criteri specifici, ad esempio attivare il failover a una configurazione di backup per garantire un'alta disponibilità o instradare le richieste DNS in base alla loro posizione geografica.

Cloud Interconnect

Cloud Interconnect offre modi per spostare le informazioni da altre fonti a Google Cloud. Parleremo di questo prodotto più avanti nella sezione Trasferimento dei dati da e verso Google Cloud.

Gestione e monitoraggio

La tabella seguente fornisce un riepilogo delle funzionalità dei Google Cloud servizi di gestione e monitoraggio che fungono da componenti di base per il DR:

Prodotto Funzionalità
Dashboard dello stato di Cloud
  • Stato dei servizi Google Cloud
Google Cloud Observability
  • Monitoraggio del tempo di attività
  • Avvisi
  • Logging
  • Segnalazione degli errori
Google Cloud Managed Service per Prometheus
  • Soluzione Prometheus gestita da Google

Dashboard dello stato di Cloud

La dashboard dello stato di Cloud mostra la disponibilità attuale dei servizi. Google Cloud Puoi visualizzare lo stato nella pagina e iscriverti a un feed RSS aggiornato ogni volta che ci sono notizie su un servizio.

Cloud Monitoring

Cloud Monitoring raccoglie metriche, eventi e metadati da Google Cloud, AWS, probe di uptime in hosting, strumentazione delle applicazioni e una serie di altri componenti delle applicazioni. Puoi configurare gli avvisi per inviare notifiche a strumenti di terze parti come Slack o Pagerduty per fornire aggiornamenti tempestivi agli amministratori.

Cloud Monitoring ti consente di creare controlli di uptime per endpoint disponibili pubblicamente e per endpoint all'interno delle tue VPC. Ad esempio, puoi monitorare URL, istanze Compute Engine, revisioni Cloud Run e risorse di terze parti, come le istanze Amazon Elastic Compute Cloud (EC2).

Google Cloud Managed Service per Prometheus

Google Cloud Managed Service per Prometheus è una soluzione gestita da Google, multicloud e tra progetti per le metriche Prometheus. Ti consente di monitorare e creare avvisi sui tuoi carichi di lavoro a livello globale utilizzando Prometheus, senza dover gestire e utilizzare manualmente Prometheus su larga scala.

Per ulteriori informazioni, consulta Google Cloud Managed Service per Prometheus.

Componenti di base del RE multipiattaforma

Quando esegui carichi di lavoro su più piattaforme, un modo per ridurre il costo operativo generale è selezionare gli strumenti che funzionano con tutte le piattaforme in uso. Questa sezione illustra alcuni strumenti e servizi indipendenti dalla piattaforma e che quindi supportano scenari di RP multipiattaforma.

Infrastructure as Code (IaC)

Se definisci l'infrastruttura utilizzando il codice anziché interfacce grafiche o script, puoi adottare strumenti di creazione di modelli dichiarativi e automatizzare il provisioning e la configurazione dell'infrastruttura su più piattaforme. Ad esempio, puoi utilizzare Terraform e Infrastructure Manager per attivare la configurazione dell'infrastruttura dichiarativa.

Strumenti di gestione della configurazione

Per infrastrutture di RE di grandi dimensioni o complesse, consigliamo strumenti di gestione del software indipendenti dalla piattaforma come Chef e Ansible. Questi strumenti assicurano che le configurazioni riproducibili possano essere applicate indipendentemente da dove si trova il tuo carico di lavoro di calcolo.

Strumenti di orchestrazione

I container possono essere considerati anche un elemento di base del DR. I container sono un modo per pacchettizzare i servizi e introdurre la coerenza tra le piattaforme.

Se lavori con i container, in genere utilizzi un orchestratore. Kubernetes non serve solo a gestire i container all'interno Google Cloud (utilizzando GKE), ma fornisce un modo per orchestrare i carichi di lavoro basati su container su più piattaforme. Google CloudAWS e Microsoft Azure forniscono tutte versioni gestite di Kubernetes.

Per distribuire il traffico ai cluster Kubernetes in esecuzione su piattaforme cloud diverse, puoi utilizzare un servizio DNS che supporta i record ponderati e incorpora il controllo dell'integrità.

Devi anche assicurarti di poter estrarre l'immagine nell'ambiente di destinazione. Ciò significa che devi essere in grado di accedere al tuo registry di immagini in caso di calamità. Una buona opzione, inoltre, è indipendente dalla piattaforma: Artifact Registry.

Trasferimento di dati

Il trasferimento dei dati è un componente fondamentale degli scenari di RE multipiattaforma. Assicurati di progettare, implementare e testare gli scenari di RE multipiattaforma utilizzando mockup realistici di ciò che richiede lo scenario di trasferimento dei dati di RE. Nella sezione successiva discuteremo gli scenari di trasferimento dei dati.

Servizio di backup e RE

Il servizio di backup e RE è una soluzione di backup e RE per i workload cloud. Ti aiuta a recuperare i dati e a riprendere le operazioni aziendali critiche e supporta diversiGoogle Cloud prodotti, database di terze parti e sistemi di archiviazione dei dati.

Per ulteriori informazioni, consulta la panoramica del servizio di backup e RE.

Pattern per RE

Questa sezione illustra alcuni dei pattern più comuni per le architetture di RE basati sugli elementi di base discussi in precedenza.

Trasferimento dei dati da e verso Google Cloud

Un aspetto importante del piano di RP è la velocità con cui i dati possono essere trasferiti da e verso Google Cloud. Questo è fondamentale se il tuo piano di RP si basa sullo spostamento dei dati da on-premise a Google Cloud o da un altro Google Cloudcloud provider. Questa sezione illustra la rete e i Google Cloud servizi che possono garantire una buona velocità in uscita.

Quando utilizzi Google Cloud come sito di ripristino per i carichi di lavoro on-premise o in un altro ambiente cloud, prendi in considerazione i seguenti elementi chiave:

  • Come ti colleghi a Google Cloud?
  • Quanta larghezza di banda c'è tra te e il fornitore di interconnessione?
  • Qual è la larghezza di banda fornita dal provider direttamente a Google Cloud?
  • Quali altri dati verranno trasferiti utilizzando questo link?

Per ulteriori informazioni sul trasferimento dei dati a Google Cloud, consulta Eseguire la migrazione a Google Cloud: trasferire i set di dati di grandi dimensioni.

Bilanciare la configurazione delle immagini e la velocità di deployment

Quando configuri un'immagine macchina per il deployment di nuove istanze, tieni presente l'effetto che la configurazione avrà sulla velocità del deployment. Esiste un compromesso tra la quantità di preconfigurazione dell'immagine, i costi di gestione dell'immagine e la velocità di implementazione. Ad esempio, se un'immagine macchina è configurata in modo minimo, il lancio delle istanze che la utilizzano richiederà più tempo perché devono scaricare e installare le dipendenze. D'altra parte, se l'immagine macchina è altamente configurata, le istanze che la utilizzano vengono avviate più rapidamente, ma devi aggiornare l'immagine più di frequente. Il tempo impiegato per lanciare un'istanza completamente operativa avrà una correlazione diretta con il tuo RTO.

Diagramma che mostra tre livelli di raggruppamento (da non raggruppato a completamente raggruppato) mappati in base al tempo di avvio dell'immagine (il più raggruppato è quello che si avvia più velocemente)

Mantenimento della coerenza delle immagini macchina in ambienti ibridi

Se implementi una soluzione ibrida (on-premise to cloud o cloud to cloud), devi trovare un modo per mantenere la coerenza delle immagini negli ambienti di produzione.

Se è necessaria un'immagine completamente configurata, valuta la possibilità di utilizzare un'utility come Packer, che può creare immagini macchina identiche per più piattaforme. Puoi utilizzare gli stessi script con file di configurazione specifici della piattaforma. Nel caso di Packer, puoi inserire il file di configurazione nel controllo delle versioni per tenere traccia della versione di cui è stato eseguito il deployment in produzione.

In alternativa, puoi utilizzare strumenti di gestione della configurazione come Chef, Puppet, Ansible o Saltstack per configurare le istanze con una granularità più fine, creando immagini di base, immagini con configurazione minima o immagini completamente configurate in base alle tue esigenze.

Puoi anche convertire e importare manualmente le immagini esistenti come le AMI Amazon, le immagini Virtualbox e le immagini dei dischi RAW in Compute Engine.

Implementazione dell'archiviazione a livelli

Il pattern di archiviazione a più livelli viene in genere utilizzato per i backup in cui il backup più recente si trova su uno spazio di archiviazione più veloce e esegui lentamente la migrazione dei backup precedenti a uno spazio di archiviazione meno costoso (ma lento). Se applichi questo pattern, esegui la migrazione dei backup tra bucket di classi di archiviazione diverse, in genere da Standard a classi di archiviazione a basso costo, come Nearline e Coldline.

Per implementare questo pattern, puoi utilizzare la Gestione del ciclo di vita degli oggetti. Ad esempio, puoi modificare automaticamente la classe di archiviazione degli oggetti più vecchi di un determinato periodo di tempo in Coldline.

Passaggi successivi

Collaboratori

Autori: