Google Cloud fornisce strumenti, prodotti, indicazioni e servizi professionali per eseguire la migrazione delle macchine virtuali (VM) e dei relativi dati da Amazon Elastic Compute Cloud (Amazon EC2) a Compute Engine. Questo documento illustra come progettare, implementare e convalidare un piano per eseguire la migrazione da Amazon EC2 a Compute Engine.
La discussione in questo documento è rivolta agli amministratori cloud che vogliono i dettagli su come pianificare e implementare un processo di migrazione. È rivolto anche ai responsabili decisionali che stanno valutando l'opportunità di eseguire la migrazione e vogliono esplorare come potrebbe essere.
Questo documento fa parte di una serie in più parti sulla migrazione da AWS a Google Cloud che include i seguenti documenti:
- Inizia
- Esegui la migrazione da Amazon EC2 a Compute Engine (questo documento)
- Eseguire la migrazione da Amazon S3 a Cloud Storage
- Eseguire la migrazione da Amazon EKS a Google Kubernetes Engine
- Eseguire la migrazione da Amazon RDS e Amazon Aurora per MySQL a Cloud SQL per MySQL
- Eseguire la migrazione da Amazon RDS e Amazon Aurora per PostgreSQL a Cloud SQL per PostgreSQL e AlloyDB per PostgreSQL
- Eseguire la migrazione da Amazon RDS per SQL Server a Cloud SQL per SQL Server
Questa serie presuppone che tu abbia letto e che tu abbia familiarità con i seguenti documenti:
- Eseguire la migrazione a Google Cloud: inizia: descrive il framework di migrazione generale da seguire in questa migrazione.
- Eseguire la migrazione a Google Cloud: best practice per la convalida di un piano di migrazione: descrive le modifiche e i miglioramenti potenziali al piano di migrazione.
Il seguente diagramma illustra il percorso del tuo percorso di migrazione. Per di migrazione, la fase di deployment equivale a eseguire una migrazione e il processo di sviluppo.
Puoi eseguire la migrazione da Amazon EC2 a Compute Engine seguendo una serie Ad esempio, potresti eseguire la migrazione di alcuni carichi di lavoro prima e di altri in un secondo momento. Per ogni iterazione di migrazione distinta, segui le fasi del framework di migrazione generale:
- Valuta e scopri i tuoi carichi di lavoro e i tuoi dati.
- Pianifica e crea una base su Google Cloud.
- Esegui la migrazione dei tuoi carichi di lavoro e dei tuoi dati a Google Cloud.
- Ottimizza il tuo ambiente Google Cloud.
Per saperne di più sulle fasi di questo framework, consulta Eseguire la migrazione a Google Cloud: inizia.
Valuta l'ambiente di origine
Nella fase di valutazione, stabilisci i requisiti e le dipendenze del le risorse di cui vuoi eseguire la migrazione da Amazon EC2 a Compute Engine.
La fase di valutazione è composta dalle seguenti attività:
- Crea un inventario completo dei tuoi carichi di lavoro.
- Cataloga i carichi di lavoro in base alle loro proprietà e dipendenze.
- Forma e forma i tuoi team su Google Cloud.
- Crea esperimenti e proof of concept su Google Cloud.
- Calcola il costo totale di proprietà (TCO) dell'ambiente di destinazione.
- 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 la distribuzione e l'operatività per il deployment dei carichi di lavoro su queste istanze.
Per creare l'inventario delle istanze Amazon EC2, ti consigliamo di utilizzare Migration Center, la piattaforma unificata di Google Cloud che ti consente di accelerare il percorso verso il cloud end-to-end dall'ambiente attuale a Google Cloud. Il Centro di migrazione ti consente di importare dati da Amazon EC2 e altre risorse AWS. Il Centro di migrazione consiglia quindi i servizi Google Cloud pertinenti a cui puoi eseguire la migrazione.
Dopo aver valutato il tuo ambiente utilizzando il Centro di migrazione, ti consigliamo di generare un report di valutazione della migrazione tecnica utilizzando l'interfaccia a riga di comando del client di rilevamento del Centro di migrazione. Per ulteriori informazioni, consulta Raccogliere i dati degli ospiti dalle istanze Amazon EC2 per la valutazione offline.
I dati forniti dal Centro di migrazione e dalla CLI 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 dei dati che crei in base alle API AWS, agli strumenti per sviluppatori AWS e all'interfaccia a riga di comando AWS.
Oltre ai dati che ottieni da Migration Center e dall'interfaccia a riga di comando del client predittivo di Migration Center, prendi in considerazione 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'immagine macchina Amazon (AMI) da cui viene avviata l'istanza.
- Il nome host dell'istanza e il modo in cui altre istanze e altri carichi di lavoro utilizzano questo nome host per comunicare con l'istanza.
- I tag delle istanze, nonché 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.
- Modalità di archiviazione dei dati da parte dell'istanza, ad esempio l'utilizzo degli archivi di istanze e di Amazon come i volumi 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 di AWS Network Firewall che coinvolge l'istanza.
- Se i carichi di lavoro in esecuzione nell'istanza sono protetti da AWS Shield e AWS WAF.
- Se stai controllando lo stato del processore dell'istanza e come I carichi di lavoro in esecuzione sull'istanza dipendono dallo stato del processore.
- La configurazione dello scheduler di I/O dell'istanza.
- Come esponi i carichi di lavoro in esecuzione nell'istanza ai client che vengono eseguiti nel tuo ambiente AWS (ad esempio altri carichi di lavoro) e ai client esterni.
Valuta il deployment e i processi operativi
È importante avere una chiara comprensione di come l'implementazione dei processi operativi. Questi processi sono una parte fondamentale che preparano e gestiscono l'ambiente di produzione e per i carichi di lavoro che vengono eseguiti lì.
I processi operativi e di deployment potrebbero creare gli artefatti per il corretto funzionamento dei carichi di lavoro. Pertanto, devi raccogliere informazioni su ogni tipo di elemento. Ad esempio, un artefatto può essere un pacchetto del sistema operativo, un pacchetto di deployment delle applicazioni, un'immagine del sistema operativo, un'immagine container altro.
Oltre al tipo di artefatto, valuta come completare le attività seguenti:
- Sviluppa i tuoi carichi di lavoro. Valutare i processi seguiti dai team di sviluppo dei carichi di lavoro. Ad esempio, in che modo i team di sviluppo progettando, programmando e testando i carichi di lavoro?
- Genera gli elementi da eseguire nel tuo ambiente di origine. A dei carichi di lavoro nell'ambiente di origine, potresti generare artefatti di cui è possibile eseguire il deployment, come immagini container o immagini del sistema operativo potresti personalizzare elementi esistenti, come la gestione le immagini di sistema installando e configurando il software. La raccolta di informazioni su come stai generando questi artefatti ti aiuta a per assicurarti che gli artefatti generati siano adatti al deployment in Google Cloud.
Archivia gli elementi. Se produci artefatti che memorizzi in un registry di artefatti nel tuo ambiente di origine, devi renderli disponibili nel tuo ambiente Google Cloud. Puoi farlo utilizzando strategie come le seguenti:
- Stabilisci un canale di comunicazione tra gli ambienti. Rendi il artefatti nel tuo ambiente di origine raggiungibili dalla destinazione nell'ambiente Google Cloud.
- Esegui il refactoring del processo di creazione degli artefatti: completa un piccolo refactoring del tuo in modo da poter archiviare gli artefatti sia nell'ambiente di origine e l'ambiente di destinazione. Questo approccio supporta la migrazione creando un'infrastruttura come un repository di elementi prima di dover implementare le procedure di compilazione degli elementi nell'ambiente Google Cloud di destinazione. Puoi implementare questo approccio direttamente o basarti su l'approccio precedente, che prevede per prima cosa un canale di comunicazione.
La disponibilità degli artefatti sia nell'ambiente di origine che in quello di destinazione ti consente per concentrarsi sulla migrazione senza dover implementare i processi di creazione degli artefatti nell'ambiente Google Cloud di destinazione nell'ambito della migrazione.
Scansiona e firma il codice. Nell'ambito dei processi di build degli artefatti, potresti utilizzando la scansione del codice per proteggerti dalle vulnerabilità comuni per evitare un'esposizione accidentale della rete e la firma del codice per garantire che il codice attendibile viene eseguito nei tuoi ambienti.
Esegui il deployment degli elementi nell'ambiente di origine. Dopo aver generato gli elementi di deployment, potresti eseguirne il deployment nell'ambiente di origine. Ti consigliamo di valutare ogni processo di deployment. La valutazione aiuta garantire che i processi di deployment siano compatibili con Google Cloud. Inoltre, ti aiuta a comprendere lo sforzo necessario per e infine il refactoring dei processi. Ad esempio, se le tue procedure di implementazione funzionano solo con l'ambiente di origine, potresti doverle eseguire il refactoring per scegliere come target il tuo ambiente Google Cloud.
Inserisci la configurazione di runtime. Potresti iniettare la configurazione di runtime per cluster, ambienti di runtime o deployment dei carichi di lavoro specifici. La configurazione potrebbe inizializzare le variabili di ambiente e altri valori di configurazione come secret, credenziali e chiavi. Per garantire che i tuoi i processi di iniezione della configurazione runtime funzionano su Google Cloud, ti consigliamo di valutare le modalità di configurazione dei carichi di lavoro in esecuzione dell'ambiente di origine.
Logging, monitoraggio e profilazione. Valutare le attività di logging, monitoraggio i processi di profilazione in atto per monitorare l'integrità dei tuoi dell'ambiente di origine, le metriche di interesse e il modo in cui utilizzi i dati forniti da questi processi.
Autenticazione del cluster. Valuta la modalità di autenticazione rispetto all'ambiente di origine.
Esegui il provisioning e configura le risorse. Per preparare l'ambiente di origine, potresti aver progettato e implementato processi che eseguono il provisioning e la configurazione delle risorse. Ad esempio, potresti utilizzare Terraform insieme a strumenti di gestione della configurazione per eseguire il provisioning e configurare le risorse nel tuo ambiente di origine.
Pianifica e costruisci le tue basi
Nella fase di pianificazione e creazione, esegui il provisioning e la configurazione dell'infrastruttura segui questi passaggi:
- Supporta i tuoi carichi di lavoro nel tuo ambiente Google Cloud.
- Connetti l'ambiente di origine e l'ambiente Google Cloud per completare la migrazione.
La fase di pianificazione e creazione è composta dalle seguenti attività:
- Crea una gerarchia di risorse.
- Configura Identity and Access Management (IAM) di Google Cloud.
- Configura la fatturazione.
- Configura la connettività di rete.
- Rafforza la sicurezza.
- Configura il logging, il monitoraggio e gli avvisi.
Per ulteriori informazioni su ciascuna di queste attività, consulta Esegui la migrazione a Google Cloud: pianifica e costruisci le tue basi.
Migrazione dei carichi di lavoro
Per eseguire la migrazione dei carichi di lavoro da Amazon EC2 a Compute Engine, svolgi quanto segue:
- Esegui la migrazione delle VM da Amazon EC2 a Compute Engine.
- Esponi i carichi di lavoro in esecuzione su Compute Engine ai client.
- Esegui il refactoring del deployment e dei processi operativi per raggiungere gli obiettivi Google Cloud anziché scegliere come target 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 utilizzare Eseguire la migrazione alle macchine virtuali, che è un servizio completamente gestito. Per ulteriori informazioni, consulta Percorso di migrazione con Migra a VM.
Nell'ambito di questa migrazione, Migrate for VM esegue la migrazione delle istanze Amazon EC2 in il loro stato attuale, a parte modifiche necessarie alla configurazione. Se le tue istanze Amazon EC2 eseguono AMI Amazon EC2 personalizzate, Migrate for VM esegue la migrazione di queste personalizzazioni nelle istanze di Compute Engine. Tuttavia, se vuoi rendere la tua infrastruttura riproducibile, potresti dover applicare personalizzazioni equivalenti creando immagini del sistema operativo Compute Engine nell'ambito dei processi di deployment e operativi, come spiegato più avanti in questo documento. Puoi anche importa le tue 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 Compute Engine potresti dover eseguire il provisioning e la configurazione per esporre i carichi di lavoro ai client.
Google Cloud offre servizi e prodotti sicuri e affidabili per di esporre i tuoi carichi di lavoro ai client. Per i carichi di lavoro in esecuzione In un'istanza Compute Engine, devi configurare le risorse per 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 base di riferimento simile a quella che hai configurato per i servizi e le risorse AWS la categoria equivalente. Puoi quindi eseguire l'iterazione della configurazione e utilizzare altre funzionalità 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 i gruppi di sicurezza AWS e i criteri e le regole di AWS Network Firewall, puoi configurare i criteri e le regole di Cloud Next Generation Firewall. Puoi anche eseguire il provisioning Regole di Controlli di servizio VPC per regolare il traffico di rete all'interno del tuo VPC. Puoi utilizzare la modalità Controlli di servizio VPC per bloccare le connessioni di rete indesiderate al tuo le istanze di Compute Engine e per contribuire a mitigare il rischio l'esfiltrazione dei dati.
Ad esempio, se usi i gruppi di sicurezza AWS per consentire o negare le connessioni a alle tue istanze Amazon EC2, puoi configurare Regole firewall Virtual Private Cloud (VPC) applicabili alle tue istanze Compute Engine.
Bilanciamento del carico del traffico
Se hai configurato Elastic Load Balancing (ELB) nel tuo ambiente AWS, può configurare Cloud Load Balancing per distribuire il traffico di rete al fine di migliorare la scalabilità dei carichi di lavoro in Google Cloud. Cloud Load Balancing supporta diversi prodotti di bilanciamento del carico regionali e globali 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 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 delle tue esigenze.
Nomi, zone e record DNS
Se utilizzi Amazon Route 53 nel tuo ambiente AWS, in Google Cloud puoi utilizzare quanto segue:
- Cloud Domains per registrare i tuoi domini DNS.
- Cloud DNS per gestire le tue zone DNS pubbliche e private e i tuoi record DNS.
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 della 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 carichi di lavoro Google Cloud dagli attacchi DDoS e exploit comuni.
Esegui il refactoring del deployment e dei processi operativi
Dopo aver eseguito il refactoring dei carichi di lavoro, devi eseguire il refactoring del deployment e delle operazioni processi per:
- Esegui il provisioning e la configurazione delle risorse nel tuo ambiente Google Cloud instead of provisioning resources in your source environment.
- Crea e configura i carichi di lavoro ed esegui il loro deployment in Google Cloud instead of in the source environment.
Hai raccolto informazioni su questi processi durante la fase di valutazione nelle prime fasi di questo processo.
Il tipo di refactoring da considerare per questi processi dipende come li hai progettati e implementati. Il refactoring dipende anche da quale stato finale vuoi per ogni processo. Ad esempio, prendi in considerazione quanto indicato di seguito:
- Probabilmente avete implementato questi processi nell'ambiente di origine e intendiamo progettare e implementare processi simili in Google Cloud. Ad esempio, puoi eseguire il refactoring di queste procedure per utilizzare Cloud Build, Cloud Deploy e Infrastructure Manager.
- Potresti aver implementato questi processi in un altro ambiente di terze parti esterno all'ambiente di origine. In questo caso, è necessario eseguire il refactoring per scegliere come target il tuo ambiente Google Cloud anziché l'ambiente di origine completamente gestito di Google Cloud.
- Una combinazione degli approcci precedenti.
Il refactoring dei processi di deployment e operativi può essere complesso e richiedere un impegno significativo. Se provi a eseguire queste attività nell'ambito del carico di lavoro una migrazione dei dati, la migrazione dei carichi di lavoro può diventare più complessa ai rischi. Dopo aver valutato i processi operativi e di deployment, probabilmente comprenderne il design e la complessità. Se ritieni di dover impiegare molto impegno per eseguire il refactoring delle procedure di implementazione e operative, ti consigliamo di prendere in considerazione la possibilità di eseguire il refactoring di queste procedure nell'ambito di un progetto dedicato e separato.
Per ulteriori informazioni su come progettare e implementare i processi di deployment su Google Cloud, consulta:
- Eseguire la migrazione a Google Cloud: eseguire il deployment dei carichi di lavoro
- Eseguire la migrazione a Google Cloud: dai deployment manuali a quelli automatizzati e containerizzati
Questo documento è incentrato sui processi di deployment che producono gli artefatti eseguire il deployment e implementarle nell'ambiente di runtime di destinazione. La strategia di refactoring dipende molto dalla complessità di questi processi. Il seguente elenco delinea una possibile strategia di refactoring generale:
- Eseguire il provisioning dei repository di artefatti su Google Cloud. Ad esempio, puoi usa Artifact Registry per archiviare artefatti e creare dipendenze.
- Esegui il refactoring delle procedure di compilazione per archiviare gli artefatti sia nell'ambiente di origine sia in Artifact Registry.
- Esegui il refactoring delle procedure di deployment per distribuire i carichi di lavoro nell'ambiente Google Cloud di destinazione. Ad esempio, puoi iniziare eseguendo il deployment dei tuoi carichi di lavoro in Google Cloud, utilizzando artefatti archiviati in Artifact Registry. Poi, aumenta gradualmente il numero di carichi di lavoro di cui è stato eseguito il deployment in Google Cloud, fino a quando tutti i carichi di lavoro di cui vuoi eseguire la migrazione non vengono eseguiti su Google Cloud.
- Esegui il refactoring dei processi di build per archiviare gli artefatti solo in Artifact Registry.
- Se necessario, esegui la migrazione delle versioni precedenti degli artefatti di cui eseguire il deployment di repository esistenti nel tuo ambiente di origine in Artifact Registry. Ad esempio, puoi e copiare immagini container in Artifact Registry.
- Puoi dismettere i repository nel tuo ambiente di origine quando se ne richiedono uno.
Per facilitare i rollback finali a causa di problemi imprevisti durante migrazione, puoi archiviare le immagini container sia nell'artefatto corrente i repository in Google Cloud, mentre la migrazione a Google Cloud in corso. Infine, nell'ambito del ritiro dell'ambiente di origine, puoi eseguire il refactoring dei processi di compilazione delle immagini container per archiviare gli elementi solo in Google Cloud.
Sebbene possa non essere fondamentale per il successo di una migrazione, potresti aver bisogno per eseguire la migrazione delle versioni precedenti degli artefatti dall'ambiente di origine ai tuoi repository di artefatti su Google Cloud. Ad esempio, per supportare il rollback dei carichi di lavoro a punti in tempo arbitrari, potrebbe essere necessario eseguire la migrazione delle versioni precedenti degli elementi in Artifact Registry. Per ulteriori informazioni, consulta Eseguire la migrazione delle immagini da un registry di terze parti.
Se utilizzi Artifact Registry per archiviare gli artefatti, ti consigliamo di configurare i controlli per proteggere l'artefatto come controllo dell'accesso, prevenzione dell'esfiltrazione di dati, analisi delle vulnerabilità e Autorizzazione binaria. Per ulteriori informazioni, vedi Controlla l'accesso e proteggi gli artefatti.
Ottimizza il tuo ambiente Google Cloud
L'ottimizzazione è l'ultima fase della migrazione. In questa fase, esegui l'iterazione attività di ottimizzazione finché l'ambiente di destinazione non soddisfa i requisiti di ottimizzazione i tuoi requisiti. I passaggi di ogni iterazione sono i seguenti:
- Valuta l'ambiente attuale, i team e il ciclo di ottimizzazione.
- Definisci i requisiti e gli obiettivi di ottimizzazione.
- Ottimizza il tuo ambiente e i tuoi team.
- Ottimizza il loop di ottimizzazione.
Ripeti la sequenza finché non hai raggiunto gli obiettivi di ottimizzazione.
Per ulteriori informazioni sull'ottimizzazione dell'ambiente Google Cloud, consulta Esegui la migrazione a Google Cloud: ottimizza l'ambiente e Procedura di ottimizzazione delle prestazioni.
Passaggi successivi
- Informazioni altri percorsi di migrazione da AWS a Google Cloud.
- Scopri come confrontare i servizi AWS e Azure con Google Cloud.
- Scopri quando consulta l'assistenza per le migrazioni.
- Per altre architetture di riferimento, diagrammi e best practice, esplora il Centro architetture cloud.
Collaboratori
Autore: Marco Ferrari | Cloud Solutions Architect