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 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 indicazioni se stai valutando l'opportunità di eseguire la migrazione e vuoi scoprire come potrebbe essere la migrazione. Oltre a essere eseguito su Amazon Elastic Compute Cloud (Amazon EC2), Amazon EKS offre altre opzioni di deployment, come Amazon EKS su 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 all'esecuzione di un processo di migrazione.

Percorso di migrazione diviso in quattro fasi.

Puoi eseguire la migrazione da Amazon EKS a GKE in una serie di iterazioni, ad esempio eseguendo 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, stabilisci i requisiti e le dipendenze delle risorse di cui vuoi eseguire la migrazione da Amazon EKS a GKE.

La fase di valutazione è composta dalle seguenti attività:

  1. Crea un inventario completo dei carichi di lavoro e dei dati.
  2. Cataloga i carichi di lavoro e i 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 Eseguire la migrazione a Google Cloud: valutare e scoprire i carichi di lavoro. Le sezioni seguenti si basano sulle informazioni contenute nel documento.

Creare gli 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, devi valutare i processi di deployment e operativi 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 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. Il Centro di migrazione consente di importare i dati da Amazon EKS e altre risorse AWS. Migration Center consiglia quindi i servizi Google Cloud pertinenti a cui puoi eseguire la migrazione.

Quando crei l'inventario dei tuoi cluster Amazon EKS, potresti notare che alcuni di questi devono essere dismessi durante la migrazione. Assicurati che il tuo piano di migrazione includa il ritiro di queste risorse.

I dati forniti dal Centro di migrazione 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 dal Migration Center, considera i seguenti punti dati per ogni cluster Amazon EKS di cui vuoi eseguire la migrazione:

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

Valuta il deployment e i processi operativi

Dopo aver creato gli inventari dei cluster e dei carichi di lavoro Amazon EKS, ti consigliamo di valutare i processi operativi e di deployment. È 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 in esecuzione.

I processi operativi e di deployment potrebbero creare gli artefatti necessari per il funzionamento dei tuoi carichi di lavoro. Dovresti quindi raccogliere informazioni su ciascun 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 altro ancora.

Oltre al tipo di artefatto, valuta come completare le seguenti attività:

  • Genera gli artefatti di cui esegui il deployment su Amazon EKS. Per eseguire il deployment dei tuoi carichi di lavoro su Amazon EKS, è possibile che tu stia generando artefatti di cui è possibile eseguire il deployment, come le 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 in Google Cloud. Ad esempio, se produci artefatti archiviati in un Artifact Registry su AWS, devi renderli disponibili nel tuo ambiente Google Cloud. Puoi farlo utilizzando strategie come le seguenti:
    • Stabilisci un canale di comunicazione tra gli ambienti: rendi gli artefatti del tuo ambiente di origine raggiungibili dall'ambiente Google Cloud di destinazione. In questo modo, puoi prepararti all'utilizzo finale di Artifact Registry.
    • Esegui il refactoring del processo di compilazione degli artefatti: completa un refactoring minore dell'ambiente di origine in modo da poter archiviare gli artefatti sia nell'ambiente di origine che nell'ambiente di destinazione. Questo approccio supporta la migrazione creando un'infrastruttura come un repository di artefatti prima di implementare i processi di build degli artefatti nell'ambiente Google Cloud di destinazione. Puoi implementare questo approccio direttamente oppure basarti sull'approccio precedente, creando anzitutto un canale di comunicazione.
  • Esegui il deployment degli artefatti sui tuoi cluster Amazon EKS. Dopo aver generato gli 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 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 EKS, potresti doverli eseguire il refactoring per scegliere come target il tuo ambiente Google Cloud.
  • Inserisci la configurazione di runtime. Potresti inserire una configurazione del runtime per cluster Amazon EKS, ambienti di runtime o deployment di carichi di lavoro specifici. La configurazione potrebbe inizializzare le variabili di ambiente e altri valori di configurazione come secret, credenziali e chiavi. Per assicurarti che i processi di inserimento della configurazione del runtime funzionino su Google Cloud, ti consigliamo di valutare come stai configurando i carichi di lavoro eseguiti 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 ti aiutano a ridurre l'ambito e il rischio della migrazione.

Completa la valutazione

Dopo aver creato gli inventari dal tuo ambiente Amazon EKS, 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.

Crea le tue basi su Google Cloud

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

  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 su GKE".

Esegui la migrazione dei dati e il deployment dei carichi di lavoro

Nella fase di deployment, devi:

  1. Esegui il provisioning e configura il tuo ambiente GKE.
  2. Configura i tuoi cluster GKE.
  3. Eseguire 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. Dismissione dell'ambiente di origine.

Per informazioni su come completare ciascuna di queste attività, consulta la sezione Deployment dei carichi di lavoro in "Migrazione dei container in Google Cloud: migrazione di Kubernetes su GKE". Le seguenti sezioni integrano le considerazioni presenti nel 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 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 dai volumi Amazon EBS alle risorse PersistentVolume GKE.
  • Copia i dati dai volumi Amazon EBS in Amazon S3 o in Cloud Storage, quindi esegui la migrazione dei dati alle risorse GKE PersistentVolume.

Migrazione dei dati dai volumi Amazon EBS agli oggetti GKE PersistentVolume

Puoi eseguire la migrazione dei dati dai 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. Eseguire 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. Dismetti 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. Dismetti 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 a un supporto temporaneo ed esegui la migrazione agli oggetti GKE PersistentVolume

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

  1. Caricare i dati dai volumi Amazon EBS su un supporto temporaneo come un bucket Amazon S3 o un bucket Cloud Storage.
  2. Scarica i dati dal supporto provvisorio alle risorse PersistentVolume di GKE.

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 tenendo conto di importanti considerazioni, ti consigliamo di consultare Migrazione da AWS a Google Cloud: migrazione da Amazon S3 a Cloud Storage.

Scegliere un'opzione di migrazione

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

  • La quantità di dati di cui devi eseguire la migrazione.
    • Se devi eseguire la migrazione di una piccola quantità di dati, ad esempio alcuni file di dati, puoi utilizzare strumenti come rsync per copiare i dati direttamente sui dischi permanenti di Compute Engine. Questa opzione è relativamente rapida, ma potrebbe non essere adatta per una grande quantità di dati.
    • Se devi eseguire la migrazione di una grande quantità di dati, valuta la possibilità di eseguire la migrazione alle macchine virtuali per eseguire la migrazione dei dati in 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 di destinazione.
    • Se non riesci a stabilire una connettività di rete diretta tra le tue istanze AWS EC2 e Compute Engine, potresti valutare l'uso di Amazon S3 o Cloud Storage per archiviare temporaneamente i dati durante la migrazione in Compute Engine. Questa opzione potrebbe essere meno costosa perché non è necessario mantenere le istanze EC2 e Compute Engine in esecuzione contemporaneamente.
  • Le tempistiche della migrazione.
    • Se disponi di una larghezza di banda di rete limitata o di una grande quantità di dati e i tempi previsti non sono stretti, puoi anche utilizzare un 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 consentono di identificare i potenziali problemi e garantire il successo della migrazione.

Ottimizza l'ambiente dopo la migrazione

Una volta completate tutte le fasi, la migrazione è 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