Migrazione da AWS a Google Cloud: migrazione da Amazon EKS a GKE

Last reviewed 2023-09-30 UTC

Google Cloud fornisce strumenti, prodotti, indicazioni e servizi professionali per eseguire la migrazione da Amazon Elastic Kubernetes Service (Amazon EKS) a Google Kubernetes Engine (GKE). Questo documento ti aiuta a progettare, implementare e convalidare un piano per la migrazione da Amazon EKS a GKE. Questo documento fornisce anche delle indicazioni se stai valutando l'opportunità di eseguire la migrazione e vuoi esplorare le possibili modalità di migrazione. Oltre ad essere eseguito su Amazon Elastic Compute Cloud (Amazon EC2), Amazon EKS offre altre opzioni di deployment, ad esempio Amazon EKS sugli output AWS e Amazon EKS ovunque. Questo documento si concentra su Amazon EKS su EC2.

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 a eseguire un processo di migrazione.

Percorso di migrazione con quattro fasi.

Puoi eseguire la migrazione da Amazon EKS a GKE 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 getta le basi su Google Cloud.
  3. Esegui la migrazione dei tuoi carichi di lavoro e dei tuoi dati in Google Cloud.
  4. Ottimizza il tuo ambiente Google Cloud.

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

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 EKS a GKE.

La fase di valutazione prevede le seguenti attività:

  1. Crea un inventario completo dei tuoi carichi di lavoro e dati.
  2. Catalogo i tuoi carichi di lavoro e dati in base alle loro proprietà e dipendenze.
  3. Addestra 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 Migrazione a Google Cloud: valutazione e rilevamento dei carichi di lavoro. Le seguenti sezioni si basano sulle informazioni contenute nel documento.

Crea i tuoi inventari

Per definire l'ambito della migrazione, crea due inventari: uno dei cluster Amazon EKS e uno dei carichi di lavoro di cui viene eseguito il deployment in questi cluster. Dopo aver creato questi inventari, valuti i processi operativi e di deployment per il deployment dei carichi di lavoro nei cluster.

Crea l'inventario dei tuoi cluster e carichi di lavoro Amazon EKS

Per creare l'inventario dei tuoi cluster Amazon EKS, ti consigliamo di utilizzare StratoZone. StratoZone supporta l'importazione dei dati da Amazon EKS e altre risorse AWS eseguendo script di raccolta dati open source. StratoZone consiglia quindi i servizi Google Cloud pertinenti in cui puoi eseguire la migrazione.

Quando esegui gli script di raccolta dati di AWS, ti consigliamo di procedere come segue:

  • Valuta il codebase dello script di raccolta dati per valutare quali dati vengono raccolti dallo script.
  • Esegui gli script di raccolta dati utilizzando un'istanza di AWS CloudShell. L'utilizzo della shell evita la necessità di generare, distribuire e gestire le chiavi di autenticazione per eseguire gli script di raccolta dati in altri ambienti di runtime.
  • Esegui gli script di raccolta dati impersonando un account con autorizzazioni minime di sola lettura. Le autorizzazioni di sola lettura evitano modifiche accidentali alle risorse AWS.
  • Se opportuno, anonimizza le informazioni che consentono l'identificazione personale (PII) dai report generati dagli script di raccolta dei dati.

Per ulteriori informazioni sulla valutazione del tuo ambiente AWS tramite StratoZone, consulta Importare dati da altri cloud provider.

Quando crei l'inventario dei tuoi cluster Amazon EKS, potresti scoprire che alcuni cluster devono essere dismessi nell'ambito della migrazione. Assicurati che il tuo piano di migrazione includa il ritiro di queste risorse.

Oltre ai dati che ottieni dallo script StratoZone, considera i seguenti punti dati per ogni cluster Amazon EKS:

  • Segui le indicazioni nella sezione Creare gli inventari di "Migrazione di Kubernetes a GKE". Questo documento descrive come creare gli inventari dei cluster e dei carichi di lavoro Kubernetes. È utile anche per creare l'inventario degli ambienti Amazon EKS.
  • Considera gli aspetti e le funzionalità specifici di Amazon EKS per ogni cluster Amazon EKS, tra cui quanto segue:
    • Cluster privati
    • Controllo dell'accesso agli endpoint del cluster
    • Crittografia dei secret
    • Gruppi di nodi gestiti e nodi autogestiti
    • Tag nelle risorse Amazon EKS
    • AMI personalizzate Amazon in EKS
    • Utilizzo di Amazon EKS Fargate
    • Utilizzo di Prometheus gestito da Amazon EKS
    • Configurazione dell'autenticazione OpenID Connect
  • Valuta la tua modalità di autenticazione nei cluster Amazon EKS e come hai configurato AWS Identity and Access Management (IAM) per Amazon EKS.
  • Valuta la configurazione di rete dei tuoi cluster Amazon EKS.
  • Valuta eventuali requisiti normativi e di conformità e se attualmente li soddisfi.

Valuta i processi operativi e di deployment

Dopo aver creato gli inventari dei cluster e dei carichi di lavoro Amazon EKS, ti consigliamo di valutare il deployment e i processi operativi. È importante avere una comprensione chiara di come funzionano il deployment e i processi operativi. Questi processi sono una parte fondamentale delle pratiche che preparano e gestiscono l'ambiente di produzione e i carichi di lavoro eseguiti al suo interno.

I processi operativi e di deployment potrebbero creare gli artefatti necessari per il funzionamento dei carichi di lavoro. Di conseguenza, dovresti raccogliere informazioni su ogni tipo di artefatto. 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 o qualcos'altro.

Oltre al tipo di elemento, valuta come completi le seguenti attività:

  • Genera gli artefatti di cui esegui il deployment su Amazon EKS. Per eseguire il deployment dei carichi di lavoro su Amazon EKS, potresti generare artefatti di cui è possibile eseguire il deployment, ad esempio immagini container. La raccolta di informazioni sul modo in cui generi questi artefatti ti aiuta a garantire che gli artefatti generati siano adatti al deployment in Google Cloud. Ad esempio, se produci artefatti archiviati in un artifact registry su AWS, devi renderli disponibili nel tuo ambiente Google Cloud. A tale scopo, puoi utilizzare strategie come le seguenti:
    • Stabilisci un canale di comunicazione tra gli ambienti: rendi gli artefatti nell'ambiente di origine raggiungibili dall'ambiente Google Cloud di destinazione. In questo modo puoi prepararti all'utilizzo finale di Artifact Registry.
    • Refactoring del processo di compilazione degli artefatti: completa un refactoring secondario dell'ambiente di origine in modo da poter archiviare gli artefatti sia nell'ambiente di origine sia nell'ambiente di destinazione. Questo approccio supporta la migrazione creando un'infrastruttura come un repository di artefatti prima di dover implementare i processi di creazione degli artefatti nell'ambiente Google Cloud di destinazione. Puoi implementare questo approccio direttamente oppure puoi basarti sull'approccio precedente per la creazione di un canale di comunicazione.
  • Esegui il deployment degli artefatti sui tuoi cluster Amazon EKS. Dopo aver generato artefatti di cui è possibile eseguire il deployment, potresti eseguirne il deployment su Amazon EKS. Ti consigliamo di valutare ogni processo di deployment. La valutazione aiuta a garantire che i processi di deployment siano compatibili con Google Cloud. Ti aiuta anche a comprendere lo sforzo che sarà necessario per il refactoring dei processi. Ad esempio, se i processi di deployment funzionano solo con Amazon EKS, potrebbe essere necessario eseguirne il refactoring per scegliere come target il tuo ambiente Google Cloud.
  • Inserisci la configurazione di runtime. Potresti inserire la configurazione del runtime per cluster Amazon EKS, ambienti di runtime o deployment dei carichi di lavoro specifici. La configurazione potrebbe inizializzare variabili di ambiente e altri valori di configurazione come secret, credenziali e chiavi. Per assicurarti che i processi di inserimento della configurazione di runtime funzionino su Google Cloud, ti consigliamo di valutare il modo in cui stai configurando i carichi di lavoro in esecuzione su Amazon EKS.

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.

Completa il test

Dopo aver creato gli inventari dal tuo ambiente Amazon EKS, completa le altre attività della fase di valutazione come descritto in Migrazione a Google Cloud: valutazione e rilevamento 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.

Crea le tue basi su Google Cloud

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

  1. Creare una gerarchia di risorse.
  2. Configurare Identity and Access Management (IAM) di Google Cloud.
  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 la sezione Pianificare e creare gli elementi di base in "Migrazione dei container in Google Cloud: migrazione di Kubernetes a GKE".

Esegui la migrazione dei dati ed esegui il deployment dei carichi di lavoro

Nella fase di deployment, esegui queste operazioni:

  1. Esegui il provisioning e la configurazione dell'ambiente GKE.
  2. Configura i tuoi cluster GKE.
  3. Esegui la migrazione dei dati dal tuo ambiente di origine a Google Cloud.
  4. Esegui il deployment dei carichi di lavoro nel tuo ambiente GKE.
  5. Convalida i carichi di lavoro.
  6. Esponi i carichi di lavoro in esecuzione su GKE.
  7. Shift il traffico dall'ambiente di origine all'ambiente GKE.
  8. Ritira l'ambiente di origine.

Per informazioni su come completare ciascuna di queste attività, consulta la sezione Eseguire il deployment dei carichi di lavoro in "Migrazione dei container in Google Cloud: migrazione di Kubernetes a GKE". Le seguenti sezioni integrano le considerazioni in tale documento.

Migrazione dei dati

La sezione Migrazione dei dati in "Migrazione dei container in Google Cloud: migrazione di Kubernetes a GKE" contiene informazioni sulla migrazione dei dati da un ambiente Kubernetes generico a GKE. I suggerimenti in questa sezione si applicano alla migrazione dei dati da Amazon EKS a GKE. Per pianificare la migrazione, integra le informazioni generiche sull'ambiente riportate nel documento collegato con le seguenti sezioni specifiche per la migrazione dei dati da Amazon EKS a GKE.

AWS offre diverse opzioni di archiviazione dati per Amazon EKS. Questo documento si concentra sui seguenti scenari di migrazione dei dati:

  • Esegui la migrazione dei dati da volumi Amazon EBS alle risorse GKE PersistentVolume.
  • Copia i dati dai volumi Amazon EBS ad Amazon S3 o Cloud Storage, quindi esegui la migrazione dei dati alle risorse PersistentVolume di GKE.

Migrazione dei dati da volumi Amazon EBS a PersistentVolume GKE

Puoi eseguire la migrazione dei dati da volumi Amazon EBS alle risorse GKE PersistentVolume utilizzando uno dei seguenti approcci:

  • Copia direttamente i dati dai volumi Amazon EBS ai dischi permanenti di Compute Engine:
    1. Esegui il provisioning delle istanze Amazon EC2 e collega i volumi Amazon EBS che contengono i dati di cui eseguire la migrazione.
    2. Esegui il provisioning delle istanze di Compute Engine con dischi permanenti vuoti con capacità sufficiente per archiviare i dati di cui eseguire la migrazione.
    3. Esegui uno strumento di sincronizzazione dei dati, ad esempio rsync, per copiare i dati dai volumi Amazon EBS ai dischi permanenti di Compute Engine.
    4. Scollega i dischi permanenti dalle istanze di Compute Engine.
    5. Smonta le istanze di Compute Engine.
    6. Configura i dischi permanenti come risorse PersistentVolume GKE.
  • Esegui la migrazione delle istanze Amazon EC2 e dei volumi Amazon EBS in Compute Engine:
    1. Esegui il provisioning delle istanze Amazon EC2 e collega i volumi Amazon EBS che contengono i dati di cui eseguire la migrazione.
    2. Esegui la migrazione delle istanze Amazon EC2 e dei volumi Amazon EBS in Compute Engine con Migrate for Virtual Machines.
    3. Scollega i dischi permanenti dalle istanze di Compute Engine.
    4. Smonta le istanze di Compute Engine.
    5. Configura i dischi permanenti come risorse PersistentVolume GKE.

Per ulteriori informazioni sulla migrazione delle istanze Amazon EC2 a Compute Engine, consulta Migrazione da AWS a Google Cloud: migrazione da Amazon EC2 a Compute Engine.

Per ulteriori informazioni sull'utilizzo dei dischi permanenti di Compute Engine come risorse PersistentVolume di GKE, consulta Utilizzo di dischi permanenti preesistenti come PersistentVolume.

Copia i dati dai volumi Amazon EBS su un supporto temporaneo ed esegui la migrazione agli oggetti PersistentVolume GKE

Anziché eseguire direttamente la migrazione dai volumi Amazon EBS alle risorse GKE PersistentVolume, puoi utilizzare un supporto temporaneo come un archivio di oggetti:

  1. Carica i dati da volumi Amazon EBS su un contenuto multimediale temporaneo, ad esempio un bucket Amazon S3 o un bucket Cloud Storage.
  2. Scarica i dati dai contenuti multimediali temporanei alle tue risorse GKE PersistentVolume.

In alcuni scenari, l'utilizzo di più contenuti multimediali può semplificare il trasferimento dei dati in base alle configurazioni di rete e di sicurezza. Ad esempio, puoi inizialmente caricare i dati in un bucket S3, quindi copiarli dal bucket S3 a un bucket Cloud Storage e infine scaricare i dati nei volumi permanenti. Indipendentemente dall'approccio scelto, per garantire una transizione senza problemi prendendo nota di considerazioni importanti, ti consigliamo di consultare la pagina Migrazione da AWS a Google Cloud: migrazione da Amazon S3 a Cloud Storage.

Scegliere un'opzione di migrazione

L'opzione di migrazione migliore dipende dalle tue esigenze e dai tuoi requisiti specifici, come le seguenti considerazioni:

  • La quantità di dati da migrare.
    • Se devi eseguire la migrazione di una piccola quantità di dati, ad esempio pochi file di dati, puoi utilizzare strumenti come rsync per copiare i dati direttamente nei dischi permanenti di Compute Engine. Questa opzione è relativamente facile e veloce, ma potrebbe non essere adatta per una grande quantità di dati.
    • Se devi eseguire la migrazione di una grande quantità di dati, ti consigliamo di utilizzare Esegui la migrazione alle macchine virtuali per eseguire la migrazione dei dati a Compute Engine. Questa opzione è più complessa rispetto alla copia diretta dei dati, ma è più affidabile e scalabile.
  • Il tipo di dati di cui devi eseguire la migrazione.
  • La connettività di rete tra gli ambienti di origine e quelli di destinazione.
    • Se non riesci a stabilire una connettività di rete diretta tra le istanze di AWS EC2 e Compute Engine, ti consigliamo di utilizzare Amazon S3 o Cloud Storage per archiviare temporaneamente i dati durante la migrazione a Compute Engine. Questa opzione potrebbe essere meno costosa perché non dovrai mantenere le istanze EC2 e Compute Engine in esecuzione contemporaneamente.
  • Tempistiche della migrazione.
    • Se hai una larghezza di banda di rete limitata o una grande quantità di dati e i tempi di elaborazione non sono limitati, puoi anche utilizzare Transfer Appliance per spostare i dati da AWS a Google Cloud.

Indipendentemente dall'opzione scelta, è importante testare la migrazione prima di renderla attiva. I test ti aiuteranno a identificare eventuali problemi e ad assicurare il successo della migrazione.

Ottimizza l'ambiente dopo la migrazione

Una volta completate tutte le fasi, la migrazione viene considerata completata. Tuttavia, il tuo ambiente GKE potrebbe richiedere ulteriori ottimizzazioni. Per ulteriori informazioni, consulta Eseguire la migrazione di Kubernetes a GKE: ottimizzare l'ambiente.

Passaggi successivi