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 dati da Amazon Elastic Compute Cloud (Amazon EC2) a Compute Engine. Questo documento illustra come progettare, implementare e convalidare un piano per la migrazione da Amazon EC2 a Compute Engine.

La discussione in questo documento è rivolta agli amministratori del cloud che desiderano maggiori dettagli su come pianificare e implementare un processo di migrazione. È inoltre rivolto ai responsabili decisionali 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 dimestichezza 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 con quattro fasi.

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

  1. Valuta e scopri carichi di lavoro e dati.
  2. Pianifica e crea le basi su Google Cloud.
  3. Esegui la migrazione di carichi di lavoro e dati in Google Cloud.
  4. Ottimizza il tuo ambiente Google Cloud.

Per ulteriori informazioni sulle fasi di questo framework, consulta Eseguire la migrazione a Google Cloud: inizia.

Valuta l'ambiente di origine

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

La fase di valutazione prevede le seguenti attività:

  1. Crea un inventario completo dei tuoi carichi di lavoro.
  2. Cataloga i tuoi carichi di lavoro in base alle loro proprietà e dipendenze.
  3. Addestra e istruisci i tuoi team su Google Cloud.
  4. Crea esperimenti e proof of concept su Google Cloud.
  5. Calcolare 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 Migrazione a Google Cloud: valutazione e scoperta dei carichi di lavoro. Le sezioni seguenti si basano sulle informazioni contenute nel documento.

Crea un inventario delle istanze Amazon EC2

Per definire l'ambito della migrazione, crei un inventario delle istanze Amazon EC2. Puoi quindi utilizzare l'inventario per valutare i processi operativi e di deployment per il deployment dei carichi di lavoro su 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 ti consente di accelerare il tuo percorso verso il cloud end-to-end dal tuo ambiente attuale a Google Cloud. Il Centro di migrazione consente di importare dati da Amazon EC2 e altre risorse AWS. Il Centro di migrazione consiglia quindi i servizi Google Cloud pertinenti di cui puoi eseguire la migrazione.

Dopo aver valutato il tuo ambiente utilizzando il Centro di migrazione, ti consigliamo di generare un report tecnico sulla valutazione della migrazione utilizzando l'interfaccia a riga di comando del client predittivo del Centro di migrazione. Per saperne di più, consulta Raccogliere dati sugli ospiti da istanze Amazon EC2 per la valutazione offline.

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

Oltre ai dati che ottieni dal Centro di migrazione e dall'interfaccia a riga di comando del client predittivo del Centro di migrazione, considera i seguenti punti dati per ogni istanza Amazon EC2 di cui vuoi eseguire la migrazione:

  • Regione e zona di 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 utilizzano questo nome host per comunicare con l'istanza.
  • I tag istanza nonché i metadati e i dati utente.
  • Il tipo di virtualizzazione dell'istanza.
  • L'opzione di acquisto dell'istanza, ad esempio acquisto on demand o acquisto spot.
  • Il modo in cui l'istanza archivia i dati, ad esempio utilizza gli archivi di istanze e i volumi Amazon EBS.
  • La configurazione della tenancy dell'istanza.
  • Se l'istanza si trova in un gruppo di posizionamenti specifico.
  • Indica se l'istanza si trova in un gruppo di scalabilità automatica specifico.
  • I gruppi di sicurezza a cui appartiene l'istanza.
  • Qualsiasi configurazione firewall di rete AWS che interessa l'istanza.
  • Indica se i carichi di lavoro in esecuzione sull'istanza sono protetti da AWS Shield e AWS WAF.
  • Sia che tu controlli lo stato del processore dell'istanza, e in che modo i carichi di lavoro eseguiti sull'istanza dipendono dallo stato del processore.
  • La configurazione dello scheduler I/O dell'istanza.
  • 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.

Valutare i processi operativi e di deployment

Dopo aver creato l'inventario delle 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.

Considera come completi 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 della configurazione per eseguire il provisioning e la configurazione delle risorse cloud AWS.
  • Genera AMI per le istanze Amazon EC2. È importante valutare in che modo generi le AMI e quale tipo di personalizzazione applichi. Queste informazioni consentono di assicurarti di fornire 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 tue istanze Amazon EC2. Per eseguire il deployment dei carichi di lavoro su Amazon EC2, potresti generare artefatti di cui è possibile eseguire il deployment, come carichi di lavoro in pacchetto 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 stai producendo artefatti archiviati in un Artifact Registry su AWS, devi valutare come renderli disponibili nel tuo ambiente Google Cloud.
  • Esegui il deployment degli artefatti sulle tue istanze Amazon EC2. Dopo aver generato 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. ma ti aiuta anche a capire lo sforzo necessario per ridefinire i processi. Ad esempio, se i tuoi processi di deployment funzionano solo con Amazon EC2, potresti doverli eseguire il refactoring per avere come target il tuo ambiente Google Cloud.
  • Inserisci la configurazione di runtime. Potresti inserire la configurazione di runtime per le tue istanze, ad esempio inizializzando variabili di ambiente e altri valori di configurazione per istanze Amazon EC2, ambienti di runtime o deployment dei carichi di lavoro specifici. Per assicurarti che i processi di inserimento della configurazione di runtime funzionino su Google Cloud, ti consigliamo di valutare il modo in cui sono configurati 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 possono aiutarti 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 durante la migrazione. La presenza di artefatti in entrambi gli ambienti ti consente di concentrarti sulla migrazione delle istanze Amazon EC2 senza dover implementare i 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 altre attività della fase di valutazione come descritto in Migrazione a Google Cloud: valutazione e scoperta dei carichi di lavoro.

Pianifica e getta le 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 l'ambiente Google Cloud per completare la migrazione.

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

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

Per saperne di più su ciascuna di queste attività, consulta Eseguire la migrazione a Google Cloud: creare le basi.

Migrazione dei carichi di lavoro

Per eseguire la migrazione dei carichi di lavoro da Amazon EC2 a Compute Engine:

  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 dei processi operativi e di deployment per scegliere come target Google Cloud,

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 Esegui la migrazione alle macchine virtuali, che è un servizio completamente gestito. Per maggiori informazioni, consulta Percorso di migrazione con Migrate to VM.

Nell'ambito della migrazione, Migrate for VM esegue la migrazione delle istanze Amazon EC2 nel loro 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 l'infrastruttura riproducibile, 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 tue AMI di Amazon EC2 in Compute Engine.

Esponi i carichi di lavoro in esecuzione su Compute Engine

Dopo aver eseguito la migrazione delle istanze Amazon EC2 alle istanze di Compute Engine, potrebbe essere necessario eseguire il provisioning e configurare l'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 clienti. Per i carichi di lavoro in esecuzione sulle tue istanze di Compute Engine, configuri 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 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 vengono mappate alle risorse AWS in categorie simili.

Firewall

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

Ad esempio, se utilizzi 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 il bilanciamento del carico ELB (Elastic Load Balancing) nel tuo ambiente AWS, puoi configurare Cloud Load Balancing per distribuire il traffico di rete al fine di migliorare la scalabilità dei tuoi carichi di lavoro in Google Cloud. Cloud Load Balancing supporta diversi prodotti di bilanciamento del carico globali e a livello di regione, che funzionano a 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 Transport Layer Security (TLS) 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 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.

Processi di deployment e operativi del refactoring

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

  • Esegui il provisioning e la configurazione delle risorse nel tuo ambiente Google Cloud invece di 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 in precedenza.

Il tipo di refactoring da considerare per questi processi dipende da come sono stati progettati e implementati. Il refactoring dipende anche da ciò che vuoi che sia lo stato finale di ogni processo. Ad esempio, considera quanto segue:

  • Potresti aver implementato questi processi nel tuo ambiente AWS e intendi progettare e implementare processi simili in Google Cloud.
  • Potresti aver 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 avere come target il tuo ambiente Google Cloud anziché il tuo ambiente AWS.
  • Una combinazione degli approcci precedenti.

Il refactoring dei processi operativi e di deployment può essere complesso e richiede uno sforzo significativo. Se provi a eseguire queste attività durante la migrazione delle VM, può diventare complessa e comportare dei rischi. Dopo aver valutato i processi operativi e di deployment, probabilmente conosci la loro progettazione e complessità. Se ritieni di aver bisogno di uno sforzo considerevole per il refactoring dei processi operativi e di deployment, ti consigliamo di valutare la possibilità di eseguire il refactoring di questi processi come parte di un progetto separato e dedicato.

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

Ottimizza il tuo ambiente dopo la migrazione

Il completamento di tutte le fasi della migrazione si considera completata. Tuttavia, il tuo ambiente Google Cloud potrebbe aver bisogno di ulteriori ottimizzazioni. Per maggiori informazioni, consulta Percorso di migrazione con Migrate to VMs: Optimize your ambiente.

Passaggi successivi