Direkt zum Inhalt

Wie migriere ich meine Amazon EC2 Linux-Instance zu einem Graviton-gesteuerten Instance-Typ?

Lesedauer: 4 Minute
0

Ich möchte meine Amazon Elastic Compute Cloud (Amazon EC2)-Instance auf einen AWS Graviton-gesteuerten Instance-Typ migrieren.

Kurzbeschreibung

Gehe wie folgt vor, um zu einer AWS Graviton-gesteuerten Instance zu migrieren:

  1. Ermittle die Kompatibilität des Anwendungsquellcodes und der Bibliotheken mit AWS Graviton-gesteuerten Instances.
  2. Verwende die Online- oder Offline-Methode, um Daten in die neue Instance zu kopieren.

Eine detaillierte Migrationsstrategie findest du unter AWS Graviton Fast Start.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Die Kompatibilität des Quellcodes und der Bibliotheken der Anwendung ermitteln

Analysiere die aktuellen Workload-Anforderungen, um festzustellen, ob die AWS Graviton-gesteuerte Instance diese unterstützen kann.

Verwende den Porting Advisor für Graviton auf der GitHub-Website, um die Kompatibilität des Anwendungsquellcodes und der Anwendung zu überprüfen.

Wähle einen Instance-Typ mit derselben Prozessorarchitektur wie der aktuelle Instance-Typ aus. Instances, die eine andere Prozessorarchitektur als ARM64 verwenden, können nicht direkt aktualisiert werden. Amazon Machine Images (AMIs) sind spezifisch für die Architektur des Prozessors.

Daten in die neue Instance kopieren

Online-Methode

Der Porting Advisor für Graviton bietet Anleitungen zur Migration der Software. Du musst jedoch weiterhin Tests ausführen, um sicherzustellen, dass die migrierte Software auf der Graviton-Instance ausgeführt wird. Nachdem du den Code migriert hast, musst du die Daten manuell auf die neue Graviton-Instance kopieren.

AWS Graviton-gesteuerte Instances, die mit einem ARM64-gesteuerten AMI erstellt wurden, müssen über ein ARM64-gesteuertes Amazon Elastic Block Store (Amazon EBS)-Root-Volume verfügen. Du kannst dieses Root-Volume beim Start automatisch generieren.

Wenn die Instance den Dateisystemtyp unterstützt, kannst du sekundäre Volumes einbinden, auch wenn sie mit der x86_64-Architektur erstellt wurden oder diese verwenden. Füge das Root-Volume der aktuellen Instances als sekundäre Volumes an, binde sie ein und kopiere die Daten dann in Graviton-Root-Volumes. Du kannst sekundäre Volumes von aktuellen Instances an Graviton-gesteuerte Instances anfügen.

Wichtig: Es hat sich bewährt, einen Snapshot des Volumes zu erstellen, bevor du die folgenden Schritte ausführst.

Gehe wie folgt vor, um Daten in die Instance zu kopieren:

  1. Starte eine ARM64-gesteuerte Instance.
  2. Installiere die erforderlichen Pakete und Anwendungsabhängigkeiten.
  3. Konfiguriere die neue Instance genauso wie die Quell-Instance (x86). Du musst die neue Instance genauso konfigurieren wie die Quell-Instance, damit die Anwendungen reibungslos ausgeführt werden können.
  4. Führe den folgenden Befehl aus, um die Daten von der x86-Instance zur Graviton-Instance zu migrieren und Anwendungsdaten mit der neuen Instance zu synchronisieren:
    sudo rsync -avR -e "ssh -i key.pem" /source_path/AppData ec2-user@ec2_dns_name.amazonaws.com:/destination_path
    -a, --archive archive mode
    -R, --relative use relative path names
    -v, --verbose increase verbosity
    Hinweis: Synchronisiere im Rahmen dieses Schritts nicht die Betriebssystem (OS)- und Binärdateien. Der vorhergehende Befehl überschreibt vorhandene Dateien im Remote-Zielverzeichnis, die denselben Namen wie die Dateien im lokalen Quellverzeichnis haben. Um bestehende Dateien im Remote-Zielverzeichnis zu behalten und nur neue oder geänderte Dateien zu übertragen, verwende das Flag --update oder -u.
  5. Starte die Anwendung, und stelle dann sicher, dass sie erwartungsgemäß funktioniert.

Offline-Methode

Hinweis: Du musst die erforderlichen Binärdateien und Abhängigkeiten auf der neuen Graviton-gesteuerten Instance installieren.

Gehe wie folgt vor, um Daten in die Instance zu kopieren:

  1. Stoppe die x86-gesteuerte Instance.

  2. Starte eine neue Instance von einem ARM64-gesteuerten AMI in derselben Availability Zone.

  3. Hänge das Root-Volume der x86-gesteuerten Instance als sekundäres Gerät (/dev/sdf) an die ARM64-gesteuerte Instance an.
    Um eine Liste der verfügbaren ARM64-gesteuerten AMIs anzuzeigen, führe den folgenden AWS-CLI-Befehl describe-images aus:

    $ aws ec2 describe-images --owners self amazon --filters "Name=architecture,Values=arm64" --query 'Images[*].[Name]' --output text
  4. Verwende SSH, um eine Verbindung zur ARM64-gesteuerten Instance herzustellen.

  5. Führe den folgenden Befehl aus, um das Root-Volume der x86-Instance einzubinden:

    sudo mount /dev/vol_label /mnt

    Hinweis: Ersetze vol_label durch deinen Gerätenamen. Führe bei Bedarf den Befehl lsblk aus, um den Gerätenamen abzurufen.

  6. Kopiere Daten zwischen dem sekundären Volume und dem Root-Volume der ARM64-gesteuerten Instance. Verwende zum Kopieren von Daten ein Festplattenverwaltungs- oder Migrationstool wie rsync. Beispiel:

    sudo rsync -avR /source_path /destination_path

    Hinweis: Weitere Informationen über rsync findest du unter rsync(1) – Linux man page auf der die.net-Website.

  7. Führe den folgenden Befehl aus, um das Einbinden des sekundären Volumes aufzuheben:

    sudo umount /mnt
  8. Trenne das sekundäre Volume von der Instance.

Ähnliche Informationen

Erste Schritte mit Graviton

Operating systems available for Graviton based instances (Betriebssysteme, die für Graviton-gesteuerte Instances verfügbar sind) auf der GitHub-Website

AWS OFFICIALAktualisiert vor 10 Monaten