Migrazione da AWS a Google Cloud: migrazione da Amazon EC2 a Compute Engine

Last reviewed 2023-10-13 UTC

Google Cloud fornisce strumenti, prodotti, indicazioni e servizi professionali per la migrazione delle macchine virtuali (VM) insieme ai relativi dati da Amazon Elastic Compute Cloud (Amazon EC2) a Compute Engine. Questo documento illustra come progettare, implementare e convalidare un piano di migrazione da Amazon EC2 a Compute Engine.

La discussione in questo documento è destinata agli amministratori cloud che desiderano dettagli su come pianificare e implementare un processo di migrazione. È destinata anche ai responsabili delle decisioni che stanno valutando l'opportunità di eseguire la migrazione e che vogliono esplorare il possibile aspetto della migrazione.

Questo documento fa parte di una serie in più parti sulla migrazione da AWS a Google Cloud che include i seguenti documenti:

Questa serie presuppone che tu abbia letto e abbia familiarità con i seguenti documenti:

Il seguente diagramma illustra il percorso del tuo percorso di migrazione. Per gli scenari di migrazione, la fase di deployment equivale all'esecuzione di un processo di migrazione.

Percorso di migrazione diviso in quattro fasi.

Puoi eseguire la migrazione da Amazon EC2 a Compute Engine in una serie di iterazioni, ad esempio, potresti eseguire la migrazione di alcuni carichi di lavoro prima e di altri in un secondo momento. Per ogni iterazione della migrazione separata, segui le fasi del framework di migrazione generale:

  1. Valuta e individua i carichi di lavoro e i dati.
  2. Pianifica e crea una base su Google Cloud.
  3. Esegui la migrazione dei carichi di lavoro e dei dati in Google Cloud.
  4. Ottimizza il tuo ambiente Google Cloud.

Per saperne di più sulle fasi di questo framework, consulta Eseguire la migrazione a Google Cloud: iniziare.

Valuta l'ambiente di origine

Nella fase di valutazione, determini i requisiti e le dipendenze delle risorse di cui vuoi eseguire la migrazione da Amazon EC2 a Compute Engine.

La fase di valutazione è composta dalle seguenti attività:

  1. Crea un inventario completo dei tuoi carichi di lavoro.
  2. Cataloga i carichi di lavoro in base alle loro proprietà e dipendenze.
  3. Forma e forma i tuoi team su Google Cloud.
  4. Crea esperimenti e proof of concept su Google Cloud.
  5. Calcola il costo totale di proprietà (TCO) dell'ambiente di destinazione.
  6. Decidi l'ordine e la priorità dei carichi di lavoro di cui vuoi eseguire la migrazione.

Per ulteriori informazioni sulla fase di valutazione e su queste attività, consulta Eseguire la migrazione a Google Cloud: valutare e scoprire i carichi di lavoro. Le sezioni seguenti si basano sulle informazioni contenute nel documento.

Crea un inventario delle tue istanze Amazon EC2

Per definire l'ambito della migrazione, crea un inventario delle tue istanze Amazon EC2. Puoi quindi utilizzare l'inventario per valutare i processi di deployment e operativi per il deployment dei carichi di lavoro in queste istanze.

Per creare l'inventario delle tue istanze Amazon EC2, ti consigliamo di utilizzare il Centro di migrazione, la piattaforma unificata di Google Cloud che consente di accelerare il percorso verso il cloud end-to-end dal tuo ambiente attuale a Google Cloud. Migration Center consente di importare i dati da Amazon EC2 e altre risorse AWS. Migration Center consiglia quindi i servizi Google Cloud pertinenti a cui puoi eseguire la migrazione.

Dopo aver valutato l'ambiente mediante Migration Center, ti consigliamo di generare un report di valutazione tecnica della migrazione utilizzando l'interfaccia a riga di comando del client predittivo di Migration Center. Per ulteriori informazioni, consulta Raccogliere dati guest da istanze Amazon EC2 per la valutazione offline.

I dati forniti da Migration Center e dall'interfaccia a riga di comando del client predittivo di Migration Center potrebbero non acquisire completamente le dimensioni che ti interessano. In questo caso, puoi integrare questi dati con i risultati di altri meccanismi di raccolta dati creati e basati sulle API di AWS, sugli strumenti per sviluppatori di AWS e sull'interfaccia a riga di comando di AWS.

Oltre ai dati ottenuti da Migration Center e dall'interfaccia a riga di comando del client predittivo di Migration Center, considera i seguenti punti dati per ogni istanza Amazon EC2 di cui vuoi eseguire la migrazione:

  • Regione e zona del deployment.
  • Tipo e dimensione dell'istanza.
  • L'Amazon Machine Image (AMI) da cui viene avviata l'istanza.
  • Il nome host dell'istanza e il modo in cui altre istanze e carichi di lavoro lo utilizzano per comunicare con l'istanza.
  • I tag dell'istanza, così come i metadati e i dati utente.
  • Il tipo di virtualizzazione dell'istanza.
  • L'opzione di acquisto dell'istanza, ad esempio l'acquisto on demand o l'acquisto spot.
  • Il modo in cui l'istanza archivia i dati, ad esempio utilizzando archivi di istanze e volumi Amazon EBS.
  • La configurazione della tenancy dell'istanza.
  • Se l'istanza si trova in un gruppo di posizionamenti specifico.
  • Se l'istanza si trova in un gruppo di scalabilità automatica specifico.
  • I gruppi di sicurezza a cui appartiene l'istanza.
  • Qualsiasi configurazione di AWS Network Firewall che coinvolga l'istanza.
  • Indica se i carichi di lavoro in esecuzione sull'istanza sono protetti da AWS Shield e AWS WAF.
  • Indica se stai controllando lo stato del processore dell'istanza e il modo in cui i carichi di lavoro in esecuzione sull'istanza dipendono dallo stato del processore.
  • La configurazione dello scheduler di I/O dell'istanza.
  • La modalità di esposizione dei carichi di lavoro in esecuzione sull'istanza ai client in esecuzione nel tuo ambiente AWS (ad esempio altri carichi di lavoro) e ai client esterni.

Valuta il deployment e i processi operativi

Dopo aver creato l'inventario delle tue istanze Amazon EC2, ti consigliamo di valutare i processi operativi e di deployment. È fondamentale avere una comprensione chiara di come funzionano i processi operativi e di deployment. Queste sono una parte fondamentale delle pratiche che preparano e gestiscono l'ambiente di produzione e i carichi di lavoro che vengono eseguiti al suo interno.

Valuta come completare le seguenti attività:

  • Esegui il provisioning e la configurazione delle risorse AWS. Per preparare l'ambiente AWS, potresti aver progettato e implementato processi che eseguono il provisioning e la configurazione delle risorse. Ad esempio, potresti utilizzare AWS CloudFormation o Terraform insieme agli strumenti di gestione delle configurazioni per eseguire il provisioning e la configurazione delle risorse cloud AWS.
  • Genera AMI per le tue istanze Amazon EC2. È importante valutare come vengono generate le AMI e il tipo di personalizzazione che applichi. Queste informazioni ti aiutano a garantire un ambiente di runtime adatto ai tuoi carichi di lavoro. Ad esempio, potresti installare pacchetti del sistema operativo o ottimizzare la configurazione del sistema operativo.
  • Genera gli artefatti di cui esegui il deployment sulle istanze Amazon EC2. Per eseguire il deployment dei carichi di lavoro su Amazon EC2, potresti generare elementi di cui è possibile eseguire il deployment, come carichi di lavoro in pacchetti e immagini container. La raccolta di informazioni su come stai generando questi artefatti ti aiuta a garantire che gli artefatti generati siano adatti per il deployment su Google Cloud. Ad esempio, se produci artefatti che archivi in un Artifact Registry su AWS, devi considerare come renderli disponibili nel tuo ambiente Google Cloud.
  • Esegui il deployment degli artefatti sulle tue istanze Amazon EC2. Dopo aver generato gli artefatti di cui è possibile eseguire il deployment, puoi eseguirne il deployment su Amazon EC2. Ti consigliamo di valutare ogni processo di deployment. La valutazione aiuta ad assicurare che i processi di deployment siano compatibili con Google Cloud. Inoltre, ti aiuta a comprendere lo sforzo necessario per il refactoring dei processi. Ad esempio, se i tuoi processi di deployment funzionano solo con Amazon EC2, potresti doverli eseguire il refactoring per scegliere come target il tuo ambiente Google Cloud.
  • Inserisci la configurazione di runtime. Potresti inserire la configurazione del runtime per le tue istanze, ad esempio inizializzando le variabili di ambiente e altri valori di configurazione per istanze Amazon EC2, ambienti di runtime o deployment dei carichi di lavoro specifici. Per garantire che i processi di inserimento della configurazione di runtime funzionino su Google Cloud, ti consigliamo di valutare come hai configurato i carichi di lavoro su Amazon EC2.

Dopo aver valutato i processi operativi e di deployment, ti consigliamo anche di valutare in che modo questi processi possono facilitare la migrazione a Google Cloud e come ti aiutano a ridurre l'ambito e il rischio della migrazione. Ad esempio, potresti eseguire il refactoring dei processi di creazione degli artefatti per archiviare gli artefatti sia in AWS che in Google Cloud mentre è in corso la migrazione. Avere artefatti in entrambi gli ambienti ti consente di concentrarti sulla migrazione delle istanze Amazon EC2 senza dover implementare processi di creazione degli artefatti nell'ambiente Google Cloud di destinazione all'inizio del processo di migrazione.

Completa la valutazione

Dopo aver creato gli inventari dal tuo ambiente Amazon EC2, completa le restanti attività della fase di valutazione come descritto in Eseguire la migrazione a Google Cloud: valutare e scoprire i carichi di lavoro.

Pianifica e costruisci le tue basi

Nella fase di pianificazione e creazione, esegui il provisioning e la configurazione dell'infrastruttura per:

  • Supporta i tuoi carichi di lavoro nel tuo ambiente Google Cloud.
  • Connetti il tuo ambiente AWS e il tuo ambiente Google Cloud per completare la migrazione.

La fase di pianificazione e creazione è composta dalle seguenti attività:

  1. Creare una gerarchia di risorse.
  2. Configura la gestione di identità e accessi.
  3. Configura la fatturazione.
  4. Configura la connettività di rete.
  5. Rafforza la tua sicurezza.
  6. Configura il logging, il monitoraggio e gli avvisi.

Per ulteriori informazioni su ciascuna di queste attività, consulta Eseguire la migrazione a Google Cloud: creare la tua base.

Migrazione dei carichi di lavoro

Per eseguire la migrazione dei carichi di lavoro da Amazon EC2 a Compute Engine, segui questi passaggi:

  1. Esegui la migrazione delle VM da Amazon EC2 a Compute Engine.
  2. Esponi ai client i carichi di lavoro in esecuzione su Compute Engine.
  3. Esegui il refactoring del deployment e dei processi operativi in modo da scegliere come target Google Cloud anziché Amazon EC2.

Le sezioni seguenti forniscono dettagli su ciascuna di queste attività.

Migrazione delle VM su Compute Engine

Per eseguire la migrazione delle VM da Amazon EC2 a Compute Engine, ti consigliamo di utilizzare Migrazione a macchine virtuali, un servizio completamente gestito. Per maggiori informazioni, consulta Percorso di migrazione con Migrate to VM.

Nell'ambito di questa migrazione, Migrate for VM esegue la migrazione delle istanze Amazon EC2 nello stato attuale, escluse le modifiche necessarie alla configurazione. Se le tue istanze Amazon EC2 eseguono AMI Amazon EC2 personalizzate, Migrate for VM esegue la migrazione di queste personalizzazioni alle istanze di Compute Engine. Tuttavia, se vuoi rendere riproducibile la tua infrastruttura, potresti dover applicare personalizzazioni equivalenti creando immagini del sistema operativo Compute Engine come parte dei processi operativi e di deployment, come spiegato più avanti in questo documento. Puoi anche importare le AMI Amazon EC2 in Compute Engine.

Esponi i carichi di lavoro in esecuzione su Compute Engine

Dopo aver eseguito la migrazione delle istanze Amazon EC2 in istanze di Compute Engine, potresti dover eseguire il provisioning e la configurazione dell'ambiente Google Cloud per esporre i carichi di lavoro ai client.

Google Cloud offre servizi e prodotti sicuri e affidabili per esporre i carichi di lavoro ai client. Per i carichi di lavoro in esecuzione sulle tue istanze Compute Engine, devi configurare le risorse per le seguenti categorie:

  • Firewall
  • Bilanciamento del carico del traffico
  • Nomi, zone e record DNS
  • Protezione DDoS e web application firewall

Per ciascuna di queste categorie, puoi iniziare implementando una configurazione di base simile a come hai configurato i servizi e le risorse AWS nella categoria equivalente. Puoi quindi eseguire l'iterazione della configurazione e utilizzare le funzionalità aggiuntive fornite dai servizi Google Cloud.

Le sezioni seguenti spiegano come eseguire il provisioning e configurare le risorse Google Cloud in queste categorie e come queste vengono mappate a risorse AWS in categorie simili.

Firewall

Se hai configurato i gruppi di sicurezza AWS e i criteri e le regole del firewall di rete AWS, puoi configurare criteri e regole firewall di Cloud Next Generation. Puoi anche eseguire il provisioning di regole di Controlli di servizio VPC per regolare il traffico di rete all'interno del tuo VPC. Puoi utilizzare Controlli di servizio VPC per bloccare le connessioni di rete indesiderate alle tue istanze Compute Engine e per ridurre il rischio di esfiltrazione di dati.

Ad esempio, se utilizzi i gruppi di sicurezza AWS per consentire o negare le connessioni alle tue istanze Amazon EC2, puoi configurare regole firewall VPC (Virtual Private Cloud) simili che si applicano alle istanze di Compute Engine.

Bilanciamento del carico del traffico

Se hai configurato Elastic Load Balancing (ELB) nel tuo ambiente AWS, puoi configurare Cloud Load Balancing per distribuire il traffico di rete e migliorare la scalabilità dei tuoi carichi di lavoro in Google Cloud. Cloud Load Balancing supporta diversi prodotti di bilanciamento del carico globali e regionali che funzionano in diversi livelli del modello OSI, ad esempio a livello di trasporto e di applicazione. Puoi scegliere un prodotto di bilanciamento del carico adatto ai requisiti dei tuoi carichi di lavoro.

Cloud Load Balancing supporta anche la configurazione di TLS (Transport Layer Security) per criptare il traffico di rete. Quando configuri TLS per Cloud Load Balancing, puoi utilizzare certificati TLS autogestiti o gestiti da Google, a seconda dei tuoi requisiti.

Nomi, zone e record DNS

Se utilizzi Amazon Route 53 nel tuo ambiente AWS, puoi utilizzare quanto segue in Google Cloud:

Ad esempio, se hai registrato un dominio utilizzando Amazon Route 53, puoi trasferire la registrazione del dominio a Cloud Domains. Allo stesso modo, se hai configurato zone DNS pubbliche e private utilizzando Amazon Route 53, puoi eseguire la migrazione di questa configurazione a Cloud DNS.

Protezione dagli attacchi DDoS e web application firewall

Se hai configurato AWS Shield e AWS WAF nel tuo ambiente AWS, puoi utilizzare Google Cloud Armor per proteggere i tuoi carichi di lavoro Google Cloud dagli attacchi DDoS e dagli exploit comuni.

Esegui il refactoring del deployment e dei processi operativi

Dopo aver eseguito la migrazione delle VM in Compute Engine, devi eseguire il refactoring dei processi per:

  • Esegui il provisioning e la configurazione delle risorse nel tuo ambiente Google Cloud anziché eseguire il provisioning di risorse AWS come le istanze Amazon EC2 e le AMI di Amazon EC2.
  • Crea, esegui il deployment e configura carichi di lavoro in Compute Engine anziché eseguire il deployment in Amazon EC2.

Hai raccolto informazioni su questi processi durante la fase di valutazione precedente.

Il tipo di refactoring da considerare per questi processi dipende da come li hai progettati e implementati. Il refactoring dipende anche dallo stato finale di ciascun processo. Ad esempio, considera quanto segue:

  • Potresti aver implementato questi processi nel tuo ambiente AWS e progettare e implementare processi simili in Google Cloud.
  • Probabilmente hai implementato questi processi in un altro ambiente di terze parti al di fuori del tuo ambiente AWS. In questo caso, devi eseguire il refactoring di questi processi per scegliere come target il tuo ambiente Google Cloud anziché l'ambiente AWS.
  • Una combinazione degli approcci precedenti.

Il refactoring dei processi operativi e di deployment può essere complesso e richiedere uno sforzo significativo. Se provi a eseguire queste attività come parte della migrazione delle VM, la migrazione può diventare complessa e comportare dei rischi. Dopo aver valutato i processi operativi e di deployment, probabilmente avrai compreso il loro design e la loro complessità. Se ritieni di aver bisogno di un impegno sostanziale per il refactoring dei processi operativi e di deployment, ti consigliamo di prendere in considerazione il refactoring di questi processi nell'ambito di un progetto separato e dedicato.

Per ulteriori informazioni su come progettare e implementare processi di deployment su Google Cloud, consulta i seguenti documenti:

Ottimizza l'ambiente dopo la migrazione

Una volta completate tutte le fasi, la migrazione è considerata completata. Tuttavia, il tuo ambiente Google Cloud potrebbe richiedere ulteriori ottimizzazioni. Per maggiori informazioni, consulta Percorso di migrazione con Migrate to VMs: ottimizza il tuo ambiente.

Passaggi successivi