Verwenden des AWS CLI v1-to-v2-Migrationstools zum Upgrade von AWS CLI-Version 1 auf AWS CLI-Version 2 - AWS Command Line Interface

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden des AWS CLI v1-to-v2-Migrationstools zum Upgrade von AWS CLI-Version 1 auf AWS CLI-Version 2

In diesem Thema wird das AWS CLI v1-to-v2-Migrationstool beschrieben.

Wir empfehlen Benutzern von AWS CLI Version 1 ein Upgrade auf AWS CLI Version 2, um auf neue Funktionen und verbesserte Leistung zugreifen zu können. Es gibt Verhaltensänderungen zwischen AWS CLI-Version 1 und AWS CLI-Version 2, sodass Sie möglicherweise Ihre Skripts oder Befehle aktualisieren müssen, um dasselbe Verhalten zu erzielen. Das AWS CLI v1-to-v2-Migrationstool analysiert Bash-Skripte, die Befehle der AWS CLI-Version 1 enthalten, und erkennt die Verwendung von Funktionen, die mit wichtigen Änderungen in AWS CLI-Version 2 aktualisiert wurden. Darüber hinaus kann das Tool Ihre Skripts automatisch ändern, um die meisten erkannten Probleme zu beheben. Dieses Tool verbessert das Upgrade-Erlebnis, indem es AWS CLI-Befehle der Version 1 in Bash-Skripten automatisch erkennt und ändert, um unerwartete Probleme beim Upgrade auf Version 2 zu vermeiden.

Im Vergleich zum Upgrade-Debug-Modus ist das AWS CLI v1-to-v2-Migrationstool ein eigenständiges Tool und erfordert keine Ausführung von CLI-Befehlen. AWS Einen gründlichen Vergleich zwischen dem Upgrade-Debug-Modus und dem AWS CLI v1-to-v2-Migrationstool finden Sie unter. Verwendung von AWS CLI-Migrationstools zur Minimierung von Sicherheitslücken Migrationsleitfaden für die AWS CLI Version 2

Weitere Informationen finden Sie unter. Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 Neue Funktionen und Änderungen in der AWS CLI Version 2

Funktionsweise

Das AWS CLI v1-to-v2 Migration Tool ist ein Python-Paket, das Bash-Skripte linten kann, die CLI Version 1 verwenden. AWS Da es sich um einen statischen Linter handelt, hängt er nicht von der Version von AWS CLI Version 1 ab, die Sie möglicherweise auf Ihrem Computer installiert haben. Der Linter wird über die Befehlszeile aufgerufen, wobei der lokale Dateipfad zum Bash-Skript als Parameter angegeben wird.

Das Migrationstool kann auch automatisch ein modifiziertes Bash-Skript erstellen, das die meisten festgestellten Probleme behebt, indem es die im Skript verwendeten AWS CLI-Befehle der Version 1 ändert. Das Migrationstool ändert Befehle so, dass sie mit AWS Version 2 kompatibel sind, und behält das Verhalten von Version 1 bei.

Bei einigen Ergebnissen kann das AWS CLI v1-to-v2-Migrationstool sie erkennen, aber keine automatische Lösung anbieten. In diesen Fällen kennzeichnet das Migrationstool sie als Erkennungen, die manuell überprüft werden müssen.

Eine Einschränkungen vollständige Liste der wichtigsten Änderungen und automatischen Korrekturen, die das AWS CLI v1-to-v2-Migrationstool unterstützt, finden Sie unter.

Voraussetzungen

Python

Um dieses Tool verwenden zu können, muss Python 3.9 oder höher installiert sein.

Um zu überprüfen, ob Sie die richtige Python-Version installiert haben, führen Sie den folgenden Befehl in einem Terminal aus und vergewissern Sie sich, dass die Ausgabe eine Python-Version von mindestens 3.9 anzeigt.

$ python3 --version

Wenn Sie eine ältere Version von Python haben oder Python nicht installiert haben, können Sie eine kompatible Version von der offiziellen Python-Download-Seite herunterladen.

pip

Sie müssen nicht nur eine kompatible Version von Python installiert haben, sondern auch pip installiert haben.

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob diese installiert pip ist:

$ python3 -m pip --version

Wenn Sie pip installiert haben, wird eine Ausgabe ähnlich der folgenden angezeigt:

pip 25.0.1 from ~/.local/lib/python3.13/site-packages (python 3.13)

Wenn Sie es nicht pip installiert haben, finden Sie weitere Informationen unter Pip installieren.

Installation

Installieren Sie das AWS CLI v1-to-v2-Migrationstool in einer neuen virtuellen Umgebung:

$ python3 -m venv .venv $ source .venv/bin/activate $ python3 -m pip install aws-cli-migrate

Usage

Trockenlaufmodus (Standard)

Im Dry-Run-Modus können Sie AWS CLI-Befehle der Version 1, die grundlegenden Änderungen unterliegen, automatisch erkennen, ohne das Eingabeskript zu ändern:

$ migrate-aws-cli --script upload_s3_files.sh

Auto-Fix-Modus

Im Auto-Fix-Modus können Sie Befehle der AWS CLI Version 1 im Eingabeskript automatisch erkennen und aktualisieren, um Fehler aufgrund von Änderungen, die in AWS CLI Version 2 eingeführt wurden, nach Möglichkeit zu vermeiden:

$ migrate-aws-cli --script upload_s3_files.sh --fix

Optional können Sie über den --output Parameter einen Ausgabepfad angeben, um das aktualisierte Skript zu schreiben, anstatt das Eingabeskript zu aktualisieren:

$ migrate-aws-cli --script upload_s3_files.sh --output upload_s3_files_v2.sh --fix

Interaktiver Modus

Im interaktiven Modus können Sie Befehle der AWS CLI-Version 1, die grundlegenden Änderungen unterliegen, automatisch erkennen. Die meisten Ergebnisse werden einen Lösungsvorschlag zur Behebung von Fehlern in AWS CLI-Version 2 zeigen. Sie können die vorgeschlagenen Korrekturen überprüfen und entscheiden, ob Sie sie anwenden möchten. Geben Sie optional über den --output Parameter einen Ausgabepfad an, um zu steuern, wohin das aktualisierte Skript geschrieben werden soll:

$ migrate-aws-cli --script upload_s3_files.sh --interactive \ --output upload_s3_files_v2.sh

Der folgende Ausgabesnippet ist ein Beispiel für eine Suche im interaktiven Modus:

14 14│ 15 15│ aws s3 ls s3://mybucket 16 16│ 17 │-aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive 17│+aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive --copy-props none 18 18│ 19 19│ TEMPLATE_KEY="cloudformation/$(basename "$TEMPLATE_FILE")" 20 20│ examples/upload_s3_files.sh:17 [s3-copy] In AWS CLI v2, object properties will be copied from the source in multipart copies between S3 buckets. If a copy is or becomes multipart after upgrading to AWS CLI v2, extra API calls will be made. See https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-s3-copy-metadata. Apply this fix? [y] yes, [n] no, [a] accept all of type, [r] reject all of type, [u] update all, [s] save and exit, [q] quit:

Der vorgeschlagene Fix wird in einem Format angezeigt, das einem Git-Diff ähnelt. Das Migrationstool schlägt vor, Zeilen zu entfernen, die mit a beginnen-, und schlägt vor, Zeilen hinzuzufügen, die mit a beginnen+. Im vorherigen Beispiel kann der Vorschlag so interpretiert werden, dass der --copy-props none Parameter dem AWS CLI-Befehl Version 1 hinzugefügt wird, der eine Amazon S3-Kopie ausführt.

Für jeden vorgeschlagenen Fix können Sie eine der folgenden Steuerelemente eingeben:

  • Geben Sie einy, um die vorgeschlagene Lösung zu akzeptieren.

  • Geben Sie einn, um den aktuellen Fix abzulehnen.

  • Geben Sie a die Eingabetaste ein, um alle Korrekturen desselben Typs zu akzeptieren.

  • Geben Sie einr, um alle Korrekturen desselben Typs abzulehnen.

  • Geben Sie einu, um alle verbleibenden Korrekturen zu akzeptieren.

  • Geben Sie eins, um zu speichern und zu beenden.

  • Geben Sie einq, um den Vorgang ohne Speichern zu beenden.

Einige Ergebnisse werden möglicherweise zur manuellen Überprüfung gemeldet, ohne dass eine Lösung vorgeschlagen wird. Sie sollten diese Ergebnisse überprüfen und überprüfen, ob Sie von den genannten grundlegenden Änderungen betroffen sind. Wenn Sie von diesen Ergebnissen betroffen sind, sollten Sie die Anweisungen in der Beschreibung der Ergebnisse befolgen, um die notwendigen Änderungen vorzunehmen, um die in AWS CLI-Version 2 eingeführten grundlegenden Änderungen zu vermeiden oder sich darauf vorzubereiten.

Einschränkungen

Das AWS CLI v1-to-v2-Migrationstool unterstützt derzeit nicht alle wichtigen Änderungen, die mit AWS CLI-Version 2 eingeführt wurden, und es gibt falsch positive Fälle, in denen es Erkennungen für Befehle ausgibt, auch wenn tatsächlich keine grundlegenden Änderungen vorgenommen würden.

Wir empfehlen unseren Kunden dringend, das in veröffentlichte Dokument zu verstehen. Wichtigste Änderungen zwischen AWS CLI Version 1 und AWS CLI Version 2 Neue Funktionen und Änderungen in der AWS CLI Version 2

Textbasierte Analyse

Das Migrationstool analysiert Ihr Skript, ohne es auszuführen. Dies schränkt die Erkennung von AWS CLI-Befehlen für fehlerhafte Änderungen ein. Das Migrationstool kann nur den Text eines AWS CLI-Befehls untersuchen. Es kann keine Probleme erkennen, die zur Laufzeit auftreten, z. B. das Speichern veralteter Parameter in einer Variablen, anstatt sie direkt an die AWS CLI zu übergeben.

Die Erkennung bahnbrechender Änderungen wird nicht unterstützt

Der Umfang der Unterstützung für wichtige Änderungen im Migrationstool ist in der folgenden Tabelle zusammengefasst.