Componenti di base per il ripristino di emergenza

Last reviewed 2024-07-01 UTC

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

La serie è composta dai seguenti componenti:

Google Cloud offre una vasta gamma di prodotti che puoi utilizzare nell'ambito della tua architettura di disaster recovery. Questa sezione illustra gli aspetti correlati a RE dei prodotti più comunemente usati come RE di Google Cloud i componenti di base.

Molti di questi servizi hanno funzionalità ad alta disponibilità. 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à ad alta disponibilità, puoi progettare architetture che ottimizzano l'uptime e possono mitigare gli effetti di guasti su scala ridotta, ad esempio in caso di errore 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 componenti di base per la RE di Google Cloud al modo in cui vi aiutano a implementare i vostri obiettivi di RE.

Computing e archiviazione

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

Prodotto Funzionalità
Compute Engine
  • Risorse di calcolo scalabili
  • Tipi di macchina predefinita e personalizzata
  • Tempi di avvio rapidi
  • Snapshot
  • Modelli di istanza
  • Gruppi di istanze gestite
  • Prenotazioni
  • Dischi permanenti
  • Manutenzione trasparente
  • Migrazione live
Cloud Storage
  • Archiviazione di oggetti a elevata durabilità
  • 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à containerizzati applicazioni
  • 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 I prodotti Google Cloud potrebbero influenzare la tua strategia di RE, vedi Architettura per il ripristino di emergenza in caso di interruzioni dell'infrastruttura cloud: riferimenti di prodotto.

Compute Engine

Compute Engine fornisce istanze di macchine virtuali (VM); è la spina dorsale di Google Cloud. Nella oltre a configurare, avviare e monitorare Compute Engine di Compute Engine, in genere si utilizzano varie 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. Ciò è particolarmente utile se ospiti servizi stateful come o Microsoft SQL Server.

Per informazioni su come rispettare valori di RTO e RPO bassi, consulta Progettazione di sistemi resilienti.

Modelli di istanza

Puoi usare Compute Engine Modelli di istanza per salvare i dettagli di configurazione della VM e creare istanze di Compute Engine da modelli di istanza esistenti. Puoi utilizzare il modello per avviare tutte le istanze che ti servono, configurato esattamente nel modo che preferisci quando devi supportare il tuo RE nell'ambiente di destinazione. I modelli di istanze 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 maggiori dettagli sull'utilizzo delle immagini Compute Engine, consulta bilanciare configurazione dell'immagine e velocità di deployment più avanti in questo documento.

Gruppi di istanze gestite

Gruppi di istanze gestite lavorare con Cloud Load Balancing (considerato più avanti in questo documento) distribuiscono il traffico a gruppi di istanze con configurazione identica che copiati in più 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 prenotazione di istanze VM in uno specifico utilizzando tipi di macchine personalizzate o predefinite, con o senza GPU aggiuntive SSD locali o SSD. Per garantire la capacità per i carichi di lavoro mission-critical per il piano di RE, devi creare prenotazioni nelle zone di destinazione del piano di 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 è utile in scenari di RE a caldo, freddo o caldo. 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

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 creare backup incrementali o snapshot delle VM di Compute Engine che puoi copiare tra regioni e utilizzarli per ricreare i dischi permanenti di una calamità. 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 sono dotati di ridondanza integrata per proteggere i dati guasti delle apparecchiature e garantire la disponibilità dei dati attraverso il data center di manutenzione. I dischi permanenti sono a livello di zona o di regione. A livello di regione i dischi permanenti replicano le scritture su 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 saperne di più, vedi Opzioni di alta disponibilità utilizzando dischi permanenti a livello di regione.

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 Migrazione live per eseguire automaticamente la migrazione delle istanze in esecuzione a un altro host zona di destinazione. 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 di macchine virtuali Compute Engine che hanno la stessa configurazione di macchine virtuali on-premise. È un buon approccio quando non in grado di configurare immagini Compute Engine dai programmi binari di origine già installato sulle tue immagini.

Backup automatici

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

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

Cloud Storage

Cloud Storage è un archivio di oggetti ideale per archiviare i file di backup. Offre diverso classi di archiviazione adatte a casi d'uso specifici, come descritto nel diagramma seguente.

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 RE, Nearline, Coldline e Archive Storage sono particolarmente interesse. Queste classi di archiviazione riducono i costi di archiviazione Standard Storage. Tuttavia, sono previsti costi aggiuntivi associati al recupero di dati o metadati archiviati in queste classi, nonché le durate minime di archiviazione che ti vengono addebitate. 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 RP 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 RE, 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 Zonali sono risorse a livello di zona e non supporta la replica tra zone, mentre il livello Filestore Enterprise sono risorse 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 per il deployment diverse applicazioni. GKE ti consente di orchestrare i sistemi ad alta disponibilità 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 una riparazione processo 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 multizonali e regionali. Puoi distribuire le risorse Kubernetes su più zone all'interno di una regione.
  • Gateway multi-cluster consente di configurare risorse di bilanciamento del carico condivise tra più cluster GKE in diverse regioni.
  • 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 servizi di networking e trasferimento dati di Google Cloud che fungono da componenti di base per il RE:

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 ed interno
Cloud Service Mesh
  • Piano di controllo 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 gestire le zone
  • Criteri DNS
Cloud Interconnect
  • Cloud VPN (VPN IPsec)
  • Peering diretto

Cloud Load Balancing

Cloud Load Balancing offre alta disponibilità per i prodotti di computing di Google Cloud distribuendo e il traffico tra 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 a istanze in stato di errore.

Cloud Load Balancing fornisce un singolo indirizzo IP anycast per le tue applicazioni. Le applicazioni possono avere istanze in esecuzione in diverse regioni (ad esempio, in Europa e negli Stati Uniti) gli utenti finali vengono indirizzati all'insieme di istanze più vicino. Oltre a che fornisce il bilanciamento del carico per i servizi esposti a internet, può configurare del carico interno per i tuoi servizi dietro un indirizzo IP privato di bilanciamento del carico. 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 eseguiti su una diverse infrastrutture di computing.

Cloud Service Mesh supporta anche funzionalità avanzate di gestione e routing del traffico, come l'interruzione del circuito e l'iniezione di errori. Con circuito puoi imporre dei limiti sulle richieste a un particolare servizio. Quando vengono raggiunti i limiti di interruzione del circuito, le richieste non possono raggiungere il servizio, impedendone il degrado. Con guasto un'iniezione, 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 ulteriori informazioni, vedi Panoramica di Cloud Service Mesh.

Cloud DNS

Cloud DNS offre un metodo programmatico per gestire le voci DNS come parte di un processo di recupero automatizzato. Cloud DNS utilizza la rete globale di Google Anycast server dei nomi per la gestione delle zone DNS da località ridondanti intorno al in tutto il mondo, offrendo disponibilità elevata e minore latenza ai tuoi utenti.

Se hai scelto di gestire le voci DNS on-premise, puoi consentire alle VM in Google Cloud di 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 informazioni da altre in Google Cloud. Parleremo di questo prodotto più avanti Trasferimento di dati da e verso Google Cloud.

Gestione e monitoraggio

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

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 puoi iscriverti a un feed RSS che viene 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, strumentazione delle applicazioni e una serie di altre applicazioni componenti. Puoi configurare gli avvisi per inviare notifiche a strumenti di terze parti come Slack o Pagerduty per fornire aggiornamenti tempestivi agli amministratori.

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

Google Cloud Managed Service per Prometheus

Google Cloud Managed Service per Prometheus è un servizio multi-cloud gestito da Google soluzione per le metriche di 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, vedi Google Cloud Managed Service per Prometheus.

Componenti di base per RE multipiattaforma

Quando esegui carichi di lavoro su più piattaforme, in modo da ridurre l'overhead operativo consiste nel selezionare strumenti che funzionino con tutte le le piattaforme che stai utilizzando. 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 RP di grandi dimensioni o complesse, consigliamo strumenti di gestione del software indipendenti dalla piattaforma come Chef e Ansible. Questi strumenti assicurano configurazioni riproducibili possono essere applicate indipendentemente da dove carico di lavoro.

Strumenti di orchestrazione

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

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

a distribuire il traffico ai cluster Kubernetes in esecuzione in diversi piattaforme, puoi utilizzare un servizio DNS che supporti i record ponderati include il controllo di 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 indipendente dalla piattaforma è: Artifact Registry.

Trasferimento dei dati

Il trasferimento dei dati è un componente fondamentale degli scenari di RE multipiattaforma. Marca assicurati di progettare, implementare e testare i tuoi scenari di RE multipiattaforma utilizzando prototipi realistici di ciò che richiede lo scenario di trasferimento di 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 carichi di lavoro cloud. Ti aiuta recuperare i dati e riprendere le operazioni aziendali critiche; inoltre, supporta diverse Prodotti Google Cloud e database di terze parti e archiviazione dati.

Per ulteriori informazioni, vedi Panoramica del servizio Backup & DR.

Pattern per i RE

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

Trasferimento di dati da e verso Google Cloud

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

Quando utilizzi Google Cloud come sito di ripristino per i carichi di lavoro che sono on-premise o su un altro ambiente cloud, considera quanto segue elementi chiave:

  • Come ti connetti 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 saperne di più sul trasferimento di dati in Google Cloud, consulta Esegui la migrazione a Google Cloud: trasferisci set di dati di grandi dimensioni.

Bilanciamento della configurazione delle immagini e della 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. C'è un un compromesso tra la quantità di preconfigurazione delle immagini e i costi di mantenimento dell'immagine e la velocità di deployment. Ad esempio, se l'immagine di una macchina minimamente configurato, le istanze che la utilizzano richiedono 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. L'ora utilizzata per avviare un'istanza completamente operativa avrà una correlazione diretta il tuo RTO.

Diagramma che mostra 3 livelli di bundling (da non bundle a completamente in bundle) mappati rispetto al tempo di avvio dell'immagine (il più in bundle è il più veloce ad avvio)

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 è richiesta un'immagine completamente configurata, considera ad esempio Packer che possono 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 usare gli strumenti di gestione delle configurazioni come Chef, Puppet, Ansible o Saltstack per configurare le istanze con maggiore granularità, creando immagini di base, immagini minimamente configurate o immagini completamente configurate necessaria.

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 viene eseguito su uno spazio di archiviazione più veloce ed esegui lentamente la migrazione dei backup meno recenti di archiviazione a basso costo (ma lenta). Se applichi questo pattern, esegui la migrazione dei backup tra bucket di diverse classi di archiviazione, di solito Da standard a classi di archiviazione a costo inferiore, 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: