aws command line interface - benutzerhandbuch · aws command line interface benutzerhandbuch Über...

202
AWS Command Line Interface Benutzerhandbuch

Upload: others

Post on 05-Aug-2020

32 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line InterfaceBenutzerhandbuch

Page 2: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

AWS Command Line Interface: BenutzerhandbuchCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

Table of ContentsWas ist das AWS CLI? ....................................................................................................................... 1

AWS CLI Ausführungen ............................................................................................................... 1Wartung und Support .................................................................................................................. 1Zusätzliche Dokumentation und Ressourcen ................................................................................... 2Verwenden der Beispiele ............................................................................................................. 2Über Amazon Web Services ........................................................................................................ 3

Installieren von AWS CLI ..................................................................................................................... 4AWS CLI Version 2 .................................................................................................................... 4AWS CLI Version 1 .................................................................................................................... 4Migrieren von Version 1 zu Version 2 ............................................................................................ 4Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 ................................................... 4

Docker .............................................................................................................................. 5Linux ................................................................................................................................ 8macOS ............................................................................................................................ 17Windows .......................................................................................................................... 22Zusätzliche Dokumentation und Ressourcen ......................................................................... 23

Installieren von AWS CLI Version 1 ............................................................................................. 24Zusätzliche Dokumentation und Ressourcen ......................................................................... 24Amazon Linux .................................................................................................................. 24(Linux) ............................................................................................................................. 26macOS ............................................................................................................................ 32Windows: ......................................................................................................................... 37Virtualenv ........................................................................................................................ 41Verwenden der AWS CLI Version 1 mit früheren Versionen von Python ..................................... 42

Konfigurieren des AWS CLI ................................................................................................................ 44Konfigurationsgrundlagen ........................................................................................................... 44

Schnellkonfiguration mit aws configure ............................................................................ 45Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel ............................................................... 45Region ............................................................................................................................ 46Ausgabeformat ................................................................................................................. 46Profiles ............................................................................................................................ 47Konfigurationseinstellungen und Vorrang .............................................................................. 47

Einstellungen der Konfigurations- und Anmeldeinformationsdatei ...................................................... 48Wo werden Konfigurationseinstellungen gespeichert? ............................................................. 48Festlegen und Anzeigen von Konfigurationseinstellungen ........................................................ 49Unterstützte Einstellungen in der config-Datei ..................................................................... 51

Benannte Profile ....................................................................................................................... 61Verwenden von Profilen mit der AWS CLI ............................................................................ 62

Konfigurieren der AWS CLI für die Verwendung von AWS – Einmaliges Anmelden .............................. 63Konfigurieren eines benannten Profils für die Verwendung von AWS SSO .................................. 63Verwenden eines AWS SSO-aktivierten benannten Profils ....................................................... 66

Umgebungsvariablen ................................................................................................................. 68Festlegen von Umgebungsvariablen .................................................................................... 69Von AWS CLI unterstützte Umgebungsvariablen .................................................................... 70

Befehlszeilenoptionen ................................................................................................................ 72Vervollständigung von Befehlen .................................................................................................. 75

Funktionsweise ................................................................................................................. 75Konfigurieren der Befehlsvervollständigung ........................................................................... 76

Wiederholversuche .................................................................................................................... 78Verfügbare Wiederholungsmodi ........................................................................................... 79Konfigurieren eines Wiederholungsmodus ............................................................................. 80Anzeigen von Protokollen von Wiederholungsversuchen ......................................................... 81

Beschaffung von Anmeldeinformationen über einen externen Prozess ............................................... 82Abrufen von Anmeldeinformationen aus EC2-Instance-Metadaten ..................................................... 84

iii

Page 4: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

Verwenden eines HTTP-Proxys ................................................................................................... 84Authentifizieren bei einem Proxy ......................................................................................... 85Verwenden von Proxys auf Amazon EC2-Instances ............................................................... 85

Verwendung eines IAM Rolle im AWS CLI .................................................................................... 86Konfigurieren und Verwenden einer Rolle ............................................................................. 87Verwenden von MFA ......................................................................................................... 88Kontenübergreifende Rollen und externe ID .......................................................................... 89Angeben eines Rollensitzungsnamens für eine einfachere Prüfung ........................................... 90Übernehmen einer Rolle mit Web-Identität ............................................................................ 90Anmeldeinformationen aus dem Cache löschen ..................................................................... 91

Verwenden des sAWS CLI ................................................................................................................. 92Abrufen von Hilfe ...................................................................................................................... 92

AWS CLI-Dokumentation .................................................................................................... 95API-Dokumentation ............................................................................................................ 96

Befehlsstruktur .......................................................................................................................... 96Befehlsstruktur .................................................................................................................. 96Wartebefehle .................................................................................................................... 97

Angeben von Parameterwerten ................................................................................................... 98Allgemeine -Parametertypen ............................................................................................... 98Setzen von Anführungszeichen für Zeichenfolgen ................................................................. 100Eingabeaufforderung zur Eingabe von Parametern ............................................................... 101Parameter aus Dateien .................................................................................................... 103Generieren einer CLI-Skeleton-Vorlage ............................................................................... 105Syntax-Kurznotation ......................................................................................................... 113

Steuern der Befehlsausgabe ..................................................................................................... 114Auswählen des Ausgabeformats ........................................................................................ 115JSON-Ausgabeformat ...................................................................................................... 116YAML-Ausgabeformat ...................................................................................................... 116Ausgabeformat für YAML-Stream ....................................................................................... 117Textausgabeformat .......................................................................................................... 118Tabellenausgabeformat .................................................................................................... 121Filtern der Ausgabe mit der Option --query ...................................................................... 122So legen Sie das Standard-Pager-Programm der Ausgabe fest .............................................. 127

Paginierung ............................................................................................................................ 128Serverseitige Paginierung ................................................................................................. 128Clientseitiger Pager ......................................................................................................... 130

Rückgabecodes ...................................................................................................................... 132Verwendung der AWS CLI mit AWS Dienstleistungen ........................................................................... 134

DynamoDB ............................................................................................................................. 134Amazon EC2 .......................................................................................................................... 136

Amazon EC2-Schlüsselpaare ............................................................................................ 136Amazon EC2-Sicherheitsgruppen ....................................................................................... 138EC2-Instances ................................................................................................................ 143

S3 Glacier .............................................................................................................................. 148Erstellen eines Amazon S3 Glacier-Tresors ......................................................................... 149Vorbereiten einer Datei zum Hochladen .............................................................................. 149Starten eines mehrteiligen Uploads und Hochladen der Dateien ............................................. 150Abschließen des Uploads ................................................................................................. 151

IAM ....................................................................................................................................... 152Erstellen von IAM-Benutzern und -Gruppen ......................................................................... 153Anbringen eines IAM Richtlinie zu einem IAM Benutzer ......................................................... 154Festlegen eines Anfangspassworts für einen IAM-Benutzer .................................................... 155Erstellen eines Zugriffsschlüssels für einen IAM-Benutzer ...................................................... 155

Amazon S3 ............................................................................................................................ 156Hoch (s3) rèèmééctóò ..................................................................................................... 156API-Level-Befehle (s3 api) ................................................................................................ 165

Amazon SNS .......................................................................................................................... 166

iv

Page 5: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

Erstellen eines Themas .................................................................................................... 166Abonnieren eines Themas ................................................................................................ 166Veröffentlichung für ein Thema .......................................................................................... 167Abbestellen eines Themas ................................................................................................ 167Löschen eines Themas .................................................................................................... 168

Amazon SWF ......................................................................................................................... 168Liste der Amazon SWF-Befehle ......................................................................................... 168Arbeiten mit Amazon SWF-Domänen ................................................................................. 171

Sicherheit ....................................................................................................................................... 174Datenschutz ........................................................................................................................... 174

Datenverschlüsselung ...................................................................................................... 175Identitäts- und Zugriffsverwaltung ............................................................................................... 175Compliance-Validierung ............................................................................................................ 176Erzwingen von TLS 1.2 ............................................................................................................ 176

Konfigurieren der AWS CLI Version 1 zum Erzwingen einer Mindestversion von TLS 1.2 ............. 177Konfigurieren der AWS CLI Version 2 zum Erzwingen einer Mindestversion von TLS 1.2 ............. 179

Fehler der Fehlersuche .................................................................................................................... 180Fehler verursachende Änderungen der Migration ................................................................................. 188

Umgebungsvariable für Dateikodierung ....................................................................................... 188Übergeben von Binärparametern ............................................................................................... 189Verbessert Amazon S3 Eigentum und Tag-Handling während s3 copy Operationen ......................... 189Kein automatisches Abrufen von Webseiten für Parameter ............................................................ 190Ausgabeauslagerung ............................................................................................................... 190Alle Datums-/Uhrzeitwerte im ISO 8601-Format ........................................................................... 191Verbesserte Handhabung der AWS CloudFormation-Bereitstellung .................................................. 192Konsistente Amazon S3-Schlüssel und -Pfade ............................................................................. 192Amazon S3 und Region us-east-1 ............................................................................................. 192AWS STS und regionale Endpunkte ........................................................................................... 192als veraltet kennzeichnenecr get-login ................................................................................ 193Ändern der Unterstützung für [plugins] .................................................................................. 193Keine versteckten Aliase .......................................................................................................... 194

Dokumentverlauf ............................................................................................................................. 195.................................................................................................................................................. cxcvii

v

Page 6: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAWS CLI Ausführungen

Was ist AWS Command LineInterface?

Die AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie über Befehle in IhrerBefehlszeilen-Shell mit den AWS-Services interagieren können. Bei minimaler Konfiguration wird die AWSCLI ermöglicht Ihnen, die Ausführung von Befehlen zu starten, die Funktionen implementieren, die denenentsprechen, die von der browserbasierten AWS Management Console über die Eingabeaufforderung inIhrem Terminalprogramm:

• Linux-Shells – Verwenden Sie häufig genutzte Shell-Programme, wie z. B. bash, zsh und tcsh, umBefehle in Linux oder macOS auszuführen.

• Windows-Befehlszeile – Führen Sie unter Windows Befehle in der Windows-Eingabeaufforderung oder inPowerShell.

• Ferngesteuert – Ausführen von Befehlen auf Amazon Elastic Compute Cloud (Amazon EC2-Instancesüber ein Remote-Terminalprogramm wie PuTTY oder SSH oder mit AWS Systems Manager.

Alle (alle) IaaS (Infrastruktur als Dienstleistung) AWS Verwaltungs-, Verwaltungs- und Zugriffsfunktionen imAWS Management Console sind in der AWS API und CLI. Neu AWS IaaS Funktionen und Services bietenvollständige AWS Management Console -Funktionalität über die API und CLI beim Start oder innerhalb von180 Tagen nach dem Start.

Die Schaltfläche AWS CLI bietet direkten Zugang zur Öffentlichkeit APIs von AWS Dienstleistungen.Informieren Sie sich mithilfe der AWS CLI über die Funktionalität eines Service und entwickeln Sie Shell-Scripts, um Ihre Ressourcen zu verwalten. Zusätzlich zu den API-ähnlichen Befehlen auf niedriger Ebenestellen viele AWS-Services auch Anpassungen für die AWS CLI bereit. Anpassungen können Befehle aufeiner höheren Ebene enthalten, die die Verwendung eines Services durch eine komplexe API vereinfachen.

AWS CLI AusführungenDie AWS CLI ist in zwei Versionen verfügbar, und die Informationen in diesem Handbuch gelten für beideVersionen, sofern nicht anders angegeben.

• Version 2.x – Die aktuelle, allgemein verfügbare Version der AWS CLI, die für den Einsatzin Produktionsumgebungen bestimmt ist. Diese Version enthält gegenüber Version 1 einige„bahnbrechende“ Änderungen, die möglicherweise eine Änderung Ihrer Skripts erfordern, damit sieweiterhin wie erwartet funktionieren. Eine Liste der neuen Funktionen und Änderungen in Version 2finden Sie unter Änderungen abbrechen – Migration von AWS CLI Version 1 zu Version 2 (p. 188).

• Version 1.x – Die vorherige Version der AWS CLI, die zwecks Abwärtskompatibilität verfügbar ist.

Wartung und SupportWeitere Informationen zur Wartung und Unterstützung dieses AWS-Produkts finden Sie unter. Wartungund Support in der AWS (AWS (A SDKs Referenzhandbuch zu gemeinsam genutzten Konfigurationen undAnmeldeinformationen.

1

Page 7: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchZusätzliche Dokumentation und Ressourcen

Zusätzliche Dokumentation und RessourcenZusätzlich zu diesem Handbuch stehen folgende wertvolle Online-Ressourcen für die AWS CLI zurVerfügung:

• AWS CLI Version 1 Referenzhandbuch• AWS CLI Version 2 Referenzhandbuch• AWS CLI GitHub Aufbewahrungsort Sie können sich—und Gabel—den Quellcode für die AWS CLI auf

dem Bildschirm GitHub in der aws-cli-Repository. Treten Sie der Community von Benutzern bei GitHubum Feedback zu geben, Funktionen anzufordern und Ihre eigenen Beiträge einzureichen!

• AWS CLI Version 1 Änderungshinweise• AWS CLI Version 2 Änderungshinweise

AWS SDKsAbhängig von Ihrem Anwendungsfall können Sie eine der AWS- SDKs oder die AWS-Tools für PowerShell:

• AWS-Tools für PowerShell• AWS SDK for Java• AWS SDK für .NET• AWS SDK for JavaScript• AWS SDK für Ruby• AWS SDK for Python (Boto)• AWS SDK für PHP• AWS SDK for Go• AWS Mobile SDK for iOS• AWS SDK für Mobilgeräte für Android

Verwenden der BeispieleZur Formatierung der Beispiele in diesem Handbuch werden die folgenden Konventionen verwendet:

• Eingabeaufforderung – Die Eingabeaufforderung wird als ($ ) angezeigt. Für Windows-spezifischeBefehle wird C:\> als Eingabeaufforderung verwendet. Lassen Sie das Eingabeaufforderungssymbolweg, wenn Sie Befehle eingeben.

• Verzeichnis – Wenn Befehle in einem bestimmten Verzeichnis ausgeführt werden müssen, steht derName des Verzeichnisses vor dem Eingabeaufforderungssymbol.

• Benutzereingabe – Befehlstext, den Sie in der Befehlszeile eingeben, ist als user input formatiert.• Austauschbarer Text – Variablentext, einschließlich der Namen von Ressourcen, die Sie auswählen,

oder IDs generiert von AWS -Services, die Sie in -Befehle einschließen müssen, ist formatiert alsreplaceable text. (z. B.. Bei mehrzeiligen Befehlen oder Befehlen, bei denen eine bestimmteTastatureingabe erforderlich ist, können Tastaturbefehle auch als austauschbarer Text angezeigtwerden.

• Ausgabe – Ausgaben, die von AWS-Services zurückgeben werden, werden unter den Benutzereingabenangezeigt und als computer output formatiert.

Der folgende Befehl umfasst zum Beispiel Benutzereingaben, ersetzbaren Text und Ausgaben. ZumVerwenden dieses Beispiels geben Sie aws configure in die Befehlszeile ein und betätigen Sie dann

2

Page 8: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchÜber Amazon Web Services

die Eingabetaste. Die AWS CLI gibt Textzeilen aus, in denen Sie zur Eingabe zusätzlicher Informationenaufgefordert werden. Geben Sie Ihre entsprechenden Zugriffsschlüssel der Reihe nach ein und drücken Siedann die Eingabetaste. Geben Sie dann eine AWS-Region im dargestellten Format ein und drücken Sie dieEingabetaste. Überspringen Sie dann die Einstellung für die Ausgabeformatierung, indem Sie ein letztesMal die Eingabetaste drücken. wobei der Befehl Enter in diesem Fall als ersetzbarer Text dargestellt wird,da es für diese Zeile keine Benutzereingabe gibt.

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: ENTER

Das folgende Beispiel zeigt einen einfachen Befehl mit Ausgabe. Zum Verwenden dieses Beispiels gebenSie den vollständigen Befehlstext (den markierten Text nach der Eingabeaufforderung) ein und drückenSie dann die Eingabetaste. Der Name der Sicherheitsgruppe, Meine-Sg, kann durch den Namen dergewünschten Sicherheitsgruppe ersetzt werden. Das JSON-Dokument, einschließlich der geschweiftenKlammern, ist die Ausgabe. Wenn Sie die CLI für eine Ausgabe im Text- oder Tabellenformat konfigurieren,wird die Ausgabe dementsprechend anders formatiert. JSON ist das Standardausgabeformat.

$ aws ec2 create-security-group --group-name my-sg --description "My security group"{ "GroupId": "sg-903004f8"}

Note

Argumente, die ersetzt werden müssen (z. B. AWS Access Key ID), und die, die ersetzt werdensollten (z. B. group name), werden beide als replaceable text in italics. (z. B.. Wenn einArgument ersetzt werden muss, wird es im Text vermerkt, der das Beispiel beschreibt.

Über Amazon Web ServicesAmazon Web Services (AWS) ist eine Sammlung von digitalen Infrastruktur-Services, die Entwickler beider Anwendungsentwicklung nutzen können. Die Services umfassen Computing, Speicher, Datenbankund Anwendungssynchronisation (Messaging und Queuing). AWS verwendet ein Servicemodellmit nutzungsabhängiger Bezahlung. Berechnet werden Ihnen nur die Services, die Sie—bzw. IhreAnwendungen—nutzen. Um AWS als Plattform für Prototyping und Tests besser zugänglich zu machen,bietet AWS darüber hinaus ein kostenloses Nutzungskontingent. Im Rahmen dieses Kontingents sind dieServices bis zu einem bestimmten Nutzungsumfang kostenlos. Weitere Informationen zu den Kosten vonAWS sowie zum kostenlosen Kontingent finden Sie unter Test-Driving AWS in the Free Usage Tier. Um einAWS-Konto zu erhalten, rufen Sie die AWS-Homepage auf und klicken auf Sign Up (Registrieren).

3

Page 9: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAWS CLI Version 2

Installieren von AWS CLIDie AWS Command Line Interface ( ( (AWS CLI) ist in zwei Versionen verfügbar.

Um zu prüfen, welche Version Sie installiert haben, führen Sie das aws --version. Der zurückgegebeneWert enthält die aktuelle Version, die Sie installiert haben. Das folgende Beispiel zeigt, dass die Versionläuft 2.0.47.

$ aws --versionaws-cli/2.0.47 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0

AWS CLI Version 2Die AWS CLI Version 2 ist die neueste Version des AWS CLI und unterstützt alle neuesten Funktionen.Einige Funktionen, die in Version 2 vorgestellt wurden, werden nicht auf Version 1 zurückgesetzt und Siemüssen aktualisieren, um auf diese Funktionen zuzugreifen.

Die AWS CLI Version 2 kann nur als gebündeltes Installationsprogramm installiert werden. Obwohl Sie esin einigen Paketmanagern finden, werden diese nicht von AWS, und sind daher keine offiziellen Paketeund werden nicht unterstützt von AWS. Wir empfehlen Ihnen, das AWS CLI nur vom offiziellen AWSDistributionspunkte, wie in diesem Handbuch dokumentiert.

Weitere Informationen finden Sie im Installieren, Aktualisieren und Deinstallieren der AWS CLI Version2 (p. 4).

AWS CLI Version 1Die AWS CLI Version 1 ist das Original AWS CLI, und wir unterstützen sie weiterhin. Die wichtigsten neuenFunktionen, die in der AWS CLI Version 2 möglicherweise nicht auf die AWS CLI Version 1. Um dieseFunktionen zu verwenden, müssen Sie die installieren.AWS CLI Version 2.

Weitere Informationen finden Sie im Installieren von AWS CLI Version 1 (p. 24).

Migrieren von der AWS CLI Version 1 auf Version 2Wenn Sie Befehle oder Skripts mit dem AWS CLI Version 1 und erwägen, die Migration zum AWS CLIVersion 2, siehe Änderungen abbrechen – Migration von AWS CLI Version 1 zu Version 2 (p. 188) füreine Beschreibung der Änderungen, die von zu beachten sind.

Installieren, Aktualisieren und Deinstallieren derAWS CLI Version 2

Dieser Abschnitt enthält Links zu Informationen zur Installation, Aktualisierung und Deinstallation vonVersion 2 der AWS Command Line Interface (AWS CLI) auf den unterstützten Betriebssystemen.Weitere Informationen zu den neuesten Versionen von AWS CLI Version 2, siehe die AWS CLI Version 2Änderungshinweise auf dem Bildschirm GitHub.

Informationen zur Installation der AWS CLI Version 1 finden Sie unter Installieren von AWS CLI Version1 (p. 24).

4

Page 10: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDocker

Themen• Verwenden des offiziellen AWS CLI Version 2-Docker-Image (p. 5)• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 unter Linux (p. 8)• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 auf dem Bildschirm

macOS (p. 17)• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 unter Windows (p. 22)• Zusätzliche Dokumentation und Ressourcen (p. 23)

Verwenden des offiziellen AWS CLI Version 2-Docker-ImageIn diesem Thema wird beschrieben, wie Sie die AWS CLI Version 2 in Docker ausführen, konfigurierenund die Version kontrollieren. Weitere Informationen zur Verwendung von Docker finden Sie in derDokumentation von Docker.

Offizielle Docker-Images bieten Isolation, Portabilität und Sicherheit, die AWS direkt unterstützt undverwaltet. Auf diese Weise können Sie die AWS CLI Version 2 in einer containerbasierten Umgebungverwenden, ohne die Installation selbst verwalten zu müssen.

Note

Die AWS CLI Version 2 ist das einzige Tool, das auf dem offiziellen AWS-Docker-Imageunterstützt wird.

Themen• Prerequisites (p. 5)• Ausführen des offiziellen AWS CLI Version 2-Docker-Image (p. 5)• Verwenden bestimmter Versionen und Tags (p. 6)• Aktualisieren auf das neueste Docker-Image (p. 6)• Freigeben von Hostdateien, Anmeldeinformationen und Konfiguration (p. 7)• Verkürzen des Docker-Befehls (p. 8)

PrerequisitesSie müssen Docker installiert haben. Installationsanweisungen finden Sie auf der Docker-Website.

Um Ihre Installation von Docker zu überprüfen, führen Sie den folgenden Befehl aus und stellen Sie sicher,dass eine Ausgabe vorhanden ist.

$ docker --versionDocker version 19.03.1

Ausführen des offiziellen AWS CLI Version 2-Docker-ImageDas offizielle AWS CLI Version 2-Docker-Image wird auf DockerHub im amazon/aws-cli-Repositorygehostet. Wenn Sie den docker run-Befehl zum ersten Mal verwenden, wird das neueste Docker-Imageauf Ihren Computer heruntergeladen. Jede nachfolgende Verwendung des docker run-Befehls wird vonIhrer lokalen Kopie ausgeführt.

Verwenden Sie den docker run-Befehl, um das AWS CLI Version 2-Docker-Image auszuführen.

$ docker run --rm -it amazon/aws-cli command

5

Page 11: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDocker

So funktioniert der Befehl:

• docker run --rm --it amazon/aws-cli – Das Äquivalent zur aws ausführbaren Datei. JedesMal, wenn Sie diesen Befehl ausführen, erstellt Docker einen Container Ihres heruntergeladenenamazon/aws-cli-Abbilds und führt Ihren aws-Befehl aus. Standardmäßig verwendet das Docker-Image die neueste Version von AWS CLI Version 2.

Um beispielsweise den aws --version-Befehl in Docker aufzurufen, führen Sie Folgendes aus.

$ docker run --rm -it amazon/aws-cli --versionaws-cli/2.0.47 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10

• --rm – gibt an, dass der Container nach dem Beenden des Befehls bereinigt wird.• -it – Gibt an, ein Pseudo-TTY mit zu öffnen stdin. (z. B.. Auf diese Weise können Sie Eingaben für

die AWS CLI Version 2 während es in einem Container ausgeführt wird, z. B. durch Verwendung der awsconfigure und aws help Befehle.

Weitere Informationen zum docker run-Befehl finden Sie im Docker-Referenzhandbuch.

Verwenden bestimmter Versionen und TagsDas offizielle AWS CLI Version 2-Docker-Image beinhaltet mehrere Versionen, die Sie verwenden können,beginnend mit Version 2.0.6. Wenn Sie eine bestimmte Version der AWS CLI Version 2 ausführenmöchten, fügen Sie das entsprechende Tag an Ihren docker run-Befehl an. Wenn Sie den docker run-Befehl zum ersten Mal mit einem Tag verwenden, wird das neueste Docker-Image für dieses Tag auf IhrenComputer heruntergeladen. Jede nachfolgende Verwendung des docker run-Befehls mit diesem Tagwird von Ihrer lokalen Kopie ausgeführt.

Sie können zwei Arten von Tags verwenden:

• latest – Definiert die neueste Version der AWS CLI Version 2 für das Docker-Image. Wir empfehlenIhnen, das latest Tag zu verwenden, wenn Sie die neueste Version von AWS CLI Version 2verwenden möchten. Es gibt jedoch keine Rückwärtskompatibilitätsgarantien, wenn Sie sich auf diesesTag gebrauchen. Das latest Tag wird standardmäßig im docker run-Befehl verwendet. Um daslatest Tag explizit zu verwenden, fügen Sie das Tag an den Containerabbildnamen an.

$ docker run --rm -it amazon/aws-cli:latest command

• <major.minor.patch> – Definiert eine bestimmte Version der AWS CLI Version 2 für dasDocker-Image. Wenn Sie das Docker-Image in der Produktion verwenden möchten, empfehlen wirIhnen, eine bestimmte Version der AWS CLI Version 2 zu verwenden, um die Abwärtskompatibilitätsicherzustellen. Wenn Sie beispielsweise Version 2.0.6 ausführen möchten, fügen Sie die Version an denContainerabbildnamen an.

$ docker run --rm -it amazon/aws-cli:2.0.6 command

Aktualisieren auf das neueste Docker-ImageDa das neueste Docker-Image nur bei der ersten Verwendung des docker run-Befehls auf IhrenComputer heruntergeladen wird, müssen Sie ein aktualisiertes Abbild manuell abrufen. Um manuell aufdie neueste Version zu aktualisieren, empfehlen wir Ihnen, das mit latest markierte Abbild zu beziehen.Wenn Sie das Docker-Image abrufen, wird die neueste Version auf Ihren Computer heruntergeladen.

$ docker pull amazon/aws-cli:latest

6

Page 12: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDocker

Freigeben von Hostdateien, Anmeldeinformationen undKonfigurationDa die AWS CLI Version 2 in einem Container ausgeführt wird, kann die CLI standardmäßig nicht auf dasHost-Dateisystem zugreifen, welches Konfiguration und Anmeldeinformationen enthält. Wenn Sie dasHost-Dateisystem, die Anmeldeinformationen und die Konfiguration für den Container freigeben möchten,mounten Sie das ~/.aws-Verzeichnis des Hostsystems in den Container unter /root/.aws mit dem anden docker run-Befehl angehängten -v-Flag. Dies ermöglicht es der im Container ausgeführten AWSCLI Version 2, Hostdateiinformationen zu finden.

$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli command

Weitere Informationen zum -v-Flag und Mounting finden Sie im Docker-Referenzhandbuch.

Beispiel 1 Bereitstellen von Anmeldeinformationen und KonfigurationIn diesem Beispiel stellen wir Host-Anmeldeinformationen und -konfiguration durch Ausführung des s3 ls-Befehls bereit, um Ihre Buckets in der Amazon Simple Storage Service (Amazon S3) aufzulisten.

$ docker run --rm -ti -v ~/.aws:/root/.aws amazon/aws-cli s3 ls2020-03-25 00:30:48 aws-cli-docker-demo

Beispiel 2 Herunterladen eines Amazon S3 Datei auf Ihr HostsystemBei einigen Befehlen bei der AWS CLI-Version 2 können Sie Dateien aus dem Hostsystem im Containerlesen oder Dateien aus dem Container in das Hostsystem schreiben.

In diesem Beispiel laden wir das S3-Objekt s3://aws-cli-docker-demo/hello in Ihr lokalesDateisystem herunter, indem wir das aktuelle Arbeitsverzeichnis in das /aws-Verzeichnis des Containersmounten. Durch das Herunterladen des hello-Objekts in das /aws-Verzeichnis des Containers wird dieDatei auch im aktuellen Arbeitsverzeichnis des Hostsystems gespeichert.

Linux and macOS

$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .download: s3://aws-cli-docker-demo/hello to ./hello

Windows

$ docker run --rm -it -v %cd%.aws:/root/.aws -v %cd%:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .download: s3://aws-cli-docker-demo/hello to ./hello

Führen Sie Folgendes aus, um sicherzustellen, dass die heruntergeladene Datei im lokalen Dateisystemvorhanden ist.

Linux and macOS

$ cat helloHello from Docker!

Windows

$ type hello

7

Page 13: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

Hello from Docker!

Verkürzen des Docker-BefehlsUm den Docker-aws-Befehl zu verkürzen, empfehlen wir Ihnen, die Funktion Ihres Betriebssystems,umeinen symbolic link (symlink) oder alias unter Linux und macOS oder doskey unter Windows zuerstellen. Um den aws-Alias festzulegen, können Sie einen der folgenden Befehle ausführen.

• Für einfachen Zugriff auf aws-Befehle führen Sie Folgendes aus.Linux and macOS

$ alias aws='docker run --rm -it amazon/aws-cli'

Windows

C:\> doskey aws=docker run --rm -it amazon/aws-cli $*

• Für den Zugriff auf das Host-Dateisystem und die Konfigurationseinstellungen bei Verwendung von aws-Befehlen führen Sie Folgendes aus.Linux and macOS

$ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'

Windows

C:\> doskey aws=docker run --rm -it -v ~/.aws:/root/.aws -v %cd%:/aws amazon/aws-cli $*

• Wenn Sie eine bestimmte Version zuweisen möchten, die in Ihrem aws-Alias verwendet werden soll,fügen Sie Ihr Versionstag an.Linux and macOS

$ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli:2.0.6'

Windows

C:\> doskey aws=docker run --rm -it -v ~/.aws:/root/.aws -v %cd%:/aws amazon/aws-cli:2.0.6 $*

Nachdem Sie Ihren Alias festgelegt haben, können Sie die AWS CLI Version 2 so in einem Docker-Container ausführen, als ob sie auf Ihrem Hostsystem installiert wäre.

$ aws --versionaws-cli/2.0.47 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10

Installieren, Aktualisieren und Deinstallieren der AWSCLI Version 2 unter LinuxIn diesem Abschnitt wird beschrieben, wie Sie die AWS CLI Version 2 unter Linux installieren, aktualisierenund entfernen. Die AWS CLI Version 2 weist keine Abhängigkeiten zu anderen Python-Paketen auf. Sie

8

Page 14: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

verfügt über eine in sich geschlossene, eingebettete Kopie von Python, die im Installationsprogrammenthalten ist.

Important

Die AWS CLI-Versionen 1 und 2 verwenden denselben aws-Befehlsnamen. Wenn beideVersionen installiert sind, verwendet der Computer die erste im Suchpfad gefundene Version.Wenn Sie zuvor AWS CLI Version 1 installiert haben, empfehlen wir, zur Verwendung von AWSCLI Version 2 einen der folgenden Schritte auszuführen:

• Empfohlen – deinstallieren Sie AWS CLI Version 1 und verwenden Sie nur AWS CLI Version2. Im Fall von Deinstallationsanweisungen ermitteln Sie die Methode, mit der Sie AWS CLIVersion 1 installiert haben, und befolgen die entsprechenden Deinstallationsanweisungen für IhrBetriebssystem unter Installieren von AWS CLI Version 1 (p. 24).

• Verwenden Sie die Möglichkeit Ihres Betriebssystems, einen symbolischen Link (Symlink)oder einen Alias mit einem anderen Namen für einen der beiden aws-Befehle zu erstellen.Beispielsweise können Sie unter Linux und macOS einen symbolischen Link oder Alias bzw.unter Windows DOSKEY verwenden.

Themen• Voraussetzungen für Linux (p. 9)• Installieren des AWS CLI Version 2s unter Linux (p. 9)• Aktualisieren der AWS CLI Version 2 unter Linux (p. 12)• Deinstallieren der AWS CLI Version 2 unter Linux (p. 14)• Überprüfen der Integrität und Authentizität der heruntergeladenen Installationsdateien (p. 15)

Voraussetzungen für Linux• Sie müssen das heruntergeladene Paket extrahieren oder „entpacken“ können. Wenn Ihr Betriebssystem

nicht über den integrierten unzip-Befehl verfügt, verwenden Sie ein Äquivalent.• Die Schaltfläche AWS CLI Version 2 Verwendungen glibc, , und Sie haben die Möglichkeit groff, undless. (z. B.. Diese sind standardmäßig in den meisten Hauptverteilungen von Linux enthalten.

• Wir unterstützen die AWS CLI Version 2 auf 64-Bit-Versionen der letzten Verteilungen von CentOS,Fedora, Ubuntu, Amazon Linux 1 und Amazon Linux 2 beschrieben.

• Wir unterstützen die AWS CLI Version 2 auf Linux ARM.• Da AWS keine Repositorys von Drittanbietern verwaltet, können wir nicht garantieren, dass sie die

neueste Version von AWS CLI enthalten.

Installieren des AWS CLI Version 2s unter LinuxFühren Sie die folgenden Schritte über die Befehlszeile aus, um die AWS CLI unter Linux zu installieren.

Wir stellen die Schritte in einer einfach zu kopierenden und einzufügenden Gruppe zur Verfügung, jenachdem, ob Sie 64-Bit-Linux oder Linux ARM verwenden. Lesen Sie die Beschreibungen der einzelnenZeilen in den folgenden Schritten.

Linux x86 (64-bit)

Für die neueste Version der AWS CLI, verwenden Sie den folgenden Befehlsblock:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install

9

Page 15: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummer anden Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es, awscli-exe-linux-x86_64-2.0.30.zip was zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

Linux ARM

Für die neueste Version der AWS CLI, , und Sie haben die Möglichkeit verwenden Sie den folgendenBefehlsblock:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install

Für eine bestimmte Version der AWS CLI, , und Sie haben die Möglichkeit fügen Sie einen Bindestrichund die Versionsnummer an den Dateinamen an. Für dieses Beispiel der Dateiname für Version2.0.30 wäre es, awscli-exe-linux-aarch64-2.0.30.zip was zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

1. Laden Sie die Installationsdatei auf eine der folgenden Arten herunter:

• Verwenden des curl-Befehls: In diesem Beispiel gibt die -o-Option den Dateinamen an, in dendas heruntergeladene Paket geschrieben wird. Aufgrund der Optionen im folgenden Beispielbefehlwird die heruntergeladene Datei in das aktuelle Verzeichnis mit dem lokalen Namen awscliv2.zipgeschrieben.Linux x86 (64-bit)

Für die aktuelle Version des AWS CLI, verwenden Sie den folgenden Befehl:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es,awscli-exe-linux-x86_64-2.0.30.zip was zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf demBildschirm GitHub.

10

Page 16: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

Linux ARM

Für die aktuelle Version des AWS CLI, verwenden Sie den folgenden Befehl:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es,awscli-exe-linux-aarch64-2.0.30.zip was zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf demBildschirm GitHub.

• Herunterladen von der URL – Um das Installationsprogramm mit Ihrem Browser herunterzuladen,verwenden Sie eine der folgenden URLs. (z. B.. Sie können die Integrität und AuthentizitätIhrer heruntergeladenen Installationsdatei überprüfen, bevor Sie das Paket extrahieren(entpacken). Weitere Informationen finden Sie unter Überprüfen der Integrität und Authentizität derheruntergeladenen Installationsdateien (p. 15).Linux x86 (64-bit)

Für die neueste Version der AWS CLI: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wärees, awscli-exe-linux-x86_64-2.0.30.zip was zu folgender URL führt: https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf demBildschirm GitHub.

Linux ARM

Für die neueste Version der AWS CLI: https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip

Für eine bestimmte Version der AWS CLI, , und Sie haben die Möglichkeit fügen Sie einenBindestrich und die Versionsnummer an den Dateinamen an. Für dieses Beispiel der Dateinamefür Version 2.0.30 wäre es, awscli-exe-linux-aarch64-2.0.30.zip was zu folgenderURL führt: https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf demBildschirm GitHub.

2. Entpacken Sie das Installationsprogramm. Wenn Ihre Linux-Distribution keinen integrierten unzip-Befehl aufweist, verwenden Sie ein Äquivalent, um es zu entpacken. Der folgende Beispielbefehlentpackt das Paket und erstellt ein Verzeichnis mit dem Namen aws im aktuellen Verzeichnis.

$ unzip awscliv2.zip

3. Führen Sie das Installationsprogramm aus. Der Installationsbefehl verwendet eine Datei namensinstall im neu entpackten aws-Verzeichnis. Standardmäßig sind alle Dateien in installiert. /usr/local/aws-cli, und ein symbolischer Link wird erstellt in /usr/local/bin. (z. B.. Der Befehlenthält sudo um diesen Verzeichnissen Schreibberechtigungen zu erteilen.

11

Page 17: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

$ sudo ./aws/install

Sie können ohne sudo installieren, wenn Sie Ordner angeben, für die Sie bereits überSchreibberechtigungen verfügen. Verwenden Sie die folgenden Anweisungen für den install-Befehl, um den Installationsort anzugeben:

• Stellen Sie sicher, dass die Pfade, die Sie zu den Parametern -i und -b angeben, keine Volumen-oder Verzeichnisnamen mit Leerstellen oder Leerräumen enthalten. Wenn ein Leerzeichenvorhanden ist, schlägt die Installation fehl.

• --install-dir oder -i: Diese Option gibt das Verzeichnis an, in das alle Dateien kopiert werdensollen.

Der Standardwert ist /usr/local/aws-cli.• --bin-dir oder -b: Diese Option gibt an, dass das aws-Hauptprogramm im

Installationsverzeichnis symbolisch mit der Datei aws im angegebenen Pfad verknüpft ist. Siemüssen über Schreibberechtigungen für das angegebene Verzeichnis verfügen. Wenn Sie einenSymlink zu einem Verzeichnis erstellen, das sich bereits im Pfad befindet, ist es nicht notwendig, dasInstallationsverzeichnis der $PATH-Variablen des Benutzers hinzuzufügen.

Der Standardwert ist /usr/local/bin.

$ sudo ./aws/install -i /usr/local/aws-cli -b /usr/local/bin

4. Bestätigen Sie die Installation.

$ aws --versionaws-cli/2.0.47 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0

Aktualisieren der AWS CLI Version 2 unter LinuxGehen Sie folgendermaßen vor, um Ihre Kopie von AWS CLI Version 2 über die Linux-Befehlszeile zuaktualisieren.

1. Laden Sie die Installationsdatei auf eine der folgenden Arten herunter:

Verwenden des curl-Befehls: Die Optionen im folgenden Beispielbefehl bewirken, dass dieheruntergeladene Datei in das aktuelle Verzeichnis mit dem lokalen Namen awscliv2.zipgeschrieben wird.

Die -o-Option gibt den Dateinamen an, in den das heruntergeladene Paket geschrieben wird. Indiesem Beispiel wird die Datei in awscliv2.zip des aktuellen Verzeichnisses geschrieben.

Linux x86 (64-bit)

Für die neueste Version der AWS CLI, verwenden Sie den folgenden Befehlsblock:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es, awscli-exe-linux-x86_64-2.0.30.zip was zu dem folgenden Befehl führt:

12

Page 18: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

Linux ARM

Für die neueste Version der AWS CLI, , und Sie haben die Möglichkeit verwenden Sie denfolgenden Befehlsblock:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"

Für eine bestimmte Version der AWS CLI, , und Sie haben die Möglichkeit fügen Sie einenBindestrich und die Versionsnummer an den Dateinamen an. Für dieses Beispiel der Dateinamefür Version 2.0.30 wäre es, awscli-exe-linux-aarch64-2.0.30.zip was zu demfolgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

Herunterladen von der URL – Um das Installationsprogramm mit Ihrem Browser herunterzuladen,verwenden Sie eine der folgenden URLs. (z. B.. Sie können die Integrität und Authentizität derInstallationsdatei überprüfen, nachdem Sie heruntergeladen haben. Weitere Informationenerhalten Sie vor dem Entpacken des Pakets unter Überprüfen der Integrität und Authentizität derheruntergeladenen Installationsdateien (p. 15).

Linux x86 (64-bit)

Für die neueste Version der AWS CLI: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip

Für eine bestimmte Version der AWS CLI: Fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es, awscli-exe-linux-x86_64-2.0.30.zip was zu folgendem Link führt https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip. Eine Liste der Versionen finden Sie im AWS CLI Version 2Änderungsprotokoll auf dem Bildschirm GitHub.

Linux ARM

Für die neueste Version der AWS CLI: https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip

Für eine bestimmte Version der AWS CLI: Fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wärees, awscli-exe-linux-aarch64-2.0.30.zip was zu folgendem Link führt: https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip. (z. B.. Eine Liste der Versionenfinden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem Bildschirm GitHub.

2. Entpacken Sie das Installationsprogramm. Wenn Ihre Linux-Distribution keinen integrierten unzip-Befehl aufweist, verwenden Sie ein Äquivalent zur Installation. Der folgende Beispielbefehl entpacktdas Paket und erstellt ein Verzeichnis mit dem Namen aws im aktuellen Verzeichnis.

$ unzip awscliv2.zip

13

Page 19: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

3. Um sicherzustellen, dass das Update am gleichen Speicherort wie die aktuelle AWS CLI Version 2installiert wird, suchen Sie den vorhandenen Symlink und das Installationsverzeichnis.

• Verwenden Sie den which-Befehl, um Ihren Symlink zu finden. Dadurch erhalten Sie den Pfad, dermit dem --bin-dir-Parameter verwendet werden soll.

$ which aws/usr/local/bin/aws

• Verwenden Sie den ls-Befehl, um das Verzeichnis zu finden, auf das Ihr Symlink verweist. Dadurcherhalten Sie den Pfad, der mit dem --install-dir-Parameter verwendet werden soll.

$ ls -l /usr/local/bin/awslrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws

4. Verwenden Sie Ihre Symlink- und Installationsinformationen, um den install-Befehl mit dem --update-Parameter zu erstellen.

$ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update

5. Bestätigen Sie die Installation.

$ aws --versionaws-cli/2.0.47 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0

Deinstallieren der AWS CLI Version 2 unter LinuxFühren Sie die folgenden Befehle aus, um die AWS CLI Version 2 zu deinstallieren.

1. Suchen Sie den Symlink und die Installationspfade.

• Verwenden Sie den which-Befehl, um den Symlink zu finden. Dies zeigt den Pfad an, den Sie mitdem --bin-dir-Parameter verwendet haben.

$ which aws/usr/local/bin/aws

• Verwenden Sie den ls-Befehl, um das Verzeichnis zu finden, auf das der Symlink verweist. Dadurcherhalten Sie den Pfad, den Sie mit dem --install-dir-Parameter verwendet haben.

$ ls -l /usr/local/bin/awslrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws

2. Jetzt löschen Sie die beiden Symlinks im --bin-dir-Verzeichnis. Wenn Ihr Benutzerkonto überSchreibberechtigungen für diese Verzeichnisse verfügt, müssen Sie sudo nicht verwenden.

$ sudo rm /usr/local/bin/aws$ sudo rm /usr/local/bin/aws_completer

3. Löschen Sie das --install-dir-Verzeichnis. Wenn Ihr Benutzerkonto über Schreibberechtigungenfür dieses Verzeichnis verfügt, müssen Sie sudo nicht verwenden.

$ sudo rm -rf /usr/local/aws-cli

14

Page 20: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

Überprüfen der Integrität und Authentizität der heruntergeladenenInstallationsdateienDie .zip-Dateien des AWS CLI Version 2-Installationsprogrammpakets sind kryptografisch mit PGP-Signaturen signiert. Sie können die folgenden Schritte verwenden, um die Signaturen mithilfe des GnuPG-Tools zu überprüfen. Wenn die Dateien beschädigt oder verändert werden, schlägt diese Verifizierung fehlund Sie sollten nicht mit der Installation fortfahren.

Im folgenden Beispiel wird davon ausgegangen, dass Sie das Installationspaket heruntergeladen und lokalgespeichert haben unter awscliv2.zip. (z. B.. Wenn Sie einen anderen Namen angegeben haben,ersetzen Sie diesen Namen in den folgenden Schritten.

Überprüfen der Dateien mithilfe der PGP-Signatur

1. Laden Sie den gpg-Befehl herunter und installieren Sie diesen mit Ihrem Paket-Manager. WeitereInformationen über GnuPG finden Sie auf der GnuPG-Website.

2. Um die öffentliche Schlüsseldatei zu erstellen, müssen Sie eine Textdatei erstellen und den folgendenText einfügen.

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUGZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzxPqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5GTfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYzgbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grkC6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWOlrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPGfYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywGEEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkXXDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQABtCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAMyzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJMxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Oxau+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/DoikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34Bhw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eOtEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0HQYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPFRrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMBrsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4dH17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNeYLZATHZKTJyiqA===vYOk-----END PGP PUBLIC KEY BLOCK-----

Als Referenz finden Sie im Folgenden die Details des öffentlichen Schlüssels.

Key ID: A6310ACC4672Type: RSASize: 4096/4096Created: 2019-09-18Expires: 2023-09-17User ID: AWS CLI Team <[email protected]>Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C

15

Page 21: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLinux

3. Importieren Sie die AWS CLI öffentlicher Schlüssel mit dem folgenden Befehl, ersetzend public-key-file-name mit dem Dateinamen des öffentlichen Schlüssels, den Sie erstellt haben.

$ gpg --import public-key-file-namegpg: /home/username/.gnupg/trustdb.gpg: trustdb createdgpg: key A6310ACC4672475C: public key "AWS CLI Team <[email protected]>" importedgpg: Total number processed: 1gpg: imported: 1

4. Laden Sie die AWS CLI-Signaturdatei für das heruntergeladene Paket herunter. Sie hat denselbenPfad und Namen wie die .zip Datei, der sie entspricht, aber die Erweiterung hat .sig. (z. B..In den folgenden Beispielen speichern wir sie im aktuellen Verzeichnis als Datei mit dem Namenawscliv2.sig.

Linux x86 (64-bit)

Für die neueste Version der AWS CLI, verwenden Sie den folgenden Befehlsblock:

$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es, awscli-exe-linux-x86_64-2.0.30.zip.sig was zu dem folgenden Befehl führt:

$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip.sig

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

Linux ARM

Für die neueste Version der AWS CLI, , und Sie haben die Möglichkeit verwenden Sie denfolgenden Befehlsblock:

$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig

Für eine bestimmte Version der AWS CLI, , und Sie haben die Möglichkeit fügen Sie einenBindestrich und die Versionsnummer an den Dateinamen an. Für dieses Beispiel der Dateinamefür Version 2.0.30 wäre es, awscli-exe-linux-aarch64-2.0.30.zip.sig was zu demfolgenden Befehl führt:

$ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip.sig

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

5. Überprüfen Sie die Signatur und übergeben Sie sowohl die heruntergeladenen .sig- als auch .zip-Dateinamen als Parameter an den gpg-Befehl.

$ gpg --verify awscliv2.sig awscliv2.zip

Die Ausgabe sollte in etwa folgendermaßen aussehen:

gpg: Signature made Mon Nov 4 19:00:01 2019 PST

16

Page 22: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475Cgpg: Good signature from "AWS CLI Team <[email protected]>" [unknown]gpg: WARNING: This key is not certified with a trusted signature!gpg: There is no indication that the signature belongs to the owner.Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C

Important

Die Warnung in der Ausgabe wird erwartet und ist kein Hinweis auf ein Problem. Sie trittauf, weil keine Vertrauenskette zwischen Ihrem persönlichen PGP-Schlüssel (falls Sie einenhaben) und dem AWS CLI-PGP-Schlüssel besteht. Weitere Informationen finden Sie unterWeb of trust (Netz des Vertrauens).

Installieren, Aktualisieren und Deinstallieren der AWSCLI Version 2 auf dem Bildschirm macOSIn diesem Thema wird beschrieben, wie Sie die installieren, aktualisieren und entfernen. AWS CLI Version2 auf dem Bildschirm macOS.

Important

Die AWS CLI-Versionen 1 und 2 verwenden denselben aws-Befehlsnamen. Wenn beideVersionen installiert sind, verwendet der Computer die erste im Suchpfad gefundene Version.Wenn Sie zuvor AWS CLI Version 1 installiert haben, empfehlen wir, zur Verwendung von AWSCLI Version 2 einen der folgenden Schritte auszuführen:

• Empfohlen – deinstallieren Sie AWS CLI Version 1 und verwenden Sie nur AWS CLI Version2. Im Fall von Deinstallationsanweisungen ermitteln Sie die Methode, mit der Sie AWS CLIVersion 1 installiert haben, und befolgen die entsprechenden Deinstallationsanweisungen für IhrBetriebssystem unter Installieren von AWS CLI Version 1 (p. 24).

• Verwenden Sie die Möglichkeit Ihres Betriebssystems, einen symbolischen Link (Symlink)oder einen Alias mit einem anderen Namen für einen der beiden aws-Befehle zu erstellen.Beispielsweise können Sie unter Linux und macOS einen symbolischen Link oder Alias bzw.unter Windows DOSKEY verwenden.

Themen• Prerequisites (p. 17)• Installieren und Aktualisieren der AWS CLI Version 2 mithilfe der macOS Benutzeroberfläche (p. 18)• Installieren und Aktualisieren der AWS CLI Version 2 mithilfe der macOS Befehlszeile (p. 19)• Überprüfen der Installation (p. 21)• Deinstallieren der AWS CLI Version 2 (p. 21)

Prerequisites• Wir unterstützen die AWS CLI Version 2 auf von Apple unterstützten Versionen von 64-Bit macOS.• Da AWS keine Repositorys von Drittanbietern verwaltet, können wir nicht garantieren, dass sie die

neueste Version von AWS CLI enthalten.

17

Page 23: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

Installieren und Aktualisieren der AWS CLI Version 2 mithilfe dermacOS BenutzeroberflächeDie folgenden Schritte zeigen, wie Sie die neueste Version der installieren oder aktualisieren AWS CLIVersion 2 indem wir den Standard macOS Benutzeroberfläche und Ihrem Browser. Wenn Sie auf dieneueste Version aktualisieren, verwenden Sie dieselbe Installationsmethode, die Sie für die aktuelleVersion verwendet haben.

1. Laden Sie in Ihrem Browser die macOS pkg Datei:

• Für die neueste Version der AWS CLI: https://awscli.amazonaws.com/AWSCLIV2.pkg• Für eine bestimmte Version der AWS CLI: Fügen Sie einen Bindestrich und die Versionsnummer

an den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es,AWSCLIV2-2.0.30.pkg was zu folgendem Link führt https://awscli.amazonaws.com/https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg. Eine Liste der Versionen finden Sie im AWS CLIVersion 2 Änderungsprotokoll auf dem Bildschirm GitHub.

2. Doppelklicken Sie auf die heruntergeladene Datei, um das Installationsprogramm zu starten.3. Folgen Sie den Anweisungen auf dem Bildschirm. Sie können die AWS CLI Version 2 folgendermaßen

installieren:

• Für alle Benutzer auf dem Computer (erfordert sudo)• Sie können in einem beliebigen Ordner installieren oder den empfohlenen Standardordner /usr/local/aws-cli auswählen.

• Das Installationsprogramm erstellt automatisch einen Symlink unter /usr/local/bin/aws, dermit dem Hauptprogramm in dem von Ihnen gewählten Installationsordner verknüpft ist.

• Nur für den aktuellen Benutzer (erfordert nicht sudo)• Sie können die Installation in jedem beliebigen Ordner vornehmen, für den Sie

Schreibberechtigung haben.• Aufgrund der standardmäßigen Benutzerberechtigungen müssen Sie nach Abschluss des

Installationsprogramms manuell eine Symlink-Datei in Ihrem $PATH erstellen, die auf dieProgramme aws und aws_completer verweist, indem Sie die folgenden Befehle bei derEingabeaufforderung verwenden. Wenn Ihr $PATH einen Ordner enthält, in den Sie schreibenkönnen, können Sie den folgenden Befehl ohne sudo ausführen, wenn Sie diesen Ordner alsPfad des Ziels angeben. Wenn Sie sich in Ihrem $PATH kein Ordner befindet, in den geschriebenwerden kann, müssen Sie sudo in den Befehlen verwenden, um Berechtigungen zum Schreibenin den angegebenen Zielordner zu erhalten. Der Standardspeicherort für einen Symlink ist /usr/local/bin/.

$ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws$ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws/aws_completer

Note

Sie können Debug-Protokolle für die Installation anzeigen, indem Sie CMD+L an einerbeliebigen Stelle im Installationsprogramm drücken. Dadurch wird ein Protokollbereichgeöffnet, in dem Sie das Protokoll filtern und speichern können. Die Protokolldatei wirdebenfalls automatisch in /var/log/install.log gespeichert.

4. Führen Sie die Schritte unter Überprüfen der Installation (p. 21) aus, um zu überprüfen, ob die AWSCLI Version 2 installiert ist.

18

Page 24: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

Installieren und Aktualisieren der AWS CLI Version 2 mithilfe dermacOS BefehlszeileSie können von der Befehlszeile aus herunterladen, installieren und aktualisieren. Wenn Sie auf dieneueste Version aktualisieren, verwenden Sie dieselbe Installationsmethode, die Sie bei der aktuellenVersion verwendet haben. Sie können die AWS CLI Version 2 auf eine der folgenden Arten installieren:

• Für alle Benutzer (p. 19): erfordert sudo• Nur für den aktuellen Benutzer (p. 20): sudo muss möglicherweise einen Symlink in einem Ordner in

Ihrer $PATH-Variablen erstellen.

So installieren und aktualisieren Sie für alle Benutzer, die verwenden macOS Befehlszeile

Wenn Sie über sudo-Berechtigungen verfügen, können Sie die AWS CLI Version 2 für alle Benutzer aufdem Computer installieren.

Wir stellen die Schritte in einer Gruppe bereit, die einfach zu kopieren und einzufügen ist. Lesen Sie dieBeschreibungen der einzelnen Zeilen in den folgenden Schritten.

Für die neueste Version der AWS CLI, verwenden Sie den folgenden Befehlsblock:

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"$ sudo installer -pkg AWSCLIV2.pkg -target /

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummer an denDateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es, AWSCLIV2-2.0.30.pkgwas zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"$ sudo installer -pkg AWSCLIV2.pkg -target /

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem Bildschirm GitHub.

1. Laden Sie die Datei mit dem curl-Befehl herunter. Die -o-Option gibt den Dateinamen an, in den dasheruntergeladene Paket geschrieben wird. Im vorherigen Beispiel wird die Datei in AWSCLIV2.pkg imaktuellen Verzeichnis geschrieben.

Für die neueste Version der AWS CLI, verwenden Sie den folgenden Befehlsblock:

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es,AWSCLIV2-2.0.30.pkg was zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

2. Führen Sie den Standard aus macOS installer Programm, das heruntergeladene .pkg Datei alsQuelle. Verwenden Sie den -pkg-Parameter, um den Namen des zu installierenden Pakets und den-target /-Parameter, auf dem das Paket installiert werden soll anzugeben. Die Dateien werdeninstalliert in /usr/local/aws-cliund ein Symlink wird automatisch in /usr/local/bin. (z. B..)Sie müssen Folgendes einschließen: sudo im Befehl , um Schreibberechtigungen für diese Ordner zuerteilen.

19

Page 25: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

$ sudo installer -pkg ./AWSCLIV2.pkg -target /

Nach Abschluss der Installation werden Debug-Protokolle in /var/log/install.log geschrieben .3. Führen Sie die Schritte unter Überprüfen der Installation (p. 21) aus, um die installierte AWS CLI

Version 2-Version zu überprüfen.

So installieren und aktualisieren Sie nur für den aktuellen Benutzer mithilfe der macOSBefehlszeile

1. Um anzugeben, in welchem Ordner die AWS CLI installiert wird, müssen Sie eine XML-Datei erstellen.Diese Datei ist eine XML-formatierte Datei, die ähnlich wie im folgenden Beispiel aussieht. LassenSie alle Werte wie gezeigt stehen, außer dass Sie den Pfad ersetzen müssen /Users/myusernamein Zeile 9 mit dem Pfad zu dem Ordner, den Sie AWS CLI Version 2 installiert auf. Der Ordner mussbereits vorhanden sein, oder der Befehl schlägt fehl. In diesem XML-Beispiel wird angegeben, dassdas Installationsprogramm die AWS CLI im Ordner /Users/myusername installiert, in dem einOrdner namens aws-cli erstellt wird.

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <array> <dict> <key>choiceAttribute</key> <string>customLocation</string> <key>attributeSetting</key> <string>/Users/myusername</string> <key>choiceIdentifier</key> <string>default</string> </dict> </array></plist>

2. Laden Sie das pkg-Installationsprogramm mit dem curl-Befehl herunter. Die -o-Option gibt denDateinamen an, in den das heruntergeladene Paket geschrieben wird. Im vorherigen Beispiel wird dieDatei in AWSCLIV2.pkg im aktuellen Verzeichnis geschrieben.

3. Für die neueste Version der AWS CLI, verwenden Sie den folgenden Befehlsblock:

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

Für eine bestimmte Version der AWS CLI, fügen Sie einen Bindestrich und die Versionsnummeran den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es,AWSCLIV2-2.0.30.pkg was zu dem folgenden Befehl führt:

$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"

Eine Liste der Versionen finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem BildschirmGitHub.

4. Führen Sie den Standard aus macOS installer Programm mit den folgenden Optionen:

• Geben Sie den Namen des zu installierenden Pakets mithilfe des -pkg-Parameters an.• Geben Sie eine aktuelle Benutzerinstallation an, indem Sie den --targetCurrentUserHomeDirectory-Parameter festlegen.

20

Page 26: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

• Geben Sie den Pfad (relativ zum aktuellen Ordner) und den Namen der XML-Datei an, die Sie imParameter --applyChoiceChangesXML erstellt haben.

Im folgenden Beispiel wird die AWS CLI im Ordner /Users/myusername/aws-cli installiert.

$ installer -pkg AWSCLIV2.pkg \ -target CurrentUserHomeDirectory \ -applyChoiceChangesXML choices.xml

5. Da Standardbenutzerberechtigungen normalerweise nicht das Schreiben in Ordner im $PATHzulassen, versucht das Installationsprogramm in diesem Modus nicht, die Symlinks zu denProgrammen aws und aws_completer hinzuzufügen. Damit die AWS CLI ordnungsgemäßausgeführt werden kann, müssen Sie die Symlinks manuell erstellen, nachdem dasInstallationsprogramm abgeschlossen ist. Wenn Ihre $PATH enthält einen Ordner, in den Sie schreibenkönnen, und Sie geben den Ordner als Zielpfad an. Sie können den folgenden Befehl ausführen,ohne sudo. (z. B.. Wenn Sie keinen beschreibbaren Ordner in Ihrer $PATH, müssen Sie sudo fürBerechtigungen zum Schreiben in den angegebenen Zielordner.

$ sudo ln -s /folder/installed/aws-cli/aws /folder/in/your/PATH/aws$ sudo ln -s /folder/installed/aws-cli/aws_completer /folder/in/your/PATH/aws_completer

Nach Abschluss der Installation werden Debug-Protokolle in /var/log/install.log geschrieben .6. Führen Sie die Schritte unter Überprüfen der Installation (p. 21) aus, um die installierte AWS CLI

Version 2-Version zu überprüfen.

Überprüfen der InstallationVerwenden Sie die folgenden Befehle, um zu überprüfen, ob die Shell den aws-Befehl in Ihrem $PATHfinden und ausführen kann.

$ which aws/usr/local/bin/aws $ aws --versionaws-cli/2.0.47 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0

Deinstallieren der AWS CLI Version 2Führen Sie zum Deinstallieren der AWS CLI Version 2 die folgenden Befehle aus und ersetzen Sie diePfade dabei entsprechend durch die Pfade, die Sie für die Installation verwendet haben.

1. Suchen Sie den Ordner, der die Symlinks zum Hauptprogramm und zum Completer enthält.

$ which aws/usr/local/bin/aws

2. Führen Sie mithilfe dieser Informationen den folgenden Befehl aus, um den Installationsordner zufinden, auf den die Symlinks verweisen.

$ ls -l /usr/local/bin/awslrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/aws

3. Löschen Sie die beiden Symlinks im ersten Ordner. Wenn Ihr Benutzerkonto überSchreibberechtigungen für diese Ordner verfügt, müssen Sie sudo nicht verwenden.

21

Page 27: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWindows

$ sudo rm /usr/local/bin/aws$ sudo rm /usr/local/bin/aws_completer

4. Löschen Sie den Hauptinstallationsordner. Verwenden Sie sudo, um Schreibzugriff auf den Ordner /usr/local zu erhalten.

$ sudo rm -rf /usr/local/aws-cli

Installieren, Aktualisieren und Deinstallieren der AWSCLI Version 2 unter WindowsIn diesem Abschnitt wird beschrieben, wie Sie die AWS CLI-Version 2 unter Windows installieren,aktualisieren und entfernen.

Important

Die AWS CLI-Versionen 1 und 2 verwenden denselben aws-Befehlsnamen. Wenn beideVersionen installiert sind, verwendet der Computer die erste im Suchpfad gefundene Version.Wenn Sie zuvor AWS CLI Version 1 installiert haben, empfehlen wir, zur Verwendung von AWSCLI Version 2 einen der folgenden Schritte auszuführen:

• Empfohlen – deinstallieren Sie AWS CLI Version 1 und verwenden Sie nur AWS CLI Version2. Im Fall von Deinstallationsanweisungen ermitteln Sie die Methode, mit der Sie AWS CLIVersion 1 installiert haben, und befolgen die entsprechenden Deinstallationsanweisungen für IhrBetriebssystem unter Installieren von AWS CLI Version 1 (p. 24).

• Verwenden Sie die Möglichkeit Ihres Betriebssystems, einen symbolischen Link (Symlink)oder einen Alias mit einem anderen Namen für einen der beiden aws-Befehle zu erstellen.Beispielsweise können Sie unter Linux und macOS einen symbolischen Link oder Alias bzw.unter Windows DOSKEY verwenden.

Themen• Prerequisites (p. 22)• Installieren oder Aktualisieren der AWS CLI Version 2 unter Windows mit dem MSI-

Installationsprogramm (p. 22)• Deinstallieren der AWS CLI Version 2 unter Windows (p. 23)

PrerequisitesBevor Sie die AWS CLI Version 2 unter Windows installieren oder aktualisieren können, stellen Sie sicher,dass Sie über Folgendes verfügen:

• Eine 64-Bit-Version von Windows XP oder höher.• Administratorrechte zur Installation von Software

Installieren oder Aktualisieren der AWS CLI Version 2 unterWindows mit dem MSI-Installationsprogramm1. Laden Sie die AWS CLI MSI-Installationsprogramm für Windows (64 Bit):

22

Page 28: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchZusätzliche Dokumentation und Ressourcen

• Für die neueste Version der AWS CLI: https://awscli.amazonaws.com/AWSCLIV2.msi• Für eine bestimmte Version der AWS CLI: Fügen Sie einen Bindestrich und die Versionsnummer

an den Dateinamen an. Für dieses Beispiel der Dateiname für Version 2.0.30 wäre es,AWSCLIV2-2.0.30.msi was zu folgendem Link führt https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi. Eine Liste der Versionen finden Sie im AWS CLI Version 2Änderungsprotokoll auf dem Bildschirm GitHub.

So aktualisieren Sie Ihre aktuelle Installation von AWS CLI Version 2 laden Sie unter Windows jedesMal, wenn Sie aktualisieren, ein neues Installationsprogramm herunter, um vorherige Versionen zuüberschreiben. AWS CLI wird regelmäßig aktualisiert. Informationen dazu, wann die neueste Versionveröffentlicht wurde, finden Sie im AWS CLI Version 2 Änderungsprotokoll auf dem Bildschirm GitHub.

2. Führen Sie das heruntergeladene MSI-Installationsprogramm aus und folgen Sie den Anweisungenauf dem Bildschirm. Standardmäßig wird die AWS CLI in C:\Program Files\Amazon\AWSCLIV2installiert.

3. Zum Bestätigen der Installation öffnen Sie das Startmenü, suchen Sie nach cmd, um einEingabeaufforderungsfenster zu öffnen, und verwenden Sie an der Eingabeaufforderung den Befehlaws --version.

Wenn Sie einen Befehl eingeben, lassen Sie das Eingabeaufforderungssymbol (C:\>) weg. Diesedienen in Programm-Listings dazu, die Befehle, die Sie eingeben, von der Ausgabe zu unterscheiden,die von der AWS CLI zurückgegeben wird. Im restlichen Teil dieses Handbuchs wird das allgemeineEingabeaufforderungssymbol ($) verwendet, außer in Fällen, in denen ein Befehl Windows-spezifischist. Weitere Informationen zum Formatieren von Codebeispielen finden Sie unter Verwenden derBeispiele (p. 2).

C:\> aws --versionaws-cli/2.0.47 Python/3.7.4 Windows/10 botocore/2.0.0

Wenn Windows das Programm nicht findet, müssen Sie ggf. das Eingabeaufforderungsfenstererneut öffnen, um den Pfad zu aktualisieren oder das Installationsverzeichnis manuell der PATH-Umgebungsvariablen hinzufügen (p. 40).

Deinstallieren der AWS CLI Version 2 unter Windows1. Öffnen Sie Programme und Funktionen indem Sie einen der folgenden Schritte ausführen:

• Öffnen Sie die Systemsteuerung und wählen Sie dann Programme und Funktionen aus.• Öffnen Sie eine Eingabeaufforderung und geben Sie dann den folgenden Befehl ein.

C:\> appwiz.cpl

2. Wählen Sie den Eintrag namens AWS Command Line Interface aus und wählen Sie dannDeinstallieren aus, um das Deinstallationsprogramm zu starten.

3. Bestätigen Sie, dass Sie die AWS CLI deinstallieren möchten.

Zusätzliche Dokumentation und RessourcenZusätzlich zu diesem Handbuch stehen folgende wertvolle Online-Ressourcen für die AWS CLI zurVerfügung:

• AWS CLI Version 2 Referenzhandbuch

23

Page 29: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchInstallieren von AWS CLI Version 1

• AWS CLI GitHub Aufbewahrungsort Sie können sich—und Gabel—den Quellcode für die AWS CLI aufdem Bildschirm GitHub in der aws-cli-Repository. Treten Sie der Community von Benutzern bei GitHubum Feedback zu geben, Funktionen anzufordern und Ihre eigenen Beiträge einzureichen!

• AWS CLI Version 2 Änderungshinweise

Installieren von AWS CLI Version 1Dieses Thema enthält Links zur Installation von Version 1 der AWS Command Line Interface ( ( (AWSCLI). Informationen zu den neuesten Versionen von AWS CLI Version 1, siehe AWS CLI Version 1 Notizenändern auf Github.

Stattdessen empfehlen wir, AWS CLI Version 2 zu verwenden. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

Important

AWS CLI Version 1 unterstützt die Python-Versionen 2.6 und 3.3 nicht mehr. Alle Versionen vonAWS CLI Version 1 veröffentlichten nach dem 10. Januar 2020 ab 1.17 erfordern Python 2.7,Python 3.4 oder eine spätere Version.Diese Änderung hat keine Auswirkungen auf die Windows MSI-Installationsversion von AWS CLIVersion 1 und AWS CLI Version 2.Für weitere Informationen finden Sie unter Verwenden der AWS CLI Version 1 mit früherenVersionen von Python (p. 42) in diesem Handbuch und im Blog-Beitrag Ankündigung zurEinstellung.

Themen• Zusätzliche Dokumentation und Ressourcen (p. 24)• Installieren, Aktualisieren und Deinstallieren AWS CLI Version 1 auf Amazon Linux (p. 24)• Installieren, Aktualisieren und Deinstallieren AWS CLI Version 1 auf Linux (p. 26)• Installieren, Aktualisieren und Deinstallieren AWS CLI Version 1 auf Macos (p. 32)• Installieren, Aktualisieren und Deinstallieren AWS CLI Version 1 auf Windows (p. 37)• Installieren und aktualisieren AWS CLI Version 1 in einer virtuellen Umgebung (p. 41)• Verwenden der AWS CLI Version 1 mit früheren Versionen von Python (p. 42)

Zusätzliche Dokumentation und RessourcenZusätzlich zu diesem Handbuch stehen folgende wertvolle Online-Ressourcen für die zur Verfügung:AWSCLI.

• AWS CLI Version 1 Referenzhandbuch• AWS CLI Github Repository Sie können anzeigen—und Gabel—der Quellcode für den AWS CLI auf dem

Github im AWS-CLI-Repository. Werden Sie Mitglied der Benutzer-Community auf GitHub, um Feedbackbereitzustellen, Funktionen anzufordern und eigene Beiträge zu übermitteln!

• AWS CLI Version 1 Notizen ändern

Installieren, Aktualisieren und Deinstallieren AWS CLIVersion 1 auf Amazon LinuxDie AWS CLI Version 1 ist vorinstalliert Amazon Linux und Amazon Linux 2. Prüfen Sie die zurzeitinstallierte Version mit dem folgenden Befehl.

24

Page 30: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon Linux

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Abschnitte• Prerequisites (p. 25)• Installieren oder aktualisieren Sie die AWS CLI Version 1 auf Amazon Linux PIP verwenden (p. 25)• Deinstallieren der AWS CLI Version 1 mithilfe von pip (p. 26)

PrerequisitesSie müssen Python 2 Version 2.7 oder höher bzw. Python 3 Version 3.4 oder höher installiert haben.Installationsanweisungen finden Sie im Python herunterladen Seite in Python's Anfänger-Guide.

Important

AWS CLI Version 1 unterstützt die Python-Versionen 2.6 und 3.3 nicht mehr. Alle Versionen vonAWS CLI Version 1 veröffentlichten nach dem 10. Januar 2020 ab 1.17 erfordern Python 2.7,Python 3.4 oder eine spätere Version.Diese Änderung hat keine Auswirkungen auf die Windows MSI-Installationsversion von AWS CLIVersion 1 und AWS CLI Version 2.Für weitere Informationen finden Sie unter Verwenden der AWS CLI Version 1 mit früherenVersionen von Python (p. 42) in diesem Handbuch und im Blog-Beitrag Ankündigung zurEinstellung.

Installieren oder aktualisieren Sie die AWS CLI Version 1 aufAmazon Linux PIP verwendenVerwenden Sie die folgenden Anweisungen, um die neueste Version der AWS CLI Version 1 für denaktuellen Benutzer zu installieren.

1. Wenn Sie Python Version 3 haben oder später installiert haben, empfehlen wir Ihnen, pip3.Verwenden pip3 install zur Installation oder Aktualisierung der neuesten Version des AWS CLIVersion 1. Wenn Sie den Befehl von innerhalb eines Virtuelle Python-Umgebung (Venv), Sie brauchennicht die --user Option.

$ pip3 install --upgrade --user awscli

2. Stellen Sie sicher, dass der Ordner enthält aws ist Teil Ihrer PATH Variable.

a. Suchen Sie das Profilskript der Shell in Ihrem Benutzerverzeichnis. Wenn Sie nicht sicher sind,welche Shell Sie haben, führen Sie aus.echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, oder .bash_login• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc oder .login

b. Fügen Sie einen Exportbefehl an das Ende Ihres Profilskripts hinzu und orientieren Sie sich dabeian folgendem Beispiel.

export PATH=$HOME/.local/bin:$PATH

25

Page 31: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch(Linux)

Dieser Befehl fügt den Pfad ein, $HOME/.local/bin in diesem Beispiel an der Vorderseite desvorhandenen $PATHVariable.

c. Laden Sie das Profil erneut in Ihre aktuelle Sitzung, damit die Änderungen wirksam werden.

$ source ~/.bash_profile

3. Verwenden Sie den Befehl aws --version, um zu überprüfen, ob die neue Version ausgeführt wird.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Deinstallieren der AWS CLI Version 1 mithilfe von pipWenn Sie die AWS CLI deinstallieren müssen, verwenden Sie pip uninstall.

$ pip3 uninstall awscli

Installieren, Aktualisieren und Deinstallieren AWS CLIVersion 1 auf LinuxSie können die AWS Command Line Interface ( ( (AWS CLI) Version 1 und deren Abhängigkeiten bei denmeisten Linux-Distributionen durch Verwendung der pip Paket-Manager oder gebündelter Installer.

Obwohl die awscli Paket ist in Repositorys für andere Paketmanager verfügbar, z. B. apt und yum, diesewerden nicht produziert, verwaltet oder unterstützt von AWS. Wir empfehlen Ihnen, das AWS CLI nur vomoffiziellen AWS Distributionspunkte, wie in diesem Handbuch dokumentiert.

Abschnitte• Prerequisites (p. 26)• Installieren und Deinstallieren der AWS CLI Version 1 unter Linux mit dem gebündelten

Installationsprogramm (p. 27)• Installieren und Deinstallieren der AWS CLI Version 1 mithilfe von pip (p. 29)

PrerequisitesSie müssen Python 2 Version 2.7 oder höher bzw. Python 3 Version 3.4 oder höher installiert haben.Installationsanweisungen finden Sie im Python herunterladen Seite in Python's Anfänger-Guide.

Important

AWS CLI Version 1 unterstützt die Python-Versionen 2.6 und 3.3 nicht mehr. Alle Versionen vonAWS CLI Version 1 veröffentlichten nach dem 10. Januar 2020 ab 1.17 erfordern Python 2.7,Python 3.4 oder eine spätere Version.Diese Änderung hat keine Auswirkungen auf die Windows MSI-Installationsversion von AWS CLIVersion 1 und AWS CLI Version 2.Für weitere Informationen finden Sie unter Verwenden der AWS CLI Version 1 mit früherenVersionen von Python (p. 42) in diesem Handbuch und im Blog-Beitrag Ankündigung zurEinstellung.

26

Page 32: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch(Linux)

Installieren und Deinstallieren der AWS CLI Version 1 unter Linuxmit dem gebündelten InstallationsprogrammEin Linux oder macOS, Sie können das gebündelte Installationsprogramm verwenden, um Version 1der AWS CLI. Das gebündelte Installationspaket enthält alle Abhängigkeiten und kann offline verwendetwerden.

Note

Das gebündelte Installationsprogramm unterstützt keine Installation in Pfaden, die Leerzeichenenthalten.

Themen• Installieren der AWS CLI Version 1 unter Verwendung des gebündelten Installationspakets mit

sudo (p. 27)• Installieren der AWS CLI Version 1 mithilfe des gebündelten Installationspakets ohne sudo (p. 28)• Deinstallieren des gebündelten AWS CLI Version 1-Installationsprogramms (p. 29)

Installieren der AWS CLI Version 1 unter Verwendung des gebündeltenInstallationspakets mit sudo

Mit den folgenden Schritten können Sie die AWS CLI Version 1 über die Befehlszeile auf jedem Linux- odermacOS-Build installieren.

Hier finden Sie eine Zusammenfassung der im folgenden beschriebenen Installationsbefehle, die Sieausschneiden und einfügen können, um sie als einzelnen Befehlssatz auszuführen.

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"unzip awscli-bundle.zipsudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Führen Sie die folgenden Schritte an der Befehlszeile aus, um die AWS CLI Version 1 mithilfe desgebündelten Installationspakets zu installieren.

So installieren Sie die AWS CLI Version 1 mit dem gebündelten Installationspaket

1. Laden Sie das gebündelte AWS CLI Version 1-Installationsprogramm anhand einer der folgendenMethoden herunter:

• Download über den curl-Befehl.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

• Download über den direkten Link: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip2. Extrahieren Sie die Dateien aus dem Paket. Wenn Sie nicht über unzip zum Extrahieren der Dateien

verfügen, verwenden Sie den integrierten Paket-Manager der Linux-Distribution, um es zu installieren.

$ unzip awscli-bundle.zip

3. Führen Sie das Installationsprogramm aus. Das Installationsprogramm installiert die AWS CLIbei /usr/local/aws und schafft den Symbionum aws am /usr/local/bin Verzeichnis.Verwendung der -b Option zur Erstellung eines Symlink, um das Installationsverzeichnis im Benutzerzu spezifizieren $PATH Variable. Dadurch sollten alle Benutzer die AWS CLI durch Eingabe aws ausjedem Verzeichnis.

27

Page 33: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch(Linux)

$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Standardmäßig wird das Installationsskript unter der Standard-Systemversion von Python ausgeführt.Wenn Sie eine alternative Version von Python installiert haben und diese zum Installieren der AWSCLI verwenden möchten, führen Sie das Installationsskript mit dieser Version aus, indem Sie denabsoluten Pfad der ausführbaren Python-Datei verwenden.

$ sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

4. Überprüfen Sie, ob die AWS CLI ordnungsgemäß installiert wurde.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Wenn Sie eine Fehlermeldung erhalten, finden Sie weitere Informationen unter Behebung von AWSCLI-Fehlern (p. 180).

Installieren der AWS CLI Version 1 mithilfe des gebündelten Installationspaketsohne sudo

Wenn Sie sudo Berechtigungen oder möchten die AWS CLI nur für den aktuellen Benutzer, können Sieeine geänderte Version der vorherigen Befehle verwenden. Die ersten beiden Befehle sind identisch.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"$ unzip awscli-bundle.zip$ ./awscli-bundle/install -b ~/bin/aws

So installieren Sie die AWS CLI Version 1 für den aktuellen Benutzer

1. Laden Sie das gebündelte AWS CLI Version 1-Installationsprogramm auf eine der folgenden Artenherunter:

• Download über den curl-Befehl.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

• Download über den direkten Link: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip2. Extrahieren Sie die Dateien aus dem Paket, indem Sie unzip. Wenn Sie unzipverwenden Sie den

integrierten Paketmanager Ihres Linux-Verteilers, um ihn zu installieren.

$ unzip awscli-bundle.zip

3. Führen Sie das Installationsprogramm aus. Das Installationsprogramm installiert die AWS CLI bei /usr/local/aws und schafft den Symbionum aws am /usr/local/bin Verzeichnis. Der Befehlverwendet den -b Parameter, um das Verzeichnis anzugeben, in dem das Installationsprogramm awsSymlink-Datei. Sie müssen über Schreibberechtigungen für den angegebenen Ordner verfügen.

$ ./awscli-bundle/install -b ~/bin/aws

Dadurch wird das AWS CLI zum Standardstandort (~/.local/lib/aws) und erstellt einensymbolischen Link (symlink) bei ~/bin/aws. Stellen Sie sicher, dass ~/bin in Ihrem PATHUmgebungsvariable für die Symbionation.

28

Page 34: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch(Linux)

$ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if it doesn't)$ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary

4. Stellen Sie sicher, dass das Verzeichnis AWS CLI Version 1 ist Teil Ihrer PATH Variable.

a. Suchen Sie das Profilskript für die Shell in Ihrem Benutzerordner. Wenn Sie nicht sicher sind,welche Shell Sie haben, führen Sie aus.echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, oder .bash_login• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc oder .login

b. Fügen Sie einen Exportbefehl an das Ende Ihres Profilskripts hinzu und orientieren Sie sich dabeian folgendem Beispiel.

export PATH=~/.local/bin:$PATH

Dieser Befehl fügt den Pfad ein, ~/.local/bin in diesem Beispiel an der Vorderseite desvorhandenen PATH Variable.

c. Laden Sie das Profil erneut in Ihre aktuelle Sitzung, damit die Änderungen wirksam werden.

$ source ~/.bash_profile

5. Überprüfen Sie, ob die AWS CLI ordnungsgemäß installiert wurde.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Wenn Sie eine Fehlermeldung erhalten, finden Sie weitere Informationen unter Behebung von AWSCLI-Fehlern (p. 180).

Deinstallieren des gebündelten AWS CLI Version 1-InstallationsprogrammsDas gebündelte Installationsprogramm speichert bis auf den symbolischen Link nichts außerhalb desInstallationsverzeichnisses. Die Deinstallation kann daher einfach durch Löschen dieser beiden Elementeerfolgen.

$ sudo rm -rf /usr/local/aws$ sudo rm /usr/local/bin/aws

Installieren und Deinstallieren der AWS CLI Version 1 mithilfe vonpipThemen

• Installieren von pip (p. 30)• Installieren und Aktualisieren der AWS CLI Version 1 mithilfe von pip (p. 30)• Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum Befehlszeilenpfad (p. 31)• Deinstallieren der AWS CLI mithilfe von pip (p. 32)

29

Page 35: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch(Linux)

Installieren von pip

Wenn Sie noch nicht pip installiert werden, können Sie installieren, indem Sie Python Packaging Authoritybietet. Lauf pip --version um zu sehen, ob Ihre Linux-Version bereits Python enthält und pip. WennSie Python Version 3 haben oder später installiert haben, verwenden Sie das pip3 Befehl.

1. Laden Sie das Installationsskript mit dem Befehl curl herunter. Der folgende Befehl verwendet denParameter -O (Großbuchstabe „O“), um anzugeben, dass die heruntergeladene Datei im aktuellenVerzeichnis unter Verwendung desselben Namens auf dem Remote-Host gespeichert werden soll.

$ curl -O https://bootstrap.pypa.io/get-pip.py

2. Führen Sie das Skript mit dem python oder python3 Befehl zum Herunterladen und Installieren derneuesten Version von pip und andere erforderliche Supportpakete. Wenn Sie das --user Switch, dieSkriptinstallation pip zum Pfad ~/.local/bin.

$ python3 get-pip.py --user

3. Stellen Sie sicher, dass das Leitspielzeug pip ist Teil Ihrer PATHVariable.

a. Suchen Sie das Profilskript für die Shell in Ihrem Benutzerordner. Wenn Sie nicht sicher sind,welche Shell Sie haben, führen Sie aus.echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, oder .bash_login• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc oder .login

b. Fügen Sie einen Exportbefehl an das Ende Ihres Profilskripts hinzu und orientieren Sie sich dabeian folgendem Beispiel.

export PATH=~/.local/bin:$PATH

Dieser Befehl fügt den Pfad ein, ~/.local/bin in diesem Beispiel an der Vorderseite desvorhandenen PATH Variable.

c. Laden Sie das Profil erneut in Ihre aktuelle Sitzung, damit die Änderungen wirksam werden.

$ source ~/.bash_profile

4. Um sicherzustellen, dass pip oder pip3 ist korrekt installiert, führen Sie den folgenden Befehl aus.

$ pip3 --versionpip 19.2.3 from ~/.local/lib/python3.7/site-packages (python 3.7)

Installieren und Aktualisieren der AWS CLI Version 1 mithilfe von pip

1. Verwenden Sie die pip oder pip3 zum Installieren oder Aktualisieren des AWS CLI. Wir empfehlenIhnen, bei Verwendung von Python-Version 3 oder höher den pip3-Befehl zu verwenden. Die --userSwitch, pip installiert die AWS CLI bis ~/.local/bin.

$ pip3 install awscli --upgrade --user

2. Überprüfen Sie, ob die AWS CLI ordnungsgemäß installiert wurde.

30

Page 36: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch(Linux)

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Wenn Sie eine Fehlermeldung erhalten, finden Sie weitere Informationen unter Behebung von AWSCLI-Fehlern (p. 180).

Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum Befehlszeilenpfad

Nach der Installation mit pip, möglicherweise müssen Sie die aws fêèvêèrêèd tòò yòóyêèr PATHUmgebungsvariable.

Sie können überprüfen, welcher Ordner pip installiert AWS CLI indem Sie den folgenden Befehlausführen.

$ which aws/home/username/.local/bin/aws

Sie können dies als ~/.local/bin/ weil denn /home/username entspricht dem ~ in Linux.

Wenn Sie die --user Switch und so nicht im Benutzermodus installiert, kann die ausführbare bin OrdnerIhrer Python-Installation. Wenn Sie nicht wissen, wo Python installiert ist, führen Sie diesen Befehl aus.

$ which python/usr/local/bin/python

Die Ausgabe ist möglicherweise der Pfad zu einem Symlink, nicht zu der tatsächlichen ausführbaren Datei.Führen Sie ls -al aus, um festzustellen, wohin dieser verweist.

$ ls -al /usr/local/bin/python/usr/local/bin/python -> ~/.local/Python/3.6/bin/python3.6

pip installiert Programme in demselben Ordner, der auch die Python-Anwendung enthält. Fügen Siediesen Ordner Ihrer PATH-Variablen hinzu.

So ändern Sie Ihre PATH Variable

1. Suchen Sie das Profilskript der Shell in Ihrem Benutzerverzeichnis. Wenn Sie nicht sicher sind, welcheShell Sie haben, führen Sie aus.echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, oder .bash_login• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc, oder .login

2. Fügen Sie dem Profilskript einen Exportbefehl hinzu.

export PATH=~/.local/bin:$PATH

Dieser Befehl fügt einen Pfad hinzu, ~/.local/bin in diesem Beispiel zum aktuellen PATH Variable.3. Laden Sie hochgeladene Profil in Ihre aktuelle Sitzung.

31

Page 37: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

$ source ~/.bash_profile

Deinstallieren der AWS CLI mithilfe von pip

Wenn Sie die AWS CLI deinstallieren müssen, verwenden Sie pip uninstall.

$ pip3 uninstall awscli

Installieren, Aktualisieren und Deinstallieren AWS CLIVersion 1 auf MacosSie können die AWS Command Line Interface ( ( (AWS CLI) Version 1 und deren Abhängigkeiten aufMacos durch Verwendung des gebündelten Installateurs oder pip.

Abschnitte• Prerequisites (p. 32)• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 1 unter macOS mit dem gebündelten

Installationsprogramm (p. 32)• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 1 mithilfe von pip (p. 35)

PrerequisitesBevor Sie die AWS CLI Version 1 auf Macos zu haben, stellen Sie sicher, dass Sie Python 2 Version 2.7oder höher bzw. Python 3 Version 3.4 oder höher installiert. Installationsanweisungen finden Sie im Pythonherunterladen Seite in Python's Anfänger-Guide.

Important

AWS CLI Version 1 unterstützt die Python-Versionen 2.6 und 3.3 nicht mehr. Alle Versionen vonAWS CLI Version 1 veröffentlichten nach dem 10. Januar 2020 ab 1.17 erfordern Python 2.7,Python 3.4 oder eine spätere Version.Diese Änderung hat keine Auswirkungen auf die Windows MSI-Installationsversion von AWS CLIVersion 1 und AWS CLI Version 2.Für weitere Informationen finden Sie unter Verwenden der AWS CLI Version 1 mit früherenVersionen von Python (p. 42) in diesem Handbuch und im Blog-Beitrag Ankündigung zurEinstellung.

Installieren, Aktualisieren und Deinstallieren der AWS CLI Version1 unter macOS mit dem gebündelten InstallationsprogrammEin Linux oder macOS, Sie können das gebündelte Installationsprogramm verwenden, um Version 1 derAWS Command Line Interface ( ( (AWS CLI). Das gebündelte Installationspaket enthält alle Abhängigkeitenund kann offline verwendet werden.

Das gebündelte Installationsprogramm unterstützt keine Installation in Pfaden, die Leerzeichen enthalten.

Themen• Installieren der AWS CLI Version 1 unter Verwendung des gebündelten Installationspakets mit

sudo (p. 33)

32

Page 38: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

• Installieren der AWS CLI Version 1 mithilfe des gebündelten Installationspakets ohne sudo (p. 34)• Deinstallieren des gebündelten AWS CLI Version 1-Installationsprogramms (p. 35)

Installieren der AWS CLI Version 1 unter Verwendung des gebündeltenInstallationspakets mit sudo

Mit den folgenden Schritten können Sie die AWS CLI Version 1 über die Befehlszeile auf jedem odermacOS-Build installieren.

Im Folgenden finden Sie eine Zusammenfassung der Installationsbefehle, die Sie ausschneiden undeinfügen können, um sie als einzelnen Befehlssatz auszuführen.

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"unzip awscli-bundle.zipsudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

So installieren Sie die AWS CLI Version 1 mit dem gebündelten Installationspaket

1. Laden Sie das gebündelte AWS CLI Version 1-Installationsprogramm auf eine der folgenden Artenherunter:

• Download über den curl-Befehl.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

• Download über den direkten Link: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip.2. Extrahieren (entpacken) Sie die Dateien aus dem Paket. Wenn Sie nicht über unzip verfügen,

verwenden Sie den integrierten Paket-Manager der macOS-Verteilung, um es zu installieren.

$ unzip awscli-bundle.zip

3. Führen Sie das Installationsprogramm aus. Das Installationsprogramm installiert die AWS CLI bei /usr/local/aws und schafft den Symbionum aws am /usr/local/bin Ordner. Verwendung der -b Option zur Erstellung eines Symlink, um den Installationsordner im Benutzer zu spezifizieren $PATHVariable. Dadurch sollten alle Benutzer die AWS CLI durch Eingabe aws aus jedem Verzeichnis.

$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Standardmäßig wird das Installationsskript unter der Standard-Systemversion von Python ausgeführt.Wenn Sie eine alternative Version von Python installiert haben und diese zum Installieren der AWSCLI verwenden möchten, führen Sie das Installationsskript mit dieser Version aus, indem Sie denabsoluten Pfad der ausführbaren Python-Datei verwenden.

$ sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

4. Überprüfen Sie, ob die AWS CLI ordnungsgemäß installiert wurde.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Wenn Sie eine Fehlermeldung erhalten, finden Sie weitere Informationen unter Behebung von AWSCLI-Fehlern (p. 180).

33

Page 39: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

Installieren der AWS CLI Version 1 mithilfe des gebündelten Installationspaketsohne sudo

Wenn Sie sudo Berechtigungen oder möchten die AWS CLI nur für den aktuellen Benutzer, können Sieeine geänderte Version der vorherigen Befehle verwenden. Die ersten beiden Befehle sind identisch.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"$ unzip awscli-bundle.zip$ ./awscli-bundle/install -b ~/bin/aws

So installieren Sie die AWS CLI Version 1 für den aktuellen Benutzer

1. Laden Sie das gebündelte AWS CLI Version 1-Installationsprogramm anhand einer der folgendenMethoden herunter:

• Download über den curl-Befehl.

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

• Download über den direkten Link: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip.2. Extrahieren Sie die Dateien aus dem Paket. Wenn Sie nicht über unzip verfügen, verwenden Sie den

integrierten Paket-Manager der Linux-Verteilung, um es zu installieren.

$ unzip awscli-bundle.zip

3. Führen Sie das Installationsprogramm aus. Das Installationsprogramm installiert die AWS CLI bei /usr/local/aws und schafft den Symbionum aws am /usr/local/bin Verzeichnis. Der Befehlverwendet den -b Parameter, um das Verzeichnis anzugeben, in dem das Installationsprogramm awsSymlink-Datei. Sie müssen über Schreibberechtigungen für das angegebene Verzeichnis verfügen.

$ ./awscli-bundle/install -b ~/bin/aws

Dadurch wird das AWS CLI zum Standardstandort (~/.local/lib/aws) und erstellt einensymbolischen Link (symlink) bei ~/bin/aws. Stellen Sie sicher, dass ~/bin in Ihrem $PATHUmgebungsvariable für die Symbionation.

$ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if it doesn't)$ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary

4. Stellen Sie sicher, dass der Ordner AWS CLI Version 1 ist Teil Ihrer $PATH Variable.

a. Suchen Sie das Profilskript für die Shell in Ihrem Benutzerordner. Wenn Sie nicht sicher sind,welche Shell Sie haben, führen Sie aus.echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, oder .bash_login• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc oder .login

b. Fügen Sie einen Exportbefehl an das Ende Ihres Profilskripts hinzu und orientieren Sie sich dabeian folgendem Beispiel.

34

Page 40: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

export PATH=~/.local/bin:$PATH

Dieser Befehl fügt den Pfad ein, ~/.local/bin in diesem Beispiel an der Vorderseite desvorhandenen PATH Variable.

c. Laden Sie das Profil erneut in Ihre aktuelle Sitzung, damit die Änderungen wirksam werden.

$ source ~/.bash_profile

5. Überprüfen Sie, ob die AWS CLI ordnungsgemäß installiert wurde.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Wenn Sie eine Fehlermeldung erhalten, finden Sie weitere Informationen unter Behebung von AWSCLI-Fehlern (p. 180).

Deinstallieren des gebündelten AWS CLI Version 1-Installationsprogramms

Das gebündelte Installationsprogramm packt alles in das Installationsverzeichnis mit Ausnahme desoptionalen Symlinks. Zur Deinstallation müssen Sie nur diese beiden Elemente löschen.

$ sudo rm -rf /usr/local/aws$ sudo rm /usr/local/bin/aws

Installieren, Aktualisieren und Deinstallieren der AWS CLI Version1 mithilfe von pipSie können verwenden pip direkt zum Installieren der AWS CLI.

Themen• Installieren von pip (p. 35)• Installieren und Aktualisieren der AWS CLI mithilfe von pip (p. 36)• Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum macOS-Befehlszeilenpfad (p. 36)• Deinstallieren der AWS CLI mithilfe von pip (p. 37)

Installieren von pip

Wenn Sie noch nicht pip installiert werden, können Sie installieren, indem Sie Python Packaging Authoritybietet. Lauf pip --version um zu sehen, ob Ihre Linux-Version bereits Python enthält und pip. WennSie Python Version 3 haben oder später installiert haben, verwenden Sie das pip3 Befehl.

1. Laden Sie das Installationsskript mit dem Befehl curl herunter. Der folgende Befehl verwendet denParameter -O (Großbuchstabe „O“), um anzugeben, dass die heruntergeladene Datei im aktuellenOrdner unter Verwendung desselben Namens auf dem Remote-Host gespeichert werden soll.

$ curl -O https://bootstrap.pypa.io/get-pip.py

2. Führen Sie das Skript mit dem python oder python3 Befehl zum Herunterladen und Installieren derneuesten Version von pip und andere erforderliche Supportpakete. Wenn Sie das --user Switch, dieSkriptinstallation pip zum Pfad ~/.local/bin.

35

Page 41: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchmacOS

$ python3 get-pip.py --user

Installieren und Aktualisieren der AWS CLI mithilfe von pip

1. Verwenden Sie die pip oder pip3 zum Installieren des AWS CLI. Wir empfehlen Ihnen, beiVerwendung von Python-Version 3 oder höher den pip3-Befehl zu verwenden.

$ pip3 install awscli --upgrade --user

2. Überprüfen Sie, ob die AWS CLI ordnungsgemäß installiert wurde.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Darwin/18.7.0 botocore/1.13

Wenn das Programm nicht gefunden wird, fügen Sie ihn Ihrem Befehlszeilenpfad hinzu (p. 36).

Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum macOS-Befehlszeilenpfad

Nach der Installation mit pip, müssen Sie möglicherweise das aws zu Ihrem Betriebssystem PATHUmgebungsvariable. Der Speicherort des Programms hängt davon ab, wo Python installiert ist.

Example AWS CLI-Installationsspeicherort – macOS mit Python 3.6 und pip (Benutzermodus)

~/Library/Python/3.7/bin

Geben Sie anstelle der Version in dem Beispiel oben Ihre Python-Version an.

Wenn Sie nicht wissen, wo Python installiert ist, führen Sie auswhich python.

$ which python/usr/local/bin/python

Die Ausgabe ist möglicherweise der Pfad zu einem Symlink, nicht das tatsächliche Programm. Führen Siels -al aus, um festzustellen, wohin dieser verweist.

$ ls -al /usr/local/bin/python~/Library/Python/3.7/bin/python3.7

pip installiert Programme in demselben Ordner, der auch die Python-Anwendung enthält. Fügen Siediesen Ordner Ihrer PATH-Variablen hinzu.

So ändern Sie Ihre PATH Variable

1. Suchen Sie das Profilskript der Shell in Ihrem Benutzerverzeichnis. Wenn Sie nicht sicher sind, welcheShell Sie haben, führen Sie aus.echo $SHELL.

$ ls -a ~. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, oder .bash_login

36

Page 42: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWindows:

• Zsh – .zshrc• Tcsh – .tcshrc, .cshrc, oder .login

2. Fügen Sie dem Profilskript einen Exportbefehl hinzu.

export PATH=~/.local/bin:$PATH

Dieser Befehl fügt einen Pfad hinzu, ~/.local/bin in diesem Beispiel zum aktuellen PATH Variable.3. Laden Sie hochgeladene Profil in Ihre aktuelle Sitzung.

$ source ~/.bash_profile

Deinstallieren der AWS CLI mithilfe von pip

Wenn Sie die AWS CLI deinstallieren müssen, verwenden Sie pip uninstall.

$ pip3 uninstall awscli

Installieren, Aktualisieren und Deinstallieren AWS CLIVersion 1 auf WindowsSie können Version 1 der AWS Command Line Interface ( ( (AWS CLI) bei Windows durch Verwendungeines eigenständigen Installateurs (empfohlen) oder pip, ein Paket-Manager für Python. Wenn Sie bereitshaben.pip.

Wenn Sie einen Befehl eingeben, lassen Sie das Eingabeaufforderungssymbol (C:\>) weg. Diesedienen in Programm-Listings dazu, die Befehle, die Sie eingeben, von der Ausgabe zu unterscheiden,die von der CLI zurückgegeben wird. Im restlichen Teil dieses Handbuchs wird das allgemeineEingabeaufforderungssymbol ($) verwendet, außer in Fällen, in denen ein Befehl Windows-spezifisch ist.

Important

AWS CLI Version 1 unterstützt die Python-Versionen 2.6 und 3.3 nicht mehr. Alle Versionen vonAWS CLI Version 1 veröffentlichten nach dem 10. Januar 2020 ab 1.17 erfordern Python 2.7,Python 3.4 oder eine spätere Version.Diese Änderung hat keine Auswirkungen auf die Windows MSI-Installationsversion von AWS CLIVersion 1 und AWS CLI Version 2.Für weitere Informationen finden Sie unter Verwenden der AWS CLI Version 1 mit früherenVersionen von Python (p. 42) in diesem Handbuch und im Blog-Beitrag Ankündigung zurEinstellung.

Themen:• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 1 mit dem MSI-

Installationsprogramm (p. 38)• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 1 mit Python und pip unter

Windows (p. 39)• Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum Befehlszeilenpfad (p. 40)

37

Page 43: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWindows:

Installieren, Aktualisieren und Deinstallieren der AWS CLI Version1 mit dem MSI-InstallationsprogrammDie AWS CLI Version 1 wird unter Windows XP oder höher unterstützt. Für Windows-Benutzer bietet dasMSI-Installationsprogramm eine vertraute und praktische Methode zur Installation der AWS CLI Version 1,ohne vorab andere erforderliche Elemente installieren zu müssen.

Installieren und aktualisieren der AWS CLI Version 1 mit dem MSI-Installationsprogramm

Überprüfen Sie Releases Seite auf Github, um zu sehen, wann die neueste Version freigegeben wurde.Wenn Aktualisierungen veröffentlicht werden, müssen Sie die Installation wiederholen, um die aktuelleVersion des zu erhalten.AWS CLI Version 1.

1. Laden Sie das passende MSI-Installationsprogramm herunter.

• AWS CLI-MSI-Installationsprogramm für Windows (64-Bit): https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi

• AWS CLI-MSI-Installationsprogramm für Windows (32-Bit): https://s3.amazonaws.com/aws-cli/AWSCLI32PY3.msi

• AWS CLI kombinierte Setup-Datei für Windows: https://s3.amazonaws.com/aws-cli/awsclisetup.exe(umfasst sowohl die 32-Bit- als auch die 64-Bit-MSI-Installateure und installiert automatisch diekorrekte Version)

2. Führen Sie das heruntergeladene MSI-Installationsprogramm oder die Setup-Datei aus.3. Folgen Sie den Anweisungen auf dem Bildschirm. Standardmäßig AWS CLI Version 1 installiert C:

\Program Files\Amazon\AWSCLI (64-Bit-Version) oder C:\Program Files (x86)\Amazon\AWSCLI (32-Bit-Version).

4. Um die Installation zu bestätigen, verwenden Sie die aws --version Befehl an einerEingabeaufforderung (öffnen Sie die Starten und suchen Sie nach cmd um eine Eingabeaufforderungzu starten).

C:\> aws --versionaws-cli/1.18.134 Python/3.7.4 Windows/10 botocore/1.13

Wenn Windows das Programm nicht finden kann, müssen Sie die Eingabeaufforderung schließenund erneut öffnen, um den Pfad zu aktualisieren oder das Installationsverzeichnis zu Ihrem PFADhinzufügen (p. 40) Umgebungsvariable manuell.

Deinstallieren der AWS CLI Version 1

Um die folgenden Deinstallationsanweisungen verwenden zu können, müssen Sie die AWS CLI Version 1mit dem MSI-Installationsprogramm oder der Setup-Datei installiert haben.

1. Offen Programme und Funktionen indem Sie eine der folgenden Schritte ausführen:

• Öffnen Sie die Bedienfeldund wählen Sie dann Programme und Funktionen.• Öffnen Sie eine Eingabeaufforderung und geben Sie dann den folgenden Befehl ein.

C:\> appwiz.cpl

2. Wählen Sie den Eintrag aus AWS Command Line Interfaceund wählen Sie dann Deinstallieren um denDeinstallationspartner zu starten.

3. Bestätigen Sie, dass Sie die deinstallieren möchten.AWS CLI.

38

Page 44: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWindows:

Installieren, Aktualisieren und Deinstallieren der AWS CLI Version1 mit Python und pip unter WindowsDie Python Software Foundation bietet Installationsprogramme für Windows, die beinhalten.pip.

Installieren von Python.

1. Laden Sie das Python Windows-Installationsprogramm vom Download-Seite von Python.org.2. Führen Sie das Python-Installationsprogramm aus.3. Wählen Python 3 zu PATH hinzufügen.4. Wählen Jetzt installieren. Das Installationsprogramm installiert Python in Ihrem Benutzerordner und

fügt die Programmordner Ihrem Benutzerpfad hinzu.5. Am Starten Menü, wählen Sie Eingabeaufforderung.6. Zum Überprüfen, ob Python und pip korrekt installiert sind, verwenden Sie die folgenden Befehle und

bestätigen Sie, dass eine Ausgabe erfolgt.

C:\> python --versionPython 3.7.1C:\> pip3 --versionpip 19.2.3 from c:\program files\python37\lib\site-packages\pip (python 3.7)

Installieren und Aktualisieren der AWS CLI Version 1 mithilfe von pip

1. Installieren des AWS CLI Version 1, verwenden Sie pip3 Befehl (wenn Sie Python Version 3 oderhöher verwenden) oder pip Befehl.

C:\> pip3 install awscli

Um auf die neueste Version zu aktualisieren, führen Sie den Installationsbefehl mit dem --user und--upgrade Parameter.

C:\> pip3 install --user --upgrade awscli

2. Überprüfen Sie, ob die AWS CLI Version 1 ordnungsgemäß installiert wurde. Wenn keine Antworterfolgt, lesen Sie in Abschnitt Hinzufügen der ausführbaren AWS CLI Version 1-Datei zumBefehlszeilenpfad (p. 40) nach.

C:\> aws --versionaws-cli/1.18.134 Python/3.7.4 Windows/10 botocore/1.13

Deinstallieren der AWS CLI Version 1 mithilfe von pip

Wenn Sie das AWS CLI Version 1 verwenden pip, Sie müssen auch pip. Wenn Sie Python Version 3oder höher verwenden, empfehlen wir Ihnen, das pip3 Befehl.

C:\> pip3 uninstall awscli

Möglicherweise müssen Sie das Eingabeaufforderungsfenster oder den Computer neu starten, um alleDateien zu entfernen.

39

Page 45: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWindows:

Hinzufügen der ausführbaren AWS CLI Version 1-Datei zumBefehlszeilenpfadNach der Installation AWS CLI Version 1 mit pip, fügen Sie das aws zu Ihrem Betriebssystem PATHUmgebungsvariable. Bei einer MSI-Installation sollte dies automatisch erfolgen. Wenn der aws-Befehljedoch nach der Installation nicht ausgeführt wird, müssen Sie ihn möglicherweise manuell festlegen.

1. Verwenden Sie die where um die aws Dateispeicherort. Standardmäßig where zeigt an, wo einbestimmtes Programm im System gefunden wird PATH.

C:\> where aws

Welche Pfade angezeigt werden, hängt von Ihrer Plattform und der Methode ab, mit der Sie dieinstalliert haben.AWS CLI. Ordnernamen mit Versionsnummern, die sich ändern können. DieseBeispiele beziehen sich auf die Verwendung von Python Version 3.7. Ersetzen Sie die Version beiBedarf durch die von Ihnen verwendete Versionsnummer. Nachfolgend finden Sie Beispiele fürtypische Pfade:

• Python 3 und pip3 – C:\Program Files\Python37\Scripts\• Python 3 und pip3 --user Option auf früheren Versionen von Windows – %USERPROFILE%\AppData\Local\Programs\Python\Python37\Scripts

• Python 3 und pip3 - Benutzeroption auf Windows 10 – %USERPROFILE%\AppData\Roaming\Python\Python37\Scripts

• MSI-Installationsprogramm (64-Bit) – C:\Program Files\Amazon\AWSCLI\bin• MSI-Installationsprogramm (32-Bit) – C:\Program Files (x86)\Amazon\AWSCLI\bin

Führen Sie die folgenden Schritte aus, je nachdem, ob ein Dateipfad zurückgegeben wird.

A file path is returned

C:\> where awsC:\Program Files\Amazon\AWSCLI\bin\aws.exe

Mit dem folgenden Befehl finden Sie heraus, wo das aws-Programm installiert ist.

C:\> where c:\ awsC:\Program Files\Python37\Scripts\aws

A file path is NOT returned

Wenn where Befehl gibt den folgenden Fehler zurück, es ist nicht im System PATH und Siekönnen ihn nicht ausführen, indem Sie seinen Namen eingeben.

C:\> where c:\ awsINFO: Could not find files for the given pattern(s).

Führen Sie in diesem Fall die where mit dem Befehl /R path Parameter, um die Suche nachallen Ordnern zu veranlassen und dann den Pfad manuell hinzuzufügen. Verwenden Sie dieBefehlszeile oder den Datei-Explorer, um herauszufinden, wo es auf Ihrem Computer installiert ist.

C:\> where /R c:\ awsc:\Program Files\Amazon\AWSCLI\bin\aws.exec:\Program Files\Amazon\AWSCLI\bincompat\aws.cmd

40

Page 46: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVirtualenv

c:\Program Files\Amazon\AWSCLI\runtime\Scripts\awsc:\Program Files\Amazon\AWSCLI\runtime\Scripts\aws.cmd...

2. Drücken Sie die Windows-Taste und geben Sie ein.environment variables.3. Wählen Umgebungsvariablen für Ihr Konto bearbeiten.4. Wählen PATHund wählen Sie dann Bearbeiten.5. Fügen Sie den Pfad hinzu, den Sie in den Variabler Wert zum Beispiel C:\Program Files\Amazon

\AWSCLI\bin\aws.exe.6. Wählen OK zweimal, um die neuen Einstellungen anzuwenden.7. Schließen Sie alle laufenden Eingabeaufforderungen und öffnen Sie das Eingabeaufforderungsfenster

erneut.

Installieren und aktualisieren AWS CLI Version 1 ineiner virtuellen UmgebungSie können die Anforderungsversion nicht mit anderen umgehen pip Pakete, indem Sie Version 1 derAWS Command Line Interface ( ( (AWS CLI) in einer virtuellen Umgebung.

Themen:• Prerequisites (p. 41)• Installieren und Aktualisieren der AWS CLI Version 1 in einer virtuellen Umgebung (p. 41)

Prerequisites• Python 2 Version 2.7 oder höher bzw. Python 3 Version 3.4 oder höher. Installationsanweisungen finden

Sie im Python herunterladen Seite in Python's Anfänger-Guide.

Important

AWS CLI Version 1 unterstützt die Python-Versionen 2.6 und 3.3 nicht mehr. Alle Versionen vonAWS CLI Version 1 veröffentlichten nach dem 10. Januar 2020 ab 1.17 erfordern Python 2.7,Python 3.4 oder eine spätere Version.Diese Änderung hat keine Auswirkungen auf die Windows MSI-Installationsversion von AWSCLI Version 1 und AWS CLI Version 2.Für weitere Informationen finden Sie unter Verwenden der AWS CLI Version 1 mit früherenVersionen von Python (p. 42) in diesem Handbuch und im Blog-Beitrag Ankündigung zurEinstellung.

• pip oder pip3 ist installiert.

Installieren und Aktualisieren der AWS CLI Version 1 in einervirtuellen Umgebung1. Installieren virtualenv verwenden pip.

$ pip install --user virtualenv

2. Erstellen Sie eine virtuelle Umgebung und benennen Sie sie.

$ virtualenv ~/cli-ve

41

Page 47: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwenden der AWS CLI Version 1mit früheren Versionen von Python

Alternativ können Sie die Option -p verwenden, um eine andere als die Standardversion von Pythonanzugeben.

$ virtualenv -p /usr/bin/python37 ~/cli-ve

3. Aktivieren Sie die neue virtuelle Umgebung.

Linux oder macOS

$ source ~/cli-ve/bin/activate

Windows:

$ %USERPROFILE%\cli-ve\Scripts\activate

Die Eingabeaufforderung ändert sich und zeigt so an, dass Ihre virtuelle Umgebung aktiv ist.

(cli-ve)~$

4. Installieren oder aktualisieren Sie die AWS CLI Version 1 in Ihrer virtuellen Umgebung.

(cli-ve)~$ pip install --upgrade awscli

5. Überprüfen Sie, ob die AWS CLI Version 1 ordnungsgemäß installiert wurde.

$ aws --versionaws-cli/1.18.134 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

6. Sie können den Befehl deactivate verwenden, um die virtuelle Umgebung zu beenden. Wenn Sieeine neue Sitzung starten, müssen Sie die Umgebung erneut aktivieren.

Verwenden der AWS CLI Version 1 mit früherenVersionen von PythonAm 10. Januar 2020 werden die Python-Versionen 2.6 und 3.3 von AWS CLI Version 1, die eine separateInstallation von Python erforderlich macht, nicht mehr unterstützt. Alle Builds von AWS CLI Version 1veröffentlicht nach dem 10. Januar 2020, beginnend mit Version 1.17, erfordert Python 2.7, Python 3.4 odereine spätere Version, um die AWS CLI.

Diese Änderung hat keine Auswirkungen auf die folgenden Versionen der AWS CLI:

• Version der des Windows MSI-Installationsprogramms.AWS CLI Version 1. Das Windows MSI-Installationsprogramm der AWS CLI Version 1-Installation enthält und verwendet eine eigeneeingebettete Kopie von Python, unabhängig von jeder anderen Python-Version, die Sie möglicherweiseinstalliert haben. Wenn Sie eine AWS CLI auf der Basis eines MSI-Installationsprogramms verwenden,sind keine Änderungen erforderlich.

• AWS CLI Version 2.Die Installationsprogramme für AWS CLI Version 2 enthalten und verwendenalle eine eingebettete Kopie von Python, unabhängig von jeder anderen Python-Version, die Siemöglicherweise installiert haben. Wenn Sie AWS CLI Version 2verwenden, sind keine Änderungenerforderlich.

Weitere Informationen finden Sie im Ankündigung der Ablehnung in diesem Blog-Beitrag.

42

Page 48: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwenden der AWS CLI Version 1mit früheren Versionen von Python

So verwenden Sie eine frühere, nicht unterstützte Version von Python, wie Python 2.6 oder Python3.3, mit dem AWS CLI Version 1, Sie müssen eine Kopie von AWS CLI Version 1 die vor dem 10.Januar 2020 freigegeben wurden und verhindern, dass sie auf eine spätere Version aktualisiert werden.Verwendung einer früheren Version des AWS CLI Version 1 verhindert, dass Sie auf neue Services oderFunktionen zugreifen, die zum AWS CLI nach dem Datum, an dem Ihre frühere Version ursprünglichfreigegeben wurde. Wir empfehlen Ihnen, nach Möglichkeit Ihre Python-Version auf eine unterstützteVersion upzugraden und eine neuere Version der zu verwenden.AWS CLI Version 1.

pip

Sie können Kraft pip um eine AWS CLI Version 1 Version, die mit Python 2.6 oder Python 3.3 kompatibelist, indem Sie einen Befehl verwenden, der awscli<1.17, ähnlich dem folgenden Beispiel.

$ pip3 install --upgrade --user awscli<1.17

Wenn Sie das AWS CLI Version 1 verwenden pip-Anforderungsdatei, fügen Sie eine Zeile mit demfolgenden ein.

awscli<1.17

Gebündeltes Installationsprogramm unter Linux oder macOS

Laden Sie eine Kopie des gebündelten Installationsprogramms herunter, die eine Version der AWS CLIVersion 1 enthält, die mit der Python-Version kompatibel ist, die Sie verwenden möchten, und speichernSie sie. Sie können das folgende URL-Format verwenden, um die Datei herunterzuladen, ersetzen{VERSION} mit der Versionsnummer, die Sie verwenden möchten, wie dargestellt. Versionsnummern unter1.17 unterstützen die älteren Python-Versionen.

https://s3.amazonaws.com/aws-cli/awscli-bundle-{VERSION}.zip

Beispielsweise lädt der folgende Befehl die AWS CLI-Version 1.16.312 herunter.

$ curl https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip -o awscli-bundle.zip

Von hier aus können Sie die Installationsanweisungen nach dem Schritt fortsetzen, um dasInstallationsprogramm herunterzuladen.

• Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 1 unter macOS mit dem gebündeltenInstallationsprogramm (p. 32)

• Installieren und Deinstallieren der AWS CLI Version 1 unter Linux mit dem gebündeltenInstallationsprogramm (p. 27)

43

Page 49: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurationsgrundlagen

Konfigurieren des AWS CLIIn diesem Abschnitt wird erläutert, wie Sie die Einstellungen konfigurieren, mit denen AWS CommandLine Interface (AWS CLI) mit AWS interagiert. Dazu gehören Ihre Sicherheitsanmeldeinformationen, dasStandardausgabeformat und die AWS-Standardregion.

Note

AWS setzt voraus, dass alle eingehenden Anforderungen kryptografisch signiert sind. Das AWSCLI erledigt dies für Sie. Die "Signatur" enthält einen Datums-/Zeitstempel. Aus diesem Grundmüssen Sie sicherstellen, dass das Datum und die Uhrzeit des Computers korrekt eingestellt sind.Wenn nicht, weichen Datum/Uhrzeit in der Signatur zu stark von dem Datum und der Uhrzeit ab,die vom AWS-Service erkannt werden, sodass AWS die Anforderung ablehnt.

Topics• Konfigurationsgrundlagen (p. 44)• Einstellungen der Konfigurations- und Anmeldeinformationsdatei (p. 48)• Benannte Profile (p. 61)• Konfigurieren der AWS CLI für die Verwendung von AWS – Einmaliges Anmelden (p. 63)• Umgebungsvariablen zum Konfigurieren der AWS CLI (p. 68)• Befehlszeilenoptionen (p. 72)• Vervollständigung von Befehlen (p. 75)• AWS CLI Wiederholungen (p. 78)• Beschaffung von Anmeldeinformationen über einen externen Prozess (p. 82)• Abrufen von Anmeldeinformationen aus EC2-Instance-Metadaten (p. 84)• Verwenden eines HTTP-Proxys (p. 84)• Verwendung eines IAM Rolle im AWS CLI (p. 86)

KonfigurationsgrundlagenIn diesem Abschnitt wird erläutert, wie einfache Einstellungen, die AWS Command Line Interface( ( (AWS CLI) verwendet, um mit AWS. Dazu gehören Ihre Sicherheitsanmeldeinformationen, dasStandardausgabeformat und die AWS-Standardregion.

Note

AWS setzt voraus, dass alle eingehenden Anforderungen kryptografisch signiert sind. Das AWSCLI erledigt dies für Sie. Die "Signatur" enthält einen Datums-/Zeitstempel. Aus diesem Grundmüssen Sie sicherstellen, dass das Datum und die Uhrzeit des Computers korrekt eingestellt sind.Wenn Sie nicht sind und das Datum/die Uhrzeit der Unterschrift zu weit außerhalb des Datums/derZeit liegt, die vom AWS Service, AWS lehnt die Anforderung ab.

Themen:• Schnellkonfiguration mit aws configure (p. 45)• Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel (p. 45)• Region (p. 46)

44

Page 50: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchSchnellkonfiguration mit aws configure

• Ausgabeformat (p. 46)• Profiles (p. 47)• Konfigurationseinstellungen und Vorrang (p. 47)

Schnellkonfiguration mit aws configureZum allgemeinen Gebrauch aws configure Befehl ist die schnellste Möglichkeit, AWS CLI Installation.Wenn Sie diesen Befehl eingeben, werden Sie von der AWS CLI aufgefordert, vier Informationeneinzugeben:

• Zugriffsschlüssel-ID (p. 45)• Geheimer Zugriffsschlüssel (p. 45)• AWS Region (p. 46)• Ausgabeformat (p. 46)

Die AWS CLI speichert diese Informationen in einem Profil (eine Sammlung von Einstellungen)benannt default im credentials Datei. Standardmäßig werden die Informationen in diesemProfil verwendet, wenn Sie eine AWS CLI Befehl, der kein Profil zur Verwendung bestimmt. WeitereInformationen zur credentials-Datei finden Sie unter Einstellungen der Konfigurations- undAnmeldeinformationsdatei (p. 48)

Das folgende Beispiel zeigt Beispielwerte. Ersetzen Sie sie durch eigene Werte, wie in den folgendenAbschnitten beschrieben.

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: json

Zugriffsschlüssel-ID und geheimer ZugriffsschlüsselZugriffsschlüssel bestehen aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel. Diesewerden zum Signieren der von Ihnen ausgeführten programmgesteuerten Anforderungen an AWSverwendet. Wenn Sie noch keine Zugriffsschlüssel besitzen, können Sie diese über die AWS ManagementConsole erstellen. Verwenden Sie als bewährte Methode nicht die Stammbenutzer des AWS-Kontos-Zugriffsschlüssel für Aufgaben, für die dies nicht erforderlich ist. Erstellen Sie stattdessen einen neuen IAM-Benutzer mit Administratorrechten und mit Zugriffschlüsseln für Sie selbst.

Beim Erstellen der geheimen Zugriffschlüssel besteht die einzige Möglichkeit, diese anzuzeigen oderherunterzuladen. Später lassen sie sich nicht wieder wiederherstellen. Sie können jedoch jederzeit neueZugriffsschlüssel erstellen. Sie müssen auch über Berechtigungen verfügen, um die benötigten IAM-Aktionen durchzuführen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für denZugriff auf IAM-Ressourcen im IAM-Benutzerhandbuch.

So erstellen Sie Zugriffsschlüssel für einen IAM-Benutzer

1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

2. Klicken Sie im Navigationsbereich auf Users.3. Wählen Sie erst den Namen des Benutzers, dessen Zugriffsschlüssel Sie erstellen möchten, und dann

die Registerkarte Security credentials (Sicherheitsanmeldeinformationen) aus.

45

Page 51: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchRegion

4. Wählen Sie im Bereich Access keys (Zugriffsschlüssel) die Option Create access key(Zugriffsschlüssel erstellen).

5. Um das neue Zugriffsschlüsselpaar anzuzeigen, wählen Sie Show (Anzeigen). Sie haben keinenZugriff auf den geheimen Zugriffsschlüssel mehr, nachdem das Dialogfeld geschlossen wird. IhreAnmeldeinformationen sehen etwa folgendermaßen aus:

• Zugriffsschlüssel-ID: AKIAIOSFODNN7EXAMPLE• Geheimer Zugriffsschlüssel: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

6. Wählen Sie zum Herunterladen des Schlüsselpaares Download .csv file aus. Speichern Sie dieSchlüssel an einem sicheren Ort. Sie haben keinen Zugriff auf den geheimen Zugriffsschlüssel mehr,nachdem das Dialogfeld geschlossen wird.

Behandeln Sie die Schlüssel vertraulich, um Ihr AWS-Konto zu schützen, und senden Sie dieSchlüssel niemals per E-Mail. Geben Sie die Schlüssel nicht außerhalb Ihrer Organisation weiter, auchnicht im Falle von Anfragen, die von AWS oder Amazon.com zu kommen scheinen. Niemand, derAmazon legitim vertritt, wird Sie nach dem geheimen Schlüssel fragen.

7. Nachdem Sie die .csv-Datei heruntergeladen haben, klicken Sie auf Close (Schließen). Wenn Sieeinen Zugriffsschlüssel erstellen, ist das Schlüsselpaar standardmäßig aktiv, und Sie können es sofortverwenden.

Verwandte Themen

• Was ist IAM? im IAM-Benutzerhandbuch• AWS-Sicherheitsanmeldeinformationen in der AWS General Reference

RegionDie Default region name identifiziert die AWS Region, deren Server Ihre Anforderungen anstandardmäßig senden möchten. Dies ist in der Regel die nächstgelegene Region, aber jede Region istzulässig. Sie können zum Beispiel us-west-2 zu verwenden USA West (Oregon). Dies ist die Region, andie alle späteren Anfragen gesendet werden, es sei denn, Sie geben in einem Befehl etwas anderes an.

Note

Sie müssen eine AWS Region bei der Verwendung der AWS CLI, entweder explizit oder durchEinstellen einer Standardregion. Eine Liste der verfügbaren Regionen finden Sie unter Regionenund Endpunkte. Die von der verwendeten Region AWS CLI sind dieselben Namen, die Sie in AWSManagement Console URL und Service-Endpunkte.

AusgabeformatDas Default output format gibt an, wie die Ergebnisse formatiert werden. Bei dem Wert kann es sichum einen aus der folgenden Liste handeln. Wenn Sie kein Ausgabeformat angeben, wird standardmäßigjson verwendet.

• json (p. 116): Die Ausgabe wird als JSON-Zeichenfolge formatiert.• yaml (p. 116): Die Ausgabe wird als YAML-Zeichenfolge formatiert. (Nur in AWS CLI Version 2

verfügbar.)• yaml-stream (p. 117) – Die Ausgabe wird gestreamt und als YAML-Zeichenfolge formatiert.

Streaming ermöglicht eine schnellere Handhabung großer Datentypen. (Nur in AWS CLI Version 2verfügbar.)

• text (p. 118): Die Ausgabe wird als mehrzeilige Folge von Zeichenfolgewerten mit Tabulatoren alsTrennzeichen formatiert. Dies kann nützlich sein, wenn die Ausgabe an ein Modul zur Verarbeitung vonText wie grep, sed oder awk übergeben werden soll.

46

Page 52: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchProfiles

• table (p. 121): Die Ausgabe erfolgt in Form einer Tabelle mit den Zeichen +|-, die den Zellenrahmenbilden. Normalerweise wird die Information in einem benutzerfreundlichen Format wiedergegeben, dasviel einfacher zu lesen ist als die anderen, jedoch programmatisch nicht so nützlich ist.

ProfilesEine Sammlung von Einstellungen wird als Profil bezeichnet. Standardmäßig AWS CLI verwendet diedefault Profil. Sie können zusätzliche benannte Profile mit unterschiedlichen Anmeldeinformationenund Einstellungen erstellen und verwenden, indem Sie die Option --profile angeben und einen Namenzuweisen.

Im folgenden Beispiel wird ein Profil namens erstellt.produser.

$ aws configure --profile produserAWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLEAWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEYDefault region name [None]: us-east-1Default output format [None]: text

Sie können dann einen --profile profilename angeben und die Anmeldeinformationen undEinstellungen verwenden, die unter diesem Namen gespeichert sind.

$ aws s3 ls --profile produser

Um diese Einstellungen zu aktualisieren, führen Sie aws configure erneut (mit oder ohne --profileParameter, je nachdem, welches Profil Sie aktualisieren möchten) und geben Sie die neuen Werteentsprechend ein. In den nächsten Abschnitten finden Sie Informationen über die von aws configureerstellten Dateien sowie über zusätzliche Einstellungen und benannte Profile.

Weitere Informationen zu benannten Profilen finden Sie unter Benannte Profile (p. 61).

Konfigurationseinstellungen und VorrangDie AWS CLI verwendet Anmeldeinformationen und Konfigurationseinstellungen, die sich anmehreren Orten befinden, wie z. B. das System- oder Benutzerumgebungsvariablen, lokale AWSKonfigurationsdateien oder explizit in der Befehlszeile als Parameter erklärt. Bestimmte Speicherorte habenVorrang vor anderen. Die AWS CLI-Anmeldeinformationen und Konfigurationseinstellungen haben Vorrangin der folgenden Reihenfolge:

1. Befehlszeilenoptionen (p. 72) – Überschreibt Einstellungen an jedem anderen Standort. Sie könnenangeben --region, --output, und --profile als Parameter in der Befehlszeile.

2. Umgebungsvariablen (p. 68) – Sie können Werte in den Umgebungsvariablen Ihres Systemsspeichern.

3. CLI-Berechtigungsdatei (p. 48) – Die credentials und config Datei wird aktualisiert, wennSie den Befehl ausführen aws configure. Die credentials Datei befindet sich in ~/.aws/credentials auf Linux oder macOS, oder bei C:\Users\USERNAME\.aws\credentials unterWindows. Diese Datei kann die Anmeldeinformationsdetails für das default-Profil und alle benanntenProfile enthalten.

4. CLI-Konfigurationsdatei (p. 48) – Die credentials und config Datei wird aktualisiert, wenn Sieden Befehl ausführen aws configure. Die config Datei befindet sich in ~/.aws/config auf Linuxoder macOS, oder bei C:\Users\USERNAME\.aws\config unter Windows. Diese Datei enthält dieKonfigurationseinstellungen für das Standardprofil sowie alle benannten Profile.

5. Containerdaten – Sie können einen IAM mit jedem Ihrer Amazon Elastic Container Service ( ( (AmazonECS) Aufgabendefinitionen. Temporäre Anmeldeinformationen für diese Rolle stehen dann für die

47

Page 53: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEinstellungen der Konfigurations-

und Anmeldeinformationsdatei

Container dieser Aufgabe zur Verfügung. Weitere Informationen finden Sie unter IAM Rollen fürAufgaben im Amazon Elastic Container Service Developer Guide.

6. Instanzprofilanmeldeinformationen – Sie können einen IAM mit jedem Ihrer Amazon Elastic ComputeCloud ( ( (Amazon EC2) Instanzen. Temporäre Anmeldeinformationen für diese Rolle stehen dann fürden Code zur Verfügung, der in dieser Instance ausgeführt wird. Die Anmeldeinformationen werdenüber den Amazon EC2-Metadaten-Service bereitgestellt. Weitere Informationen finden Sie unter IAMRollen für Amazon EC2 im Amazon EC2-Benutzerhandbuch für Linux-Instances und Verwenden vonInstanzprofilen im IAM-Benutzerhandbuch.

Einstellungen der Konfigurations- undAnmeldeinformationsdatei

Sie können Ihre häufig verwendeten Konfigurationseinstellungen und Anmeldeinformationen in Dateienspeichern, die von der AWS CLIverwaltet werden.

Die Dateien sind unterteilt in profiles. (z. B.. Standardmäßig verwendet die CLI die Einstellungen, dieim Profil mit dem Namen gefunden wurden. default. (z. B.. Um alternative Einstellungen zu verwenden,können Sie zusätzliche Profile erstellen und referenzieren. Weitere Informationen zu benannten Profilenfinden Sie unter Benannte Profile (p. 61).

Sie können eine einzelne Einstellung überschreiben, indem Sie entweder eine der unterstütztenUmgebungsvariablen definieren oder einen Befehlszeilenparameter verwenden. Weitere Informationenzum Vorrang der Konfigurationseinstellungen finden Sie unter Konfigurationseinstellungen undVorrang (p. 47).

Topics• Wo werden Konfigurationseinstellungen gespeichert? (p. 48)• Festlegen und Anzeigen von Konfigurationseinstellungen (p. 49)• Unterstützte Einstellungen in der config-Datei (p. 51)

Wo werden Konfigurationseinstellungen gespeichert?Die AWS CLI speichert vertrauliche Anmeldeinformationen, die Sie mit aws configure angeben, ineiner lokalen Datei namens credentials in einem Ordner namens .aws in Ihrem Stammverzeichnis.Die weniger vertraulichen Konfigurationsoptionen, die Sie mit aws configure angeben, werden in einerlokalen Datei namens config gespeichert, die sich ebenfalls im Ordner .aws Ihres Stammverzeichnissesbefindet.

Speichern von Anmeldeinformationen in der Konfigurationsdatei

Sie können alle Profileinstellungen in einer einzigen Datei speichern, da die AWS CLIAnmeldeinformationen aus der Datei config lesen kann. Wenn in beiden DateienAnmeldeinformationen für ein Profil mit demselben Namen vorhanden sind, haben die Schlüssel inder Anmeldeinformationsdatei Vorrang.Diese Dateien werden auch von den Software Development Kits (SDKs) für verschiedeneSprachen verwendet. Wenn Sie eine der SDKs zusätzlich zu den AWS CLI, bestätigen Sie, ob dieAnmeldeinformationen in ihrer eigenen Datei gespeichert werden sollen.

Der Speicherort Ihres Stammverzeichnis hängt vom Betriebssystem ab. Die folgendenUmgebungsvariablen verweisen auf dieses: %UserProfile% in Windows und $HOME oder ~ (Tilde)in Unix-basierten Systemen. Sie können auch einen Nicht-Standard-Speicherort für die Datei configangeben, indem Sie die Umgebungsvariable AWS_CONFIG_FILE auf einen anderen lokalen Pfad setzen.Einzelheiten dazu finden Sie unter Umgebungsvariablen zum Konfigurieren der AWS CLI (p. 68).

48

Page 54: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFestlegen und Anzeigen von Konfigurationseinstellungen

Beispielsweise ähneln die von der CLI generierten Dateien für ein Standardprofil, das mit aws configurekonfiguriert ist, den folgenden.

~/.aws/credentials

[default]aws_access_key_id=AKIAIOSFODNN7EXAMPLEaws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default]region=us-west-2output=json

Dateibeispiele mit mehreren benannten Profilen finden Sie unter Benannte Profile (p. 61).

Wenn Sie ein freigegebenes Profil verwenden, das eine AWS Identity and Access Management(IAM)-Rolle angibt, ruft die AWS CLI die AWS STS-Operation AssumeRole auf, um temporäreAnmeldeinformationen abzurufen. Diese Anmeldeinformationen werden dann (in ~/.aws/cli/cache) gespeichert. Nachfolgende AWS CLI-Befehle verwenden die zwischengespeichertentemporären Anmeldeinformationen, bis sie ablaufen. Dann aktualisiert die AWS CLI automatisch dieAnmeldeinformationen.

Festlegen und Anzeigen vonKonfigurationseinstellungenEs gibt mehrere Möglichkeiten, Ihre Konfigurationseinstellungen in den Dateien anzuzeigen undfestzulegen.

Anmeldeinformationen und Konfigurationsdatei

Sie können Ihre Einstellungen anzeigen und bearbeiten, indem Sie die Dateien credentials undconfig direkt in einem Texteditor bearbeiten. Weitere Informationen finden Sie unter Wo werdenKonfigurationseinstellungen gespeichert? (p. 48)

Um eine Einstellung zu entfernen, löschen Sie die entsprechende Einstellung in Ihren credentials-und config-Dateien.

aws configure

Führen Sie diesen Befehl aus, um Ihre Anmeldeinformationen, Ihre Region und das Ausgabeformatschnell festzulegen und anzuzeigen. Das folgende Beispiel zeigt Beispielwerte.

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: json

Weitere Informationen finden Sie unter Schnellkonfiguration mit aws configure (p. 45)aws configure set

Sie können alle Anmeldeinformationen oder Konfigurationseinstellungen mit festlegen. awsconfigure set. (z. B.. Geben Sie das Profil an, das Sie anzeigen oder ändern möchten mit der --profile Einstellung.

49

Page 55: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFestlegen und Anzeigen von Konfigurationseinstellungen

Mit dem folgenden Befehl beispielsweise wird die region in dem Profil mit dem Namen integfestgelegt.

$ aws configure set region us-west-2 --profile integ

Um eine Einstellung zu entfernen, verwenden Sie eine leere Zeichenfolge als Wert, oder löschen Siedie Einstellung in den credentials- und config-Dateien manuell in einem Texteditor.

$ aws configure set cli_pager "" --profile integ

aws configure get

Sie können alle Anmeldeinformationen oder Konfigurationseinstellungen abrufen, die Sie mit festgelegthaben. aws configure get. (z. B.. Geben Sie das Profil an, das Sie anzeigen oder ändern möchtenmit der --profile Einstellung.

Beispielsweise wird mit dem folgenden Befehl dieregion-Einstellung in dem Profil mit dem Nameninteg abgerufen.

$ aws configure get region --profile integus-west-2

Wenn die Ausgabe leer ist, ist die Einstellung nicht explizit festgelegt und es wird der Standardwertverwendet.

aws configure import

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie istnicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation vonVersion 2 finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version2 (p. 4).

Importieren von CSV-Anmeldeinformationen, die von der AWS-Webkonsole generiert wurden. EineCSV-Datei wird importiert, wobei der Profilname mit dem IAM-Benutzernamen übereinstimmt.

$ aws configure import –csv file://credentials.csv

aws configure list

Um alle Konfigurationsdaten aufzulisten, verwenden Sie den Befehl aws configure list. DieserBefehl zeigt den AWS CLI-Namen aller Einstellungen, die Sie konfiguriert haben, ihre Werte, und vonwo aus die Konfiguration abgerufen wurde.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None Noneaccess_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION

aws configure list-profiles

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie istnicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von

50

Page 56: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

Version 2 finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version2 (p. 4).

Um alle Profilnamen aufzulisten, verwenden Sie den Befehl aws configure list-profiles.

$ aws configure list-profilesdefaulttest

Unterstützte Einstellungen in der config-DateiThemen

• Globale Einstellungen (p. 51)• Einstellungen für benutzerdefinierte S3-Befehle (p. 58)

Die folgenden Einstellungen werden in der config-Datei unterstützt. Es werden die Werte in demangegebenen Profil (oder dem Standardprofil) verwendet, es sei denn, sie werden durch eine gleichnamigeUmgebungsvariable oder eine gleichnamige Befehlszeilenoption überschrieben. Weitere Informationendarüber, welche Rangfolgeeinstellungen Vorrang haben, finden Sie unter Konfigurationseinstellungen undVorrang (p. 47)

Globale Einstellungenapi_versions

Einige AWS-Services unterhalten mehrere API-Versionen zur Unterstützung der Abwärtskompatibilität.Standardmäßig wird in CLI-Befehlen die neueste verfügbare API-Version verwendet. Durch Angabeder Einstellung api_versions in der config-Datei können Sie eine API-Version angeben, die für einProfil verwendet werden soll.

Hierbei handelt es sich um eine „verschachtelte” Einstellung, auf die eine oder mehrere eingerückteZeilen folgen, in denen jeweils ein AWS-Service und die zu verwendende API-Version angegebensind. Informationen zu den jeweils verfügbaren API-Versionen finden Sie in der Dokumentation zu deneinzelnen Services.

Im folgenden Beispiel sehen Sie, wie Sie eine API-Version für zwei AWS-Services angeben können.Diese API-Versionen werden nur für Befehle verwendet, die unter dem Profil mit diesen Einstellungenausgeführt werden.

api_versions = ec2 = 2015-03-01 cloudfront = 2015-09-017

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder einen entsprechendenBefehlszeilenparameter.

aws_access_key_id (p. 45)

Gibt den AWS-Zugriffsschlüssel an, der als Teil der Anmeldeinformationen zur Authentifizierung derBefehlsanforderung verwendet wird. Zwar kann dieses in der config-Datei gespeichert werden, wirempfehlen Ihnen jedoch, es in der credentials-Datei zu speichern.

Kann von der Umgebungsvariablen AWS_ACCESS_KEY_ID überschrieben werden. Es ist nichtmöglich, die Zugriffsschlüssel-ID als Befehlszeilenoption anzugeben.

51

Page 57: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

aws_access_key_id = 123456789012

aws_secret_access_key (p. 45)

Gibt den geheimen AWS-Schlüssel an, der als Teil der Anmeldeinformationen zur Authentifizierung derBefehlsanforderung verwendet wird. Zwar kann dieses in der config-Datei gespeichert werden, wirempfehlen Ihnen jedoch, es in der credentials-Datei zu speichern.

Kann von der Umgebungsvariablen AWS_SECRET_ACCESS_KEY überschrieben werden. Es ist nichtmöglich, den geheimen Zugriffsschlüssel als Befehlszeilenoption anzugeben.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

aws_session_token

Gibt ein AWS-Sitzungs-Token an. Ein Sitzungs-Token ist nur erforderlich, wenn Sie manuell temporäreAnmeldeinformationen angeben. Zwar kann dieses in der config-Datei gespeichert werden, wirempfehlen Ihnen jedoch, es in der credentials-Datei zu speichern.

Kann von der Umgebungsvariablen AWS_SESSION_TOKEN überschrieben werden. Es ist nichtmöglich, das Sitzungs-Token als Befehlszeilenoption anzugeben.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk

ca_bundle

Gibt eine CA-Zertifikat-Bundle (eine Datei mit der Erweiterung .pem) an, die zur Überprüfung von SSL-Zertifikaten verwendet wird.

Kann von der Umgebungsvariablen AWS_CA_BUNDLE oder mit der Befehlszeilenoption --ca-bundleüberschrieben werden.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem

cli_binary_format

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie istnicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation vonVersion 2 finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version2 (p. 4).

Gibt an, wie die AWS CLI Version 2 binäre Eingabeparameter interpretiert. Dabei kann es sich umeinen der folgenden Werte handeln:• base64 – Dies ist der Standardwert. Ein Eingabeparameter, der als BLOB (Binary Large Object)

eingegeben wird, akzeptiert eine base64-kodierte Zeichenfolge. Um echten binären Inhalt zuübergeben, legen Sie den Inhalt in eine Datei und geben den Pfad und den Namen der Datei mitdem Präfix fileb:// als Wert des Parameters an. Um in einer Datei enthaltenen base64-kodiertenText zu übergeben, geben Sie den Pfad und den Namen der Datei mit dem Präfix file:// als Wertdes Parameters an.

• raw-in-base64-out– Bietet Abwärtskompatibilität mit dem AWS CLI Version 1-Verhalten, bei demBinärwerte exakt wie angegeben übergeben werden müssen.

52

Page 58: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

Dieser Eintrag verfügt über keine entsprechende Umgebungsvariable. Sie können den Wert in einemeinzelnen Befehl mit dem Parameter --cli-binary-format raw-in-base64-out angeben.

cli_binary_format = raw-in-base64-out

Wenn Sie einen Binärwert in einer Datei mit der Präfixnotation fileb:// referenzieren, erwartet dieAWS CLI immer, dass die Datei unformatierten binären Inhalt enthält, und versucht nicht, den Wert zukonvertieren.

Wenn Sie einen binären Wert in einer Datei mithilfe der Präfixnotation file:// referenzieren,behandelt die AWS CLI die Datei entsprechend der aktuellen cli_binary_format-Einstellung.Wenn der Wert dieser Einstellung base64 lautet (der Standardwert, wenn nicht explizit festgelegt),erwartet die CLI, dass die Datei base64-kodierten Text enthält. Wenn der Wert dieser Einstellung raw-in-base64-out lautet, erwartet die CLI, dass die Datei unformatierten binären Inhalt enthält.

cli_follow_urlparam

Diese Funktion ist nur mit AWS CLI Version 1 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 1 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 2 ausführen.

Gibt an, ob die CLI versucht, URL-Links in Befehlszeilenparametern zu folgen, die mit beginnenhttp:// oder https://. (z. B.. Wenn diese Option aktiviert ist, wird der abgerufene Inhalt alsParameterwert anstelle der URL verwendet.• wahrheitsgemäß – Dies ist der Standardwert. Wenn angegeben, werden alle Zeichenfolgeparameter

abgerufen, die mit http:// oder https:// beginnen, und die heruntergeladenen Inhalte werdenals Parameterwert für den Befehl verwendet.

• false – Wenn angegeben, behandelt die CLI Zeichenfolgewerte des Parameters, die mit http://oder https:// beginnen, nicht anders als andere Zeichenfolgen.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

cli_follow_urlparam = false

cli_pager

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie istnicht verfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation vonVersion 2 finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version2 (p. 4).

Gibt das für die Ausgabe verwendete Pager-Programm an. Standardmäßig gibt AWS CLI Version 2 diegesamte Ausgabe über das Standard-Pager-Programm Ihres Betriebssystems zurück.

Kann durch die Umgebungsvariable AWS_PAGER außer Kraft gesetzt werden.

cli_pager=less

Um die gesamte Verwendung eines externen Auslagerungsprogramms zu deaktivieren, setzen Sie dieVariable auf eine leere Zeichenfolge, wie im folgenden Beispiel gezeigt.

cli_pager=

53

Page 59: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

cli_timestamp_format

Gibt das Format der in der Ausgabe enthaltenen Zeitstempelwerte an. Sie können einen der folgendenWerte angeben:• iso8601: Der Standardwert für AWS CLI Version 2. Die AWS CLI formatiert alle Zeitstempel nach

ISO 8601 neu.• wire: Der Standardwert für AWS CLI Version 1. Die AWS CLI zeigt alle Zeitstempelwerte genau so

an, wie sie in der HTTP-Abfrageantwort empfangen wurden.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

cli_timestamp_format = iso8601

credential_process (p. 82)

Gibt einen externen Befehl an, den die CLI ausführt, um Authentifizierungs-Anmeldeinformationen fürdiesen Befehl zu generieren oder abzurufen. Der Befehl muss die Anmeldeinformationen in einembestimmten Format zurückgeben. Weitere Informationen zur Verwendung dieser Einstellung finden Sieunter Beschaffung von Anmeldeinformationen über einen externen Prozess (p. 82).

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

credential_process = /opt/bin/awscreds-retriever --username susan

credential_source (p. 86)

Wird innerhalb von Amazon EC2-Instances oder EC2-Containern verwendet, um anzugeben, wo dieAWS CLI Anmeldeinformationen für die Übernahme der Rolle finden kann, die Sie mit dem Parameterrole_arn angegeben haben. Sie können source_profile und credential_source nicht imselben Profil angeben.

Dieser Parameter kann einen von drei Werten haben:• Umgebung: Gibt an, dass die AWS CLI Quellanmeldeinformationen aus Umgebungsvariablen

abrufen soll.• Ec2InstanceMetadata – Gibt an, dass die AWS CLI ist die Verwendung der IAM Rolle angehängt an

die EC2-Instance-Profil (EC2-Instance-Profil) um Quell-Anmeldeinformationen abzurufen.• EcsContainer – Gibt an, dass die AWS CLI ist die Verwendung der IAM -Rolle, die dem ECS-

Container als Quellanmeldeinformationen angefügt ist.

credential_source = Ec2InstanceMetadata

duration_seconds

Gibt die maximale Dauer der Rollensitzung in Sekunden an. Der Wert kann zwischen 900 Sekunden(15 Minuten) und der maximalen Sitzungsdauer für die Rolle liegen maximal 43.200). DieserParameter ist optional. Standardmäßig ist der Wert auf 3.600 Sekunden festgelegt.

external_id (p. 89)

Gibt eine eindeutige Kennung an, die von Dritten verwendet wird, um eine Rolle in den Konten ihrerKunden zu übernehmen. Dies entspricht dem Parameter ExternalId in der Operation AssumeRole.Dieser Parameter wird nur benötigt, wenn die Vertrauensrichtlinie für die Rolle einen Wert für angibt.ExternalId. (z. B.. Weitere Informationen finden Sie unter So verwenden Sie ein externes Gateway,wenn Sie einem Dritten Zugriff auf Ihre AWS-Ressourcen gewähren in der IAM-Benutzerhandbuch.

max_versuche (p. 78)

Gibt einen Wert für maximale Wiederholungsversuche an AWS CLI Wiederholversuchs-Handlerverwendet, wobei der erste Anruf auf die max_attempts Wert, den Sie bereitstellen.

54

Page 60: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

Sie können diesen Wert überschreiben, indem Sie die AWS_MAX_ATTEMPTS Umgebungsvariable.

max_attempts = 3

mfa_serial (p. 88)

Die ID eines MFA-Geräts, das verwendet werden soll, wenn eine Rolle übernommen wird. Diese istnur erforderlich, wenn die Vertrauensrichtlinie der übernommenen Rolle eine Bedingung enthält, fürdie eine MFA-Authentifizierung erforderlich ist. Der Wert kann entweder eine Seriennummer für einHardwaregerät (z. B. GAHT12345678) oder ein Amazon-Ressourcenname (ARN) für ein virtuellesMFA-Gerät (z. B. arn:aws:iam::123456789012:mfa/user) sein.

output (p. 46)

Gibt das Standardausgabeformat für Befehle an, die mit diesem Profil angefordert wurden. Sie könnenalle folgenden Werte angeben:• json (p. 116): Die Ausgabe wird als JSON-Zeichenfolge formatiert.• yaml (p. 116): Die Ausgabe wird als YAML-Zeichenfolge formatiert. (Nur in AWS CLI Version 2

verfügbar.)• yaml-stream (p. 117) – Die Ausgabe wird gestreamt und als YAML-Zeichenfolge formatiert.

Streaming ermöglicht eine schnellere Handhabung großer Datentypen. (Nur in AWS CLI Version 2verfügbar.)

• text (p. 118): Die Ausgabe wird als mehrzeilige Folge von Zeichenfolgewerten mit Tabulatorenals Trennzeichen formatiert. Dies kann nützlich sein, wenn die Ausgabe an ein Modul zurVerarbeitung von Text wie grep, sed oder awk übergeben werden soll.

• table (p. 121): Die Ausgabe erfolgt in Form einer Tabelle mit den Zeichen +|-, die denZellenrahmen bilden. Normalerweise wird die Information in einem benutzerfreundlichen Formatwiedergegeben, das viel einfacher zu lesen ist als die anderen, jedoch programmatisch nicht sonützlich ist.

Kann von der Umgebungsvariablen AWS_DEFAULT_OUTPUT oder mit der Befehlszeilenoption --output überschrieben werden.

output = table

parameter_validation

Gibt an, ob der AWS CLI-Client versucht, Parameter zu validieren, bevor diese an den AWS-Service-Endpunkt gesendet werden.• wahrheitsgemäß – Dies ist der Standardwert. Wenn festgelegt, nimmt die CLI eine lokale Validierung

von Befehlszeilenparametern vor.• false: Wenn festgelegt, validiert die CLI die Befehlszeilenparameter nicht, bevor diese an den AWS-

Service-Endpunkt gesendet werden.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

parameter_validation = false

region (p. 46)

Gibt die AWS-Region an, an die Anforderungen für Befehle gesendet werden sollen, die mit diesemBefehl angefordert wurden.• Sie können einen der für den ausgewählten Service verfügbaren Regionscodes angeben, die unter

AWS-Regionen und -Endpunkte in der Allgemeine Amazon Web Services-Referenz aufgeführt sind.

55

Page 61: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

• Mit aws_global können Sie den globalen Endpunkt für Services angeben, die neben regionalenEndpunkten auch einen globalen Endpunkt unterstützen, z. B. AWS Security Token Service (AWSSTS) und Amazon Simple Storage Service (Amazon S3).

Sie können diesen Wert überschreiben, indem Sie die Umgebungsvariable AWS_DEFAULT_REGIONoder die Befehlszeilenoption --region verwenden.

region = us-west-2

Wiederholungsmodus (p. 78)

Gibt an, welcher Wiederholungsmodus AWS CLI verwendet. Es stehen drei Wiederholungsmodi zurVerfügung: Legacy (Standard), Standard und adaptive. Weitere Informationen zu Wiederholversuchenfinden Sie unter AWS CLI Wiederholungen (p. 78).

Sie können diesen Wert überschreiben, indem Sie die AWS_RETRY_MODE Umgebungsvariable.

retry_mode = standard

role_arn (p. 86)

Gibt den Amazon-Ressourcennamen (ARN) einer IAM-Rolle an, die Sie zum Ausführen der AWSCLI-Befehle verwenden möchten. Sie müssen auch einen der folgenden Parameter angeben, um dieAnmeldeinformationen zu identifizieren, die berechtigt sind, diese Rolle zu übernehmen:• source_profile• credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

role_session_name (p. 90)

Gibt den Namen an, der der Rollensitzung zugeordnet werden soll. Dieser Wert wird demRoleSessionName Parameter, wenn die AWS CLI ruft die AssumeRole -Operation und wird Teildes Benutzer-ARN der angenommenen Rolle: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. (z. B.. Dies ist ein optionaler Parameter. Wenn Sie diesenWert nicht angeben, wird automatisch ein Sitzungsname generiert. Dieser Name wird in den AWSCloudTrail-Protokollen für Einträge angezeigt, die dieser Sitzung zugeordnet sind.

role_session_name = maria_garcia_role

source_profile (p. 86)

Gibt ein benanntes Profil mit langfristigen Anmeldeinformationen an, die die AWS CLI verwendenkann, um eine Rolle zu übernehmen, die Sie mit dem Parameter role_arn angegeben haben. Siekönnen source_profile und credential_source nicht im selben Profil angeben.

source_profile = production-profile

sso_account_id (p. 63) (Nur in AWS CLI Version 2 verfügbar.)

Die AWS-Konto-ID, die die IAM-Rolle mit der Berechtigung enthält, die Sie dem zugeordneten AWSSSO-Benutzer erteilen möchten.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

sso_account_id = 123456789012

56

Page 62: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

sso_region (p. 63) (Nur in AWS CLI Version 2 verfügbar.)

Gibt die AWS-Region an, die den AWS SSO-Portalhost enthält. Diese ist getrennt vom region-Standard-CLI-Parameter und kann eine andere Region sein.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

aws_sso_region = us_west-2

sso_role_name (p. 63) (Nur in AWS CLI Version 2 verfügbar.)

Gibt den Anzeigenamen der IAM-Rolle an, die die Berechtigungen des Benutzers bei der Verwendungdieses Profils definiert.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

sso_role_name = ReadAccess

sso_start_url (p. 63) (Nur in AWS CLI Version 2 verfügbar.)

Gibt die URL an, die auf das AWS SSO-Benutzerportal der Organisation verweist. Die AWS CLIverwendet diese URL, um eine Sitzung mit dem AWS SSO-Service zur Authentifizierung seinerBenutzer einzurichten.

Diese Einstellung verfügt nicht über eine Umgebungsvariable oder eine Befehlszeilenoption.

sso_start_url = https://my-sso-portal.awsapps.com/start

sts_regional_endpoints

Gibt an, wie die AWS CLI den AWS-Service-Endpunkt bestimmt, den der AWS CLI-Client zurKommunikation mit dem AWS Security Token Service (AWS STS) verwendet.• Der Standardwert für den AWS CLI Version 1 beträgt legacy.• Der Standardwert für den AWS CLI Version 2 beträgt regional.

Sie können einen von zwei Werten angeben:• legacy – Verwendet den globalen STS-Endpunkt, sts.amazonaws.com, für die folgenden AWS

Regionen: ap-northeast-1, , und Sie haben die Möglichkeit ap-south-1, , und Sie habendie Möglichkeit ap-southeast-1, , und Sie haben die Möglichkeit ap-southeast-2, , undSie haben die Möglichkeit aws-global, , und Sie haben die Möglichkeit ca-central-1, , undSie haben die Möglichkeit eu-central-1, , und Sie haben die Möglichkeit eu-north-1, , undSie haben die Möglichkeit eu-west-1, , und Sie haben die Möglichkeit eu-west-2, , und Siehaben die Möglichkeit eu-west-3, , und Sie haben die Möglichkeit sa-east-1, , und Sie habendie Möglichkeit us-east-1, , und Sie haben die Möglichkeit us-east-2, , und Sie haben dieMöglichkeit us-west-1, und us-west-2. (z. B.. Alle anderen Regionen verwenden automatischihren jeweiligen regionalen Endpunkt.

• regional – Die AWS CLI verwendet immer den AWS STS-Endpunkt für die aktuell konfigurierteRegion. Wenn der Client beispielsweise für die Verwendung von us-west-2 konfiguriert ist, werdenalle Aufrufe von AWS STS über den regionalen Endpunkt sts.us-west-2.amazonaws.comanstatt des globalen Endpunkts sts.amazonaws.com ausgeführt. Um eine Anforderung an denglobalen Endpunkt zu senden, während diese Einstellung aktiviert ist, können Sie die Region aufaws-global festlegen.

57

Page 63: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

Diese Einstellung kann mit der Umgebungsvariablen AWS_STS_REGIONAL_ENDPOINTSüberschrieben werden. Sie können diesen Wert nicht als Befehlszeilenparameter festlegen.

web_identity_token_file (p. 90)

Gibt den Pfad zu einer Datei an, die eine enthält OAuth Zugriffstoken oder OpenID Verbindungs-ID-Token, das von einem Identitätsanbieter bereitgestellt wird. Die AWS CLI lädt denInhalt dieser Datei und übergibt ihn als WebIdentityToken-Argument an die OperationAssumeRoleWithWebIdentity.

tcp_keepalive

Gibt an, ob der AWS CLI-Client TCP-Keepalive-Pakete verwendet.

Zu diesem Eintrag gibt es keine entsprechende Umgebungsvariable oder Befehlszeilenoption.

tcp_keepalive = false

Einstellungen für benutzerdefinierte S3-BefehleAmazon S3 unterstützt mehrere Einstellungen zur Konfiguration der Ausführung von Amazon S3-Operationen über die AWS CLI. Einige gelten für alle S3-Befehle in den s3-Namespaces und dens3api-Namespaces. Andere beziehen sich speziell auf „benutzerdefinierte” S3-Befehle, die allgemeineOperationen abstrahieren und mehr als eine Eins-zu-eins-Zuordnung zu einer API-Operation vornehmen.Für die aws s3-Übertragungsbefehle cp, sync, mv und rm gibt es zusätzliche Einstellungen, die Sie zurSteuerung von S3-Übertragungen verwenden können.

Alle diese Optionen können durch Angabe der verschachtelten Einstellung s3 in Ihrer config-Dateikonfiguriert werden. Jede Einstellung wird dann in einer eigenen Zeile eingerückt.

Note

Diese Einstellungen sind völlig optional. Die aws s3-Übertragungsbefehle müssten auch ohneKonfiguration dieser Einstellungen erfolgreich ausgeführt werden können. Die Einstellungenwerden bereitgestellt, damit Sie die Leistung verbessern oder die besondere Umgebungberücksichtigen können, in der Sie diese aws s3-Befehle ausführen.

Die folgenden Einstellungen gelten für alle S3-Befehle in den s3- oder s3api-Namespaces.

addressing_style

Gibt an, welcher Adressierungsstil verwendet werden soll. Dieser Wert steuert, ob der Bucketname imHostnamen enthalten oder Teil der URL ist. Folgende Werte sind zulässig: path, , und Sie haben dieMöglichkeit virtual, und auto. (z. B.. Der Standardwert ist auto.

Es gibt zwei Möglichkeiten, einen S3-Endpunkt zu erstellen. Die erste wird als virtualbezeichnet und beinhaltet den Bucket-Namen als Teil des Hostnamens. Beispiel:https://bucketname.s3.amazonaws.com. (z. B.. Alternativ können Sie mit dem path Stilsbehandeln Sie den Bucket-Namen so, als ob es sich um einen Pfad im URI handelt, z. B. https://s3.amazonaws.com/bucketname. (z. B.. Der Standardwert in der CLI ist auto, das versucht,die virtual Stil, wo es sein kann, aber auf path Stil, wenn erforderlich. Wenn Ihr Bucket-Namebeispielsweise nicht DNS-kompatibel ist, kann er nicht Teil des Hostnamens sein und muss im Pfadenthalten sein. Bei Verwendung von auto erkennt die CLI diese Bedingung und schaltet automatischzum path-Stil um. Wenn Sie als Adressierungsstil path festlegen, müssen Sie sicherstellen, dass dieAWS-Region, die Sie in der AWS CLI konfiguriert haben, mit der Region Ihres Buckets übereinstimmt.

payload_signing_enabled

Gibt an, ob eine SHA256-Signatur für sigv4-Nutzlasten erfolgen soll. Standardmäßig ist dieseEinstellung bei Verwendung von HTTPS für Streaming-Uploads (UploadPart und PutObject)

58

Page 64: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

deaktiviert. Standardmäßig ist die Einstellung für Streaming-Uploads (UploadPart und PutObject)auf false gesetzt, allerdings nur, wenn ContentMD5 vorhanden ist (wird standardmäßig generiert)und der Endpunkt HTTPS verwendet.

Wenn die Einstellung auf „true” gesetzt wird, erhalten S3-Anforderungen eine zusätzlicheInhaltsvalidierung in Form einer SHA256-Prüfsumme, die berechnet und in die Anforderungssignaturaufgenommen wird. Wenn „false” festgelegt ist, wird die Prüfsumme nicht berechnet. EineDeaktivierung dieser Einstellung kann nützlich sein, um den durch die Prüfsummenberechnungentstandenen Leistungsaufwand zu reduzieren.

use_dualstack_endpoint

Verwenden Sie die Amazon S3 zweifach IPv4 / (z. B. IPv6 Endpunkt für alle s3 und s3api Befehle.Der Standardwert von "false". Diese Einstellung und die Einstellung use_accelerate_endpointschließen sich gegenseitig aus.

Wenn auf „true“ gesetzt, wird die AWS CLI leitet alle Amazon S3 Anfragen an die duale IPv4 / (z. B.IPv6 -Endpunkt für die konfigurierte Region.

use_accelerate_endpoint

Verwendet den Amazon S3 Accelerate-Endpunkt für alle s3- und s3api-Befehle. Der Standardwertvon "false". Diese Einstellung und die Einstellung use_dualstack_endpoint schließen sichgegenseitig aus.

Wenn auf „true“ gesetzt, wird die AWS CLI leitet alle Amazon S3 Anfragen an die S3 AccelerateEndpunkt bei s3-accelerate.amazonaws.com. (z. B.. Um diesen Endpunkt zu verwenden,müssen Sie Ihren Bucket für die Verwendung von aktivieren S3 Accelerate. (z. B.. AlleAnforderungen werden mit dem virtuellen Stil der Bucket-Adressierung gesendet: my-bucket.s3-accelerate.amazonaws.com. (z. B.. Beliebig ListBuckets, , und Sie haben die MöglichkeitCreateBucket, und DeleteBucket -Anforderungen werden nicht an den S3 Accelerate-Endpunktgesendet, da dieser Endpunkt diese Operationen nicht unterstützt. Dieses Verhalten kann auchfestgelegt werden, wenn der Parameter --endpoint-url für einen s3- oder s3api-Befehl aufhttps://s3-accelerate.amazonaws.com oder http://s3-accelerate.amazonaws.comgesetzt ist.

Die folgenden Einstellungen gelten nur für Befehle im Befehlssatz für den s3-Namespace.

max_bandwidth

Gibt die maximale Bandbreite an, die zum Hoch- und Herunterladen von Daten in und aus Amazon S3verbraucht werden kann. Standardmäßig ist kein Grenzwert festgelegt.

Diese Einstellung begrenzt die maximale Bandbreite, die S3-Befehle zur Übertragung von Daten anund aus Amazon S3 nutzen können. Der Wert gilt nur für Uploads und Downloads, nicht für Kopienoder Löschvorgänge. Der Wert wird in Bytes pro Sekunde ausgedrückt. Der Wert kann wie folgtangegeben werden:• Als ganze Zahl. Bei Angabe von 1048576 wird für die maximale Bandbreitennutzung beispielsweise

1 Megabyte pro Sekunde festgelegt.• Als ganze Zahl, gefolgt von einem Suffix für die Rate. Sie können Rate-Suffixe angeben, indem Sie:KB/s, , und Sie haben die Möglichkeit MB/s, oder GB/s. (z. B.. Zum Beispiel: 300KB/s, , und Siehaben die Möglichkeit 10MB/s.

Im Allgemeinen empfehlen wir, dass Sie zuerst versuchen, den Bandbreitenverbrauch zu senken,indem Sie max_concurrent_requests. (z. B.. Wenn dies die Bandbreitennutzung nichtangemessen auf die gewünschte Rate begrenzt, können Sie die max_bandwidth Einstellung, umdie Bandbreitennutzung weiter zu begrenzen. Dies liegt daran, dass max_concurrent_requestssteuert, wie viele Threads zurzeit ausgeführt werden. Wenn Sie stattdessen zuerst max_bandwidthsenken, es aber bei einer hohen max_concurrent_requests-Einstellung belassen, kann dies dazu

59

Page 65: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUnterstützte Einstellungen in der config-Datei

führen, dass Threads unnötig warten müssen. Dies kann zu einem übermäßigen Ressourcenverbrauchund Verbindungszeitüberschreitungen führen.

max_concurrent_requests

Gibt die maximale Anzahl gleichzeitiger Anforderungen an. Der Standardwert lautet 10.

Die aws s3-Übertragungsbefehle sind Multithread-Befehle. Zu jedem Zeitpunkt können mehrereAmazon S3-Anforderungen ausgeführt werden. Wenn Sie beispielsweise den Befehl aws s3 cplocaldir s3://bucket/ --recursive verwenden, um Dateien in einen S3-Bucket hochzuladen,kann die AWS CLI die Dateien localdir/file1, localdir/file2 und localdir/file3parallel hochladen. Die Einstellung max_concurrent_requests gibt die maximale Anzahl vonÜbertragungsoperationen an, die gleichzeitig ausgeführt werden können.

Unter Umständen müssen Sie diesen Wert aus einem der folgenden Gründe ändern:• Verringerung dieses Werts – in einigen Umgebungen kann der Standardwert von 10 gleichzeitigen

Anforderungen zu einer Überlastung des Systems führen. Die Folge können Zeitüberschreitungenbei der Verbindung oder eine herabgesetzte Reaktionsfähigkeit des Systems sein. Wenn Sie diesenWert senken, sind die S3-Übertragungsbefehle weniger ressourcenintensiv. Der Nachteil ist jedoch,dass S3-Übertragungen länger dauern können. Eine Senkung dieses Wertes könnte erforderlichsein, wenn Sie ein Tool zur Begrenzung der Bandbreite verwenden.

• Erhöhung dieses Werts – in einigen Fällen kann es sinnvoll sein, die S3-Übertragungen so schnellwie möglich durchzuführen und dabei so viel Netzwerkbandbreite wie nötig zu beanspruchen. Ineinem solchen Fall reicht die standardmäßige Anzahl gleichzeitiger Anforderungen möglicherweisenicht aus, um die gesamte verfügbare Netzwerkbandbreite zu nutzen. Eine Erhöhung dieses Wertskann dazu führen, dass sich die Zeit für die Durchführung einer S3-Übertragung verkürzt.

max_queue_size

Gibt die maximale Anzahl von Aufgaben in der Aufgabenwarteschlange an. Der Standardwert lautet1000.

Die Schaltfläche AWS CLI verwendet intern ein Modell, bei dem es in die Warteschlange gestelltwird Amazon S3 Aufgaben, die dann von Verbrauchern ausgeführt werden, deren Anzahl durchmax_concurrent_requests. (z. B.. Eine Aufgabe wird im Allgemeinen einer einzelnenS3-Operation zugeordnet. Zum Beispiel könnte eine Aufgabe eine PutObjectTask, odereine GetObjectTask, oder eine UploadPartTask. (z. B.. Die Rate, mit der Aufgaben derWarteschlange hinzugefügt werden, kann viel schneller sein als die Rate, mit der Konsumentendie Aufgaben abschließen. Um ein unbegrenztes Wachstum zu vermeiden, ist die Größe derAufgabenwarteschlange begrenzt. Diese Einstellung ändert den Wert dieser maximalen Anzahl.

Im Allgemeinen müssen Sie diese Einstellung nicht ändern. Diese Einstellung entspricht auch derAnzahl Aufgaben, von denen die CLI weiß, dass sie ausgeführt werden müssen. Somit kann dieCLI standardmäßig nur 1000 Aufgaben vorab sehen. Wenn dieser Wert erhöht wird, weiß die CLIschneller, wie viele Aufgaben insgesamt benötigt werden, vorausgesetzt, die Einreihung in dieWarteschlange erfolgt schneller als die Aufgabenausführung. Der Nachteil besteht darin, dass für einegrößere maximale Warteschlangengröße mehr Speicher benötigt wird.

multipart_chunksize

Gibt die Blockgröße an, welche die AWS CLI für mehrteilige Übertragungen einzelner Dateienverwendet. Der Standardwert ist 8 MB und mindestens 5 MB.

Wenn eine Datei den multipart_threshold-Wert überschreitet, teilt die CLI die Datei in Blöckedieser Größe. Dieser Wert kann mit derselben Syntax wie multipart_threshold angegebenwerden, also entweder als ganzzahlige Bytezahl oder unter Verwendung einer Größe und einesSuffixes.

multipart_threshold

Gibt den Größenschwellenwert an, den die AWS CLI für mehrteilige Übertragungen einzelner Dateienverwendet. Der Standardwert lautet 8 MB.

60

Page 66: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchBenannte Profile

Beim Hochladen, Herunterladen oder Kopieren einer Datei gehen die S3-Befehle zu mehrteiligenOperationen über, wenn die Datei diese Größe überschreitet. Sie können diesen Wert auf zwei Artenangeben:• Dateigröße in Bytes. Beispiel, 1048576.• Dateigröße mit einem Größensuffix. Sie können KB, , und Sie haben die Möglichkeit MB, , und Sie

haben die Möglichkeit GB, oder TB. (z. B.. Zum Beispiel: 10MB, , und Sie haben die Möglichkeit 1GB.Note

S3 kann Beschränkungen für gültige Werte anwenden, die für mehrteilige Operationenverwendet werden können. Weitere Informationen finden Sie in der S3-Dokumentation zumehrteiligen Uploads im Entwicklerhandbuch für Amazon Simple Storage Service.

Diese Einstellungen werden alle unter einem s3-Schlüssel der obersten Ebene in der config-Dateifestgelegt, wie im folgenden Beispiel für das development-Profil dargestellt.

[profile development]s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

Benannte ProfileA benanntes Profil ist eine Sammlung von Einstellungen und Anmeldeinformationen, die Sie auf eineAWS CLI Befehl. Wenn Sie ein Profil zum Ausführen eines Befehls angeben, werden die Einstellungenund Anmeldeinformationen zum Ausführen dieses Befehls verwendet. Sie können ein Profil angeben, dasder „Standard“ ist und verwendet wird, wenn kein Profil explizit referenziert wird. Andere Profile habenNamen, die Sie als Parameter in der Befehlszeile für einzelne Befehle angeben können. Alternativ könnenSie ein Profil in einer Umgebungsvariable festlegen (AWS_PROFIL) (p. 68) die im Wesentlichen dasStandardprofil für Befehle, die in dieser Sitzung ausgeführt werden, übersteuert.

Die AWS CLI sûýppòòrts súýìïng òõf m benannte Profile die im config und credentials Dateien. Siekönnen zusätzliche Profile konfigurieren, indem Sie aws configure mit --profile oder indem SieEinträge zum config und credentials Dateien.

Das folgende Beispiel zeigt eine credentials-Datei mit zwei Profilen: Die erste [Standard] wirdverwendet, wenn Sie einen CLI-Befehl ohne Profil ausführen. Das zweite wird verwendet, wenn Sie einenCLI-Befehl mit dem Parameter --profile user1 ausführen.

~/.aws/credentials (Linux & Mac) oder %USERPROFILE%\.aws\credentials (Windows)

[default]aws_access_key_id=AKIAIOSFODNN7EXAMPLEaws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]aws_access_key_id=AKIAI44QH8DHBEXAMPLEaws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Jedes Profil kann verschiedene Anmeldeinformationen angeben—vielleicht von verschiedenen IAMBenutzer—und kann auch verschiedene AWS Regionen und Ausgangsformate.

61

Page 67: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwenden von Profilen mit der AWS CLI

~/.aws/config (Linux & Mac) oder %USERPROFILE%\.aws\config (Windows)

[default]region=us-west-2output=json

[profile user1]region=us-east-1output=text

Important

Die credentials Datei verwendet ein anderes Namensformat als die CLI config Datei fürbenannte Profile. Präfix einfügenprofile" nur beim Konfigurieren eines benannten Profils imconfig Datei. Tun nicht verwenden Sie das Wort profile beim Erstellen eines Eintrags in dercredentials Datei.

Verwenden von Profilen mit der AWS CLIUm ein benanntes Profil zu verwenden, fügen Sie dem Befehl die Option --profile profile-name hinzu. Im folgenden Beispiel sind alle Ihre Amazon EC2 Instanzen, die in der definiertenAnmeldeinformationen und Einstellungen verwenden user1 Profil aus den vorherigen Beispieldateien.

$ aws ec2 describe-instances --profile user1

Um ein benanntes Profil für mehrere Befehle zu verwenden, müssen Sie das Profil nicht in jedem Befehlangeben. Legen Sie stattdessen die Umgebungsvariable AWS_PROFILE in der Befehlszeile fest.

Linux oder macOS

$ export AWS_PROFILE=user1

Windows:

C:\> setx AWS_PROFILE user1

Bei Verwendung von set zur Festlegung einer Umgebungsvariablen wird der verwendete Wert bis zumEnde der aktuellen Eingabeaufforderungssitzung oder bis zur Festlegung eines anderen Wertes für dieVariable geändert.

Verwendung setx um eine Umgebungsvariable einzustellen, die den Wert in allen Befehlshüllen, die Sienach dem Ausführen des Befehls erstellen, ändert. Es tut es nicht hat eine beliebige Befehlshasse, diebereits ausgeführt wird, wenn Sie den Befehl ausführen. Schließen Sie die Befehls-Shell und starten Sie sieneu, um die Auswirkungen der Änderung zu sehen.

Durch die Festlegung der Umgebungsvariablen wird das Standardprofil bis zum Ende der Shell-Sitzunggeändert oder bis Sie einen anderen Wert für die Variable bestimmen. Sie können Umgebungsvariablenfür zukünftige Sitzungen persistent machen, indem Sie sie in das Startup-Skript Ihrer Shell stellen. WeitereInformationen finden Sie im Umgebungsvariablen zum Konfigurieren der AWS CLI (p. 68).

Note

Wenn Sie ein Profil mit --profile für einen einzelnen Befehl angeben, wird dadurch die in derUmgebungsvariable angegebene Einstellung nur für diesen Befehl überschrieben.

62

Page 68: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren der AWS CLI für die Verwendung

von AWS – Einmaliges Anmelden

Konfigurieren der AWS CLI für die Verwendung vonAWS – Einmaliges Anmelden

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

Wenn Ihre Organisation AWS – Einmaliges Anmelden (AWS SSO) verwendet, können sich Ihre Benutzerbei Active Directory, einem integrierten AWS SSO-Verzeichnis oder einem anderen mit AWS SSOverbundenen iDP anmelden und einer AWS Identity and Access Management (IAM)-Rolle zugeordnetwerden, mit der Sie AWS CLI-Befehle ausführen können. Unabhängig davon, welchen iDP Sie verwenden,abstrahiert AWS SSO diese Unterschiede, und sie funktionieren alle mit der AWS CLI, wie untenbeschrieben. Beispielsweise können Sie Microsoft Azure AD wie im Blogartikel The Next Evolution in AWSSingle Sign-On beschrieben verbinden.

Weitere Informationen über AWS SSO finden Sie im AWS – Einmaliges Anmelden-Benutzerhandbuch.

In diesem Thema wird beschrieben, wie Sie die AWS CLI konfigurieren, um den Benutzer mit AWS SSO zuauthentifizieren, um kurzfristige Anmeldeinformationen zum Ausführen von AWS CLI-Befehlen abzurufen.Es enthält folgende Unterabschnitte:

• Konfigurieren eines benannten Profils für die Verwendung von AWS SSO (p. 63): Erstellen undKonfigurieren von Profilen, die AWS SSO für die Authentifizierung und Zuweisung zu einer IAM-Rolle fürAWS-Berechtigungen verwenden.

• Verwenden eines AWS SSO-aktivierten benannten Profils (p. 66) – Anmelden bei AWS SSO von derCLI aus und Verwenden der bereitgestellten temporären AWS-Anmeldeinformationen zur Ausführungvon AWS CLI-Befehlen.

Konfigurieren eines benannten Profils für dieVerwendung von AWS SSOSie können eines oder mehrere Ihrer benannten AWS CLI-Profile (p. 61) so konfigurieren, dass eineRolle aus AWS SSO verwendet wird. Sie können mehrere Profile erstellen und konfigurieren und jedesProfil so konfigurieren, dass ein anderes AWS SSO-Benutzerportal oder eine andere SSO-definierte Rolleverwendet wird.

Sie können das Profil folgendermaßen konfigurieren:

• Automatisch (p. 63) mit dem Befehl aws configure sso• Manuell (p. 65), indem Sie die .aws/config-Datei bearbeiten, in der die benannten Profile gespeichert

sind.

Automatische KonfigurationSie können Ihrer AWS CLI ein AWS SSO-aktiviertes Profil hinzufügen, indem Sie den folgenden Befehlausführen und Ihre AWS SSO-Start-URL und die AWS-Region angeben, in der das AWS SSO-Verzeichnisgehostet wird.

$ aws configure ssoSSO start URL [None]: [None]: https://my-sso-portal.awsapps.com/startSSO region [None]:us-east-1

63

Page 69: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren eines benannten Profils

für die Verwendung von AWS SSO

Die AWS CLI versucht, Ihren Standardbrowser zu öffnen und den Anmeldevorgang für Ihr AWS SSO-Kontozu starten.

SSO authorization page has automatically been opened in your default browser.Follow the instructions in the browser to complete this authorization request.

Wenn die AWS CLI den Browser nicht öffnen kann, wird die folgende Meldung mit Anweisungen zummanuellen Starten des Anmeldevorgangs angezeigt.

Using a browser, open the following URL: https://my-sso-portal.awsapps.com/verify

and enter the following code:QCFK-N451

AWS SSO verwendet den Code, um die AWS SSO-Sitzung Ihrer aktuellen AWS CLI-Sitzungzuzuordnen. Auf der AWS SSO-Browserseite werden Sie aufgefordert, sich mit Ihren AWS SSO-Kontoanmeldeinformationen anzumelden. Dadurch kann die AWS CLI (durch die Berechtigungen, dieIhrem AWS SSO-Konto zugeordnet sind) die AWS-Konten und -Rollen abrufen und anzeigen,für derenVerwendung mit AWS SSO Sie autorisiert sind.

Als Nächstes zeigt die AWS CLI die AWS-Konten an, die Ihnen zur Verwendung zur Verfügung stehen.Wenn Sie berechtigt sind, nur ein Konto zu verwenden, wählt die AWS CLI dieses Konto automatischfür Sie aus und überspringt die Eingabeaufforderung. Die AWS-Konten, die Ihnen zur Verwendung zurVerfügung stehen, werden durch Ihre Benutzerkonfiguration in AWS SSO bestimmt.

There are 2 AWS accounts available to you.> DeveloperAccount, [email protected] (123456789011) ProductionAccount, [email protected] (123456789022)

Wählen Sie mit den Pfeiltasten das Konto aus, das Sie mit diesem Profil verwenden möchten. Das Zeichen„>“ auf der linken Seite zeigt auf die aktuelle Auswahl. Drücken Sie die EINGABETASTE, um Ihre Auswahlzu treffen.

Als Nächstes bestätigt die AWS CLI Ihre Kontoauswahl und zeigt die IAM-Rollen an, die Ihnen imausgewählten Konto zur Verfügung stehen. Wenn für das ausgewählte Konto nur eine Rolle aufgelistetist, wählt die AWS CLI automatisch diese Rolle aus und überspringt die Eingabeaufforderung. Die Rollen,die Ihnen zur Verwendung zur Verfügung stehen, werden durch Ihre Benutzerkonfiguration in AWS SSObestimmt.

Using the account ID 123456789011There are 2 roles available to you.> ReadOnly FullAccess

Verwenden Sie wie vorher die Pfeiltasten, um die IAM-Rolle auszuwählen, die Sie mit diesem Profilverwenden möchten. Das Zeichen „>“ auf der linken Seite zeigt auf die aktuelle Auswahl. Drücken Sie die<EINGABETASTE>, um Ihre Auswahl zu treffen.

Die AWS CLI bestätigt Ihre Rollenauswahl.

Using the role name "ReadOnly"

Jetzt können Sie die Konfiguration Ihres Profils abschließen, indem Sie dasStandardausgabeformat (p. 55), die Standard-AWS-Region (p. 55), an die Befehle gesendet werdensollen, und einen Namen für das Profil (p. 47) angeben, damit Sie aus all diesen auf dem lokalen

64

Page 70: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren eines benannten Profils

für die Verwendung von AWS SSO

Computer definierten Profilen dieses Profil referenzieren können. Im folgenden Beispiel gibt der Benutzereine Standardregion, ein Standardausgabeformat und den Namen des Profils ein. Sie können alternativ<ENTER> drücken, um alle Standardwerte auszuwählen, die zwischen den eckigen Klammern angezeigtwerden. Der vorgeschlagene Profilname ist die Konto-ID-Nummer gefolgt von einem Unterstrich gefolgt vondem Rollennamen.

CLI default client Region [None]: us-west-2<ENTER>CLI default output format [None]: json<ENTER>CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>

Note

Wenn Sie default als Profilname angeben, wird dieses Profil immer dann verwendet, wenn Sieeinen AWS CLI-Befehl ausführen und keinen Profilnamen angeben.

Eine abschließende Meldung beschreibt die abgeschlossene Profilkonfiguration.

Um dieses Profil zu verwenden, geben Sie den Profilnamen mit --profile an, wie gezeigt:

aws s3 ls --profile my-dev-profile

Die vorherigen Beispieleinträge würden zu einem benannten Profil in ~/.aws/config führen, das wie dasfolgende Beispiel aussieht.

[profile my-dev-profile]sso_start_url = https://my-sso-portal.awsapps.com/startsso_region = us-east-1sso_account_id = 123456789011sso_role_name = readOnlyregion = us-west-2output = json

An dieser Stelle verfügen Sie über ein Profil, mit dem Sie temporäre Anmeldeinformationen anfordernkönnen. Sie müssen den aws sso login-Befehl verwenden, um die temporären Anmeldeinformationen,die zum Ausführen von Befehlen erforderlich sind, tatsächlich anzufordern und abzurufen. DetaillierteAnweisungen finden Sie unter Verwenden eines AWS SSO-aktivierten benannten Profils (p. 66).

Note

Sie können einen AWS CLI-Befehl auch mit dem angegebenen Profil ausführen. Wenn Sie derzeitnicht beim AWS SSO-Portal angemeldet sind, wird der Anmeldevorgang automatisch gestartet, soals hätten Sie den aws sso login-Befehlsbefehl manuell ausgeführt.

Manuelle KonfigurationZum manuellen Hinzufügen AWS SSO Unterstützung für ein benanntes Profil, müssen Sie derProfildefinition in der Datei die folgenden Schlüssel und Werte hinzufügen ~/.aws/config (Linux odermacOS) oder %USERPROFILE%/.aws/config (Fenster).

sso_start_url

Die URL, die auf das AWS SSO-Benutzerportal der Organisation verweist.

sso_start_url = https://my-sso-portal.awsapps.com/start

sso_region

Die AWS-Region, die den AWS SSO-Portalhost enthält. Diese ist getrennt vom region-Standard-CLI-Parameter und kann eine andere Region sein.

65

Page 71: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwenden eines AWS SSO-aktivierten benannten Profils

sso_region = us_west-2

sso_account_id

Die AWS-Konto-ID, die die IAM-Rolle enthält, die Sie mit diesem Profil verwenden möchten.

sso_account_id = 123456789011

sso_role_name

Der Name der IAM-Rolle, die die Berechtigungen des Benutzers definiert, wenn dieses Profilverwendet wird.

sso_role_name = ReadAccess

Das Vorhandensein dieser Schlüssel identifiziert dieses Profil als ein Profil, das AWS SSO verwendet, umden Benutzer zu authentifizieren.

Sie können auch alle anderen Schlüssel und Werte einschließen, die in der .aws/config Datei, wiez. B. region, , und Sie haben die Möglichkeit output, oder s3. (z. B.. Sie können jedoch keine mitAnmeldeinformationen verbundenen Werte einschließen, wie z. B. Rolle_verdienen (p. 56) oderaws_secret_access_key (Zugriffsschlüssel) (p. 52). Wenn Sie dies tun, erzeugt die AWS CLI einenFehler.

Ein typisches AWS SSO-Profil in .aws/config könnte also ähnlich wie das folgende Beispiel aussehen.

[profile my-dev-profile]sso_start_url = https://my-sso-portal.awsapps.com/startsso_region = us-east-1sso_account_id = 123456789011sso_role_name = readOnlyregion = us-west-2output = json

An dieser Stelle verfügen Sie über ein Profil, mit dem Sie temporäre Anmeldeinformationen anfordernkönnen. Sie können jedoch noch keinen AWS CLI-Servicebefehl ausführen. Sie müssen zuerst denaws sso login-Befehl verwenden, um die temporären Anmeldeinformationen, die zum Ausführen vonBefehlen erforderlich sind, tatsächlich anzufordern und abzurufen. Anweisungen finden Sie im nächstenAbschnitt Verwenden eines AWS SSO-aktivierten benannten Profils (p. 66).

Verwenden eines AWS SSO-aktivierten benanntenProfilsIn diesem Abschnitt wird beschrieben, wie Sie das AWS SSO-Profil verwenden, das Sie im vorherigenAbschnitt erstellt haben.

Anmelden und Abrufen von temporären AnmeldeinformationenNachdem Sie ein benanntes Profil automatisch oder manuell konfiguriert haben, können Sie esaufrufen, um temporäre Anmeldeinformationen von AWS anzufordern. Bevor Sie einen AWS CLI-Servicebefehl ausführen können, müssen Sie einen Satz temporärer Anmeldeinformationen abrufen undzwischenspeichern. Führen Sie den folgenden Befehl aus, um diese temporären Anmeldeinformationenabzurufen.

66

Page 72: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwenden eines AWS SSO-aktivierten benannten Profils

$ aws sso login --profile my-dev-profile

Die AWS CLI öffnet Ihren Standardbrowser und überprüft Ihre AWS SSO-Anmeldung.

SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request.Successully logged into Start URL: https://my-sso-portal.awsapps.com/start

Wenn Sie derzeit nicht in Ihrem AWS SSO-Konto angemeldet sind, müssen Sie Ihren AWS SSO-Benutzernamen und Ihr Passwort angeben.

Wenn die AWS CLI Ihren Browser nicht öffnen kann, werden Sie aufgefordert, ihn selbst zu öffnen und denangegebenen Code einzugeben.

$ aws sso login --profile my-dev-profileUsing a browser, open the following URL: https://my-sso-portal.awsapps.com/verify

and enter the following code:QCFK-N451

Die AWS CLI öffnet Ihren Standardbrowser (oder Sie öffnen den Browser Ihrer Wahl manuell) auf derangegebenen Seite und Sie geben den bereitgestellten Code ein. Die Webseite fordert Sie dann zurEingabe Ihrer AWS SSO-Anmeldeinformationen auf.

Ihre AWS SSO-Sitzungsanmeldeinformationen werden zwischengespeichert und enthalten einenAblaufzeitstempel. Wenn die Anmeldeinformationen ablaufen, werden Sie von der AWS CLI aufgefordert,sich nochmals bei AWS SSO anzumelden.

Wenn Ihre AWS SSO-Anmeldeinformationen gültig sind, werden sie von der AWS CLI verwendet, umtemporäre AWS-Anmeldeinformationen für die im Profil angegebene IAM-Rolle sicher abzurufen.

Welcome, you have successfully signed-in to the AWS-CLI.

Ausführen eines Befehls mit Ihrem AWS SSO-aktivierten ProfilSie können diese temporären Anmeldeinformationen verwenden, um einen AWS CLI-Befehl mit demzugeordneten benannten Profil aufzurufen. Das folgende Beispiel zeigt, dass der Befehl unter einerangenommenen Rolle ausgeführt wurde, die Teil des angegebenen Kontos ist.

$ aws sts get-caller-identity --profile my-dev-profile{ "UserId": "AROA12345678901234567:[email protected]", "Account": "123456789011", "Arn": "arn:aws:sts::123456789011:assumed-role/AWSPeregrine_readOnly_12321abc454d123/[email protected]"}

Solange Sie sich bei AWS SSO angemeldet haben und diese zwischengespeichertenAnmeldeinformationen nicht abgelaufen sind, erneuert die AWS CLI abgelaufene temporäre AWS-Anmeldeinformationen bei Bedarf automatisch. Wenn Ihre AWS SSO-Anmeldeinformationen jedochablaufen, müssen Sie sie explizit erneuern, indem Sie sich erneut bei Ihrem AWS SSO-Konto anmelden.

$ aws s3 ls --profile my-sso-profileYour short-term credentials have expired. Please sign-in to renew your credentials

67

Page 73: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUmgebungsvariablen

SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request.

Sie können mehrere AWS SSO-aktivierte benannte Profile erstellen, die jeweils auf ein anderes AWS-Konto oder eine andere Rolle verweisen. Sie können den aws sso login-Befehl auch für mehrere Profilegleichzeitig verwenden. Wenn eines von ihnen dasselbe AWS SSO-Benutzerkonto hat, müssen Sie sichnur einmal bei diesem AWS SSO-Benutzerkonto anmelden und dann haben sie alle einen gemeinsamenSatz zwischengespeicherter AWS SSO-Anmeldeinformationen.

# The following command retrieves temporary credentials for the AWS account and role # specified in one named profile. If you are not yet signed in to AWS SSO or your # cached credentials have expired, it opens your browser and prompts you for your # AWS SSO user name and password. It then retrieves AWS temporary credentials for# the IAM role associated with this profile.$ aws sso login --profile my-first-sso-profile

# The next command retrieves a different set of temporary credentials for the AWS # account and role specified in the second named profile. It does not overwrite or # in any way compromise the first profile's credentials. If this profile specifies the# same AWS SSO portal, then it uses the SSO credentials that you retrieved in the # previoius command. The AWS CLI then retrieves AWS temporary credentials for the# IAM role associated with the second profile. You don't have to sign in to # AWS SSO again.$ aws sso login --profile my-second-sso-profile

# The following command lists the Amazon EC2 instances accessible to the role # identified in the first profile.$ aws ec2 describe-instances --profile my-first-sso-profile

# The following command lists the Amazon EC2 instances accessible to the role # identified in the second profile.$ aws ec2 describe-instances --profile my-second-sso-profile

Abmelden bei Ihren AWS SSO-SitzungenWenn Sie mit den AWS SSO-aktivierten Profilen fertig sind, haben Sie die Möglichkeit, nichts tun unddie temporären AWS-Anmeldeinformationen und Ihre AWS SSO-Anmeldeinformationen ablaufenlassen. Sie können jedoch auch den folgenden Befehl ausführen, um sofort alle zwischengespeichertenAnmeldeinformationen im Cache-Ordner für SSO-Anmeldeinformationen sowie alle temporären AWS-Anmeldeinformationen, die auf den AWS SSO-Anmeldeinformationen basieren, zu löschen. Dadurchkönnen diese Anmeldeinformationen nicht für zukünftige Befehle verwendet werden.

$ aws sso logoutSuccessfully signed out of all SSO profiles.

Wenn Sie später Befehle mit einem Ihrer AWS SSO-aktivierten Profile ausführen möchten, müssen Sieden aws sso login-Befehl erneut ausführen (siehe vorherigen Abschnitt) und das gewünschte Profilangeben.

Umgebungsvariablen zum Konfigurieren der AWSCLI

Umgebungsvariablen sind eine weitere Möglichkeit, Konfigurationsoptionen und Anmeldeinformationenanzugeben. Sie sind nützlich, wenn Sie Skripts erstellen oder vorübergehend ein benanntes Profil alsStandard festlegen möchten.

68

Page 74: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFestlegen von Umgebungsvariablen

Note

Sie können die AWS – Einmaliges Anmelden (AWS SSO)-Authentifizierung nicht mithilfe vonUmgebungsvariablen angeben. Stattdessen müssen Sie ein benanntes Profil in der freigegebenenKonfigurationsdatei verwenden .aws/config. (z. B.. Weitere Informationen finden Sie unterKonfigurieren der AWS CLI für die Verwendung von AWS – Einmaliges Anmelden (p. 63).

Vorrang von Optionen

• Wenn Sie eine Option mit einer der in diesem Thema beschriebenen Umgebungsvariablen angeben,setzt sie jeden Wert außer Kraft, der aus einem Profil in der Konfigurationsdatei geladen wurde.

• Wenn Sie eine Option über einen Parameter auf der CLI-Befehlszeile angeben, setzt sie jeden Wertaußer Kraft, der entweder aus der entsprechenden Umgebungsvariablen oder aus einem Profil in derKonfigurationsdatei stammt.

Weitere Informationen zur Rangfolge und darüber, wie die AWS CLI bestimmt, welcheAnmeldeinformationen verwendet werden sollen, finden Sie unter Konfigurationseinstellungen undVorrang (p. 47).

Themen• Festlegen von Umgebungsvariablen (p. 69)• Von AWS CLI unterstützte Umgebungsvariablen (p. 70)

Festlegen von UmgebungsvariablenDie folgenden Beispiele zeigen, wie Sie Umgebungsvariablen für den Standardbenutzer konfigurierenkönnen.

Linux oder macOS

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY$ export AWS_DEFAULT_REGION=us-west-2

Durch die Festlegung der Umgebungsvariablen wird der verwendete Wert bis zum Ende der Shell-Sitzung oder bis zur Festlegung eines anderen Wertes für die Variable geändert. Sie können Variablenfür zukünftige Sitzungen persistent machen, indem Sie sie im Startup-Skript Ihrer Shell festlegen.

Windows Command Prompt

C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLEC:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYC:\> setx AWS_DEFAULT_REGION us-west-2

Bei Verwendung von set zur Festlegung einer Umgebungsvariablen wird der verwendete Wert biszum Ende der aktuellen Eingabeaufforderungssitzung oder bis zur Festlegung eines anderen Wertesfür die Variable geändert. Bei Verwendung von setx zur Festlegung einer Umgebungsvariablen wirdder verwendete Wert in der aktuellen Eingabeaufforderungssitzung und allen nach Ausführung desBefehls erstellten Eingabeaufforderungssitzungen geändert. Andere Befehlsshells, die zum Zeitpunktder Befehlsausführung bereits ausgeführt werden, sind hiervon nicht betroffen.

PowerShell

PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"

69

Page 75: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVon AWS CLI unterstützte Umgebungsvariablen

PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"

Wenn Sie eine Umgebungsvariable auf der PowerShell wie in den vorherigen Beispielengezeigt, speichert es den Wert nur für die Dauer der aktuellen Sitzung. So machen Sie dieUmgebungsvariableneinstellung für alle PowerShell und Eingabeaufforderungssitzungen speichernSie mithilfe der Das System Anwendung in Bedienfeld. Alternativ können Sie die Variable für allezukünftigen PowerShell Sitzungen, indem Sie zu Ihrem PowerShell Profil. Siehe die PowerShellDokumentation , um weitere Informationen zum Speichern von Umgebungsvariablen oder zumBeibehalten dieser Variablen über Sitzungen hinweg zu erhalten.

Von AWS CLI unterstützte UmgebungsvariablenDie AWS CLI unterstützt die folgenden Umgebungsvariablen.

AWS_ACCESS_KEY_ID

Gibt einen AWS-Zugriffsschlüssel an, der mit einem Benutzer oder einer Rolle von IAM verknüpft ist.

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungaws_access_key_id. (z. B.. Sie können die Zugriffsschlüssel-ID nicht mit einer Befehlszeilenoptionangeben.

AWS_CA_BUNDLE

Gibt den Pfad zu einem Zertifikat-Bundle für die HTTPS-Zertifikatvalidierung an.

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung ca_bundle.(z. B.. Sie können diese Umgebungsvariable überschreiben, indem Sie die --ca-bundleBefehlszeilenparameter.

AWS_CLI_FILE_ENCODING

Nur AWS CLI Version 2. Gibt die für Textdateien verwendete Kodierung an. Standardmäßigentspricht die Kodierung Ihrem Gebietsschema. Verwenden Sie die Umgebungsvariableaws_cli_file_encoding, um die Kodierung so festzulegen, dass sie sich vom Gebietsschemaunterscheidet. Wenn Sie beispielsweise Windows mit der Standardcodierung CP1252 verwenden, legtaws_cli_file_encoding=UTF-8 die Befehlszeilenschnittstelle so fest, dass Textdateien mit UTF-8geöffnet werden.

AWS_CONFIG_FILE

Gibt den Speicherort der Datei an, die die AWS CLI zum Speichern von Konfigurationsprofilenverwendet. Der Standardpfad ist ~/.aws/config.

Sie können diesen Wert nicht in einer benannten Profileinstellung oder mithilfe einesBefehlszeilenparameters angeben.

AWS_DEFAULT_OUTPUT (p. 46)

Gibt das zu verwendende Ausgabeformat (p. 114) an.

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungoutput. (z. B.. Sie können diese Umgebungsvariable überschreiben, indem Sie die --outputBefehlszeilenparameter.

AWS_DEFAULT_REGION (p. 46)

Gibt die AWS-Region an, an die die Anfrage gesendet werden soll.

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungregion. (z. B.. Sie können diese Umgebungsvariable überschreiben, indem Sie die --regionBefehlszeilenparameter.

70

Page 76: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVon AWS CLI unterstützte Umgebungsvariablen

AWS_MAX_ATTEMPTS (p. 54)

Gibt einen Wert für maximale Wiederholungsversuche an AWS CLI Wiederholversuchs-Handlerverwendet , wobei der erste Aufruf auf den von Ihnen angegebenen Wert angerechnet wird. WeitereInformationen zu Wiederholversuchen finden Sie unter AWS CLI Wiederholungen (p. 78).

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungmax_attempts.

AWS_PAGER (p. 53)

Gibt das für die Ausgabe verwendete Pager-Programm an. Standardmäßig gibt AWS CLI Version 2 diegesamte Ausgabe über das Standard-Pager-Programm Ihres Betriebssystems zurück.

Um die gesamte Verwendung eines externen Auslagerungsprogramms zu deaktivieren, setzen Sie dieVariable auf eine leere Zeichenfolge.

Wenn diese Umgebungsvariable definiert ist, überschreibt sie den Wert der Profileinstellungcli_pager.

AWS_PROFILE (p. 61)

Gibt den Namen des CLI-Profils mit den zu verwendenden Anmeldeinformationen und Optionen an.Dabei kann es sich um den Namen eines Profils handeln, das in einer credentials- oder config-Datei gespeichert ist, oder um den Wert default zur Nutzung des Standardprofils.

Ist sie definiert, überschreibt diese Umgebungsvariable das Verhalten, bei dem das Profil mit demNamen [default] in der Konfigurationsdatei verwendet wird. Sie können diese Umgebungsvariablemithilfe des --profile-Befehlszeilenparameters überschreiben.

AWS_RETRY_MODE (p. 56)

Gibt an, welcher Wiederholungsmodus AWS CLI verwendet. Es stehen drei Wiederholungsmodi zurVerfügung: Legacy (Standard), Standard und adaptive. Weitere Informationen zu Wiederholversuchenfinden Sie unter AWS CLI Wiederholungen (p. 78).

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellung retry_mode.AWS_ROLE_SESSION_NAME (p. 90)

Gibt einen Namen an, der der Rollensitzung zugeordnet werden soll. Dieser Wert wird in CloudTrail-Protokollen für Befehle angezeigt, die vom Benutzer dieses Profils ausgeführt werden.

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungrole_session_name. (z. B.. Sie können keinen Rollensitzungsnamen als Befehlszeilenparameterangeben.

AWS_SECRET_ACCESS_KEY

Gibt den geheimen Schlüssel an, der mit dem Zugriffsschlüssel verknüpft ist. Dies ist im Wesentlichendas "Passwort" für den Zugriffsschlüssel.

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungaws_secret_access_key. (z. B. Sie können die Zugriffsschlüssel-ID nicht als Befehlszeilenoptionangeben.

AWS_SESSION_TOKEN

Gibt den Sitzungstokenwert an, der erforderlich ist, wenn Sie temporäreSicherheitsanmeldeinformationen verwenden, die Sie direkt aus AWS STS-Operationen abgerufenhaben. Weitere Informationen finden Sie im Ausgabeabschnitt des Befehls "assume-role" im AWS CLICommand Reference.

71

Page 77: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchBefehlszeilenoptionen

Wenn definiert, überschreibt diese Umgebungsvariable den Wert für die Profileinstellungaws_session_token. (z. B.. Sie können das Sitzungstoken nicht als Befehlszeilenoption angeben.

AWS_SHARED_CREDENTIALS_FILE

Gibt den Speicherort der Datei an, die die AWS CLI zum Speichern von Zugriffsschlüsseln verwendet.Der Standardpfad ist ~/.aws/credentials.

Sie können diesen Wert nicht in einer benannten Profileinstellung oder mithilfe einesBefehlszeilenparameters angeben.

AWS_STS_REGIONAL_ENDPOINTS (p. 57)

Gibt an, wie die AWS CLI den AWS-Service-Endpunkt bestimmt, den der AWS CLI-Client zurKommunikation mit dem AWS Security Token Service (AWS STS) verwendet.• Der Standardwert für den AWS CLI Version 1 beträgt legacy.• Der Standardwert für den AWS CLI Version 2 beträgt regional.

Sie können einen von zwei Werten angeben:• legacy – Verwendet den globalen STS-Endpunkt, sts.amazonaws.com, für die folgenden AWS

Regionen: ap-northeast-1, , und Sie haben die Möglichkeit ap-south-1, , und Sie habendie Möglichkeit ap-southeast-1, , und Sie haben die Möglichkeit ap-southeast-2, , undSie haben die Möglichkeit aws-global, , und Sie haben die Möglichkeit ca-central-1, , undSie haben die Möglichkeit eu-central-1, , und Sie haben die Möglichkeit eu-north-1, , undSie haben die Möglichkeit eu-west-1, , und Sie haben die Möglichkeit eu-west-2, , und Siehaben die Möglichkeit eu-west-3, , und Sie haben die Möglichkeit sa-east-1, , und Sie habendie Möglichkeit us-east-1, , und Sie haben die Möglichkeit us-east-2, , und Sie haben dieMöglichkeit us-west-1, und us-west-2. (z. B..) Alle anderen Regionen verwenden automatischihren jeweiligen regionalen Endpunkt.

• regional – Die AWS CLI verwendet immer den AWS STS-Endpunkt für die aktuell konfigurierteRegion. Wenn der Client beispielsweise für die Verwendung von us-west-2 konfiguriert ist, werdenalle Aufrufe von AWS STS über den regionalen Endpunkt sts.us-west-2.amazonaws.comanstatt des globalen Endpunkts sts.amazonaws.com ausgeführt. Um eine Anforderung an denglobalen Endpunkt zu senden, während diese Einstellung aktiviert ist, können Sie die Region aufaws-global festlegen.

BefehlszeilenoptionenSie können die folgenden Befehlszeilenoptionen verwenden, um die Standardkonfigurationseinstellungen,die entsprechenden Profileinstellungen oder die Umgebungsvariableneinstellungen für diesen einzelnenBefehl zu überschreiben. Sie können mit Befehlszeilenoptionen nicht direkt Anmeldeinformationenangeben. Sie können jedoch angeben, welches Profil verwendet werden soll. Bei jeder Option, für die einArgument angegeben wird, muss das Argument mit einem Leerzeichen oder Gleichheitszeichen (=) vomNamen der Option getrennt werden. Falls es sich bei dem Argumentwert um eine Zeichenfolge mit einemLeerzeichen handelt, muss das Argument in Anführungszeichen gesetzt werden.

Die Argumenttypen (z. B. Zeichenfolge, boolesch) für die einzelnen Befehlszeilenoptionen sind ausführlichin Angeben von Parameterwerten für die AWS CLI (p. 98) beschrieben.

--ca-bündelung <string>

Gibt das Zertifikatspaket der Zertifizierungsstelle an, das beim Überprüfen von SSL-Zertifikatenverwendet werden soll.

--cli-anschluss-timeout <integer>

Gibt die maximale Socket-Verbindungszeit in Sekunden an. Wenn als Wert Null (0) festgelegt ist,wartet der Socket-Verbindungsvorgang unbegrenzt (blockiert) und es erfolgt keine Zeitüberschreitung.

72

Page 78: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchBefehlszeilenoptionen

--cli-lese-zeitüberschreitung <integer>

Gibt die maximale Socket-Lesezeit in Sekunden an. Wenn als Wert Null (0) festgelegt ist, wartet derSocket-Lesevorgang unbegrenzt (blockiert) und es erfolgt keine Zeitüberschreitung.

--Farbe <string>

Gibt Unterstützung für die Farbausgabe an. Gültige Werte sind on, , und Sie haben die Möglichkeitoff, und auto. (z. B.. Der Standardwert ist auto.

--debug

Ein boolescher Schalter, der die Debug-Protokollierung ermöglicht. Die Schaltfläche AWS CLI bietetstandardmäßig bereinigte Informationen zu Erfolgen oder Fehlern in Bezug auf Befehlsergebnissein der Befehlsausgabe. Die Schaltfläche --debug -Option stellt die vollständigen Python-Protokollebereit. Dazu gehören zusätzliche stderr Diagnoseinformationen über den Betrieb des Befehls, diebei der Fehlerbehebung nützlich sein können, warum ein Befehl unerwartete Ergebnisse liefert. UmDebug-Protokolle einfach anzeigen zu können, empfehlen wir, die Protokolle an eine Datei zu senden,um die Informationen einfacher zu durchsuchen. Sie können dies tun, indem Sie eine der folgendenverwenden.

Zum Senden nur auf die und die stderr Diagnoseinformationen, anhängen 2> debug.txt wobeidebug.txt ist der Name, den Sie für Ihre Debug-Datei verwenden möchten:

$ aws servicename commandname options --debug 2> debug.txt

Zum Senden sowohl als auch die Ausgabe und stderr Diagnoseinformationen, anhängen &>debug.txt wobei debug.txt ist der Name, den Sie für Ihre Debug-Datei verwenden möchten:

$ aws servicename commandname options --debug &> debug.txt

--endpoint-url <string>

Gibt die URL an, an die die Anforderung gesendet werden soll. Bei den meisten Befehlen bestimmtdie AWS CLI automatisch die URL basierend auf dem ausgewählten Service und der angegebenenAWS-Region. Allerdings müssen Sie bei einigen Befehlen eine kontenspezifische URL angeben. Siekönnen einige AWS-Services auch so konfigurieren, dass sie einen Endpunkt direkt in Ihrer privatenVPC hosten, was dann möglicherweise spezifiziert werden muss.

Eine Liste der Standard-Service-Endpunkte, die in den einzelnen Regionen verfügbar sind, finden Sieunter AWS-Regionen und -Endpunkte im Allgemeine Amazon Web Services-Referenz.

--kein-cli-pager

Ein boolescher Schalter, der die Verwendung eines Pagers für die Ausgabe des Befehls deaktiviert.--no-paginate

Ein boolescher Schalter, der die Mehrfachanrufe automatisch deaktiviert AWS CLI empfängt alleBefehlsergebnisse, die Paginierung der Ausgabe erzeugen. Dies bedeutet, dass nur die erste SeiteIhrer Ausgabe angezeigt wird.

--no-sign-request

Ein boolescher Schalter, der das Signieren der HTTP-Anforderungen an den AWS-Service-Endpunktdeaktiviert. Dadurch wird verhindert, dass Anmeldeinformationen geladen werden.

--output <string>

Gibt das Ausgabeformat an, das für diesen Befehl verwendet werden soll. Sie können alle folgendenWerte angeben:

73

Page 79: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchBefehlszeilenoptionen

• json (p. 116): Die Ausgabe wird als JSON-Zeichenfolge formatiert.• yaml (p. 116): Die Ausgabe wird als YAML-Zeichenfolge formatiert. (Nur in AWS CLI Version 2

verfügbar.)• yaml-stream (p. 117) – Die Ausgabe wird gestreamt und als YAML-Zeichenfolge formatiert.

Streaming ermöglicht eine schnellere Handhabung großer Datentypen. (Nur in AWS CLI Version 2verfügbar.)

• text (p. 118): Die Ausgabe wird als mehrzeilige Folge von Zeichenfolgewerten mit Tabulatorenals Trennzeichen formatiert. Dies kann nützlich sein, wenn die Ausgabe an ein Modul zurVerarbeitung von Text wie grep, sed oder awk übergeben werden soll.

• table (p. 121): Die Ausgabe erfolgt in Form einer Tabelle mit den Zeichen +|-, die denZellenrahmen bilden. Normalerweise wird die Information in einem benutzerfreundlichen Formatwiedergegeben, das viel einfacher zu lesen ist als die anderen, jedoch programmatisch nicht sonützlich ist.

--Profil <string>

Gibt das benannte Profil (p. 61) an, das für diesen Befehl verwendet werden soll. Zum Einrichtenweiterer benannter Profile können Sie den Befehl aws configure mit der Option --profileverwenden.

$ aws configure --profile <profilename>

--Abfrage <string>

Gibt eine JMESPath abfragen , um die Antwortdaten zu filtern. Weitere Informationen finden Sie imFiltern der Ausgabe mit der Option --query (p. 122).

--Region <string>

Gibt an, an welche AWS-Region die AWS-Anfrage dieses Befehls gesendet werden soll. EineListe aller Regionen, die Sie angeben können, finden Sie unter AWS-Regionen und -Endpunkte imAllgemeine Amazon Web Services-Referenz.

--Version

Ein boolescher Schalter, der die aktuell ausgeführte Version des AWS CLI-Programms anzeigt.

Befehlszeilenoptionen werden häufig für die Überprüfung Ihrer Ressourcen in mehreren AWS-Regionenund zur Änderung des Ausgabeformats für bessere Lesbarkeit oder zur einfacheren Skripterstellungverwendet. Wenn Sie sich beispielsweise nicht sicher sind, in welcher Region Ihre Instance ausgeführtwird, können Sie wie folgt für jede Region den describe-instances-Befehl ausführen, bis sie die richtigeRegion gefunden haben.

$ aws ec2 describe-instances --output table --region us-east-1-------------------|DescribeInstances|+-----------------+$ aws ec2 describe-instances --output table --region us-west-1-------------------|DescribeInstances|+-----------------+$ aws ec2 describe-instances --output table --region us-west-2------------------------------------------------------------------------------| DescribeInstances |+----------------------------------------------------------------------------+|| Reservations |||+-------------------------------------+------------------------------------+||| OwnerId | 012345678901 |||| ReservationId | r-abcdefgh ||

74

Page 80: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVervollständigung von Befehlen

|+-------------------------------------+------------------------------------+|||| Instances |||||+------------------------+-----------------------------------------------+||||| AmiLaunchIndex | 0 |||||| Architecture | x86_64 |||...

Die Argumenttypen (z. B. Zeichenfolge, boolesch) für die einzelnen Befehlszeilenoptionen sind ausführlichin Angeben von Parameterwerten für die AWS CLI (p. 98) beschrieben.

Vervollständigung von BefehlenBei Unix-ähnlichen Systemen AWS Command Line Interface ( ( (AWS CLI) beinhaltet eineBefehlsabschlusskollektion, mit der Sie die Registerkarte Schlüssel, um einen teilweise eingegebenenBefehl abzuschließen. Bei den meisten Systemen ist diese Funktion nicht automatisch installiert und mussmanuell konfiguriert werden.

Themen• Funktionsweise (p. 75)• Konfigurieren der Befehlsvervollständigung (p. 76)

FunktionsweiseWenn Sie einen Befehl, einen Parameter oder eine Option teilweise eingeben, wird der Befehl von derBefehlsvervollständigungsfunktion entweder automatisch vervollständigt oder von dieser eine Liste mitvorgeschlagenen Befehlen angezeigt. Um den Befehlsabschluss abzuschließen, geben Sie einen Befehlein und drücken Sie Registerkarte.

Die folgenden Beispiele zeigen verschiedene Möglichkeiten, wie Sie die Befehlsvervollständigung nutzenkönnen:

• Geben Sie einen Befehl teilweise ein und drücken Sie Registerkarte um eine vorgeschlagene Liste vonBefehlen anzuzeigen.

$ aws dynamodb dTABdatapipeline deploy dlm dynamodb datasync devicefarm dms dynamodbstreamsdax directconnect docdb ddb discovery ds

• Geben Sie einen Parameter teilweise ein und drücken Sie Registerkarte um eine vorgeschlagene Listevon Parametern anzuzeigen.

$ aws dynamodb db delete-table --TAB--ca-bundle --endpoint-url --profile --cli-connect-timeout --generate-cli-skeleton --query --cli-input-json --no-paginate --region --cli-read-timeout --no-sign-request --table-name --color --no-verify-ssl --version --debug --output

• Geben Sie einen Parameter ein und drücken Sie Registerkarte um eine vorgeschlagene Liste vonRessourcenwerten anzuzeigen. Diese Funktion steht nur in der zur Verfügung.AWS CLI Version 2.

$ aws dynamodb db delete-table --table-name TAB

75

Page 81: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren der Befehlsvervollständigung

Table 1 Table 2 Table 3

Konfigurieren der BefehlsvervollständigungZum Konfigurieren der automatischen Vervollständigung sind der Name der von Ihnen verwendeten Shellund der Speicherort des Skripts aws_completer erforderlich.

Amazon Linux

Der Befehlsabschluss wird automatisch konfiguriert und standardmäßig aktiviert. Amazon EC2Instanzen, die ausgeführt werden Amazon Linux.

Abschnitte• Identifizieren Ihrer Shell (p. 76)• Suchen Sie die AWS-Vervollständigung. (p. 76)• Hinzufügen des Ordners der Vervollständigung zu Ihrem Pfad (p. 77)• Aktivieren der Befehlsvervollständigung (p. 77)• Test der Befehlsvervollständigung (p. 78)

Identifizieren Ihrer ShellUm zu ermitteln, welche Shell Sie verwenden, können Sie einen der folgenden Befehle verwenden.

Echo $SHELL – Zeigt den Namen des Shell-Dateidateinamens an. Dieser wird in der Regel für dieverwendete Shell passen, sofern Sie keine andere Shell nach dem Anmelden gestartet haben.

$ echo $SHELL/bin/bash

PS – Zeigt die Prozesse an, die für den aktuellen Benutzer ausgeführt werden. Einer von ihnen ist die Shell.

$ ps PID TTY TIME CMD 2148 pts/1 00:00:00 bash 8756 pts/1 00:00:00 ps

Suchen Sie die AWS-Vervollständigung.Der Speicherort der AWS-Vervollständigung kann je nach verwendeter Installationsmethode variieren.

Paketmanager – Programme wie pip, yum, brew, und apt-get normalerweise installieren AWSKomplettierer (oder ein Symlink) zu einem Standard-Pfad-Standort. In diesem Fall which können Sie denvollständigen Abschluss für Sie finden.

Wenn Sie verwendet haben pip ohne die --user können Sie den folgenden Pfad sehen.

$ which aws_completer/usr/local/aws/bin/aws_completer

Wenn Sie die --user Parameter auf dem pip Installationsbefehl, finden Sie in der Regel denvollständigen local/bin Ordner unter Ihrem $HOME Ordner.

76

Page 82: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren der Befehlsvervollständigung

$ which aws_completer/home/username/.local/bin/aws_completer

Gebündelter Installateur – Wenn Sie das gebündelte Installationsprogramm gemäß den Anweisungenim vorherigen Abschnitt verwendet haben, AWS der Abschluss befindet sich im bin Unterordner desInstallationsverzeichnisses.

$ ls /usr/local/aws/binactivateactivate.cshactivate.fishactivate_this.pyawsaws.cmdaws_completer...

Wenn alle anderen Fehler nicht bestehen, können Sie find um Ihr gesamtes Dateisystem für die AWSabgeschlossen.

$ find / -name aws_completer/usr/local/aws/bin/aws_completer

Hinzufügen des Ordners der Vervollständigung zu Ihrem PfadDamit die AWS-Vervollständigung erfolgreich verwendet werden kann, müssen Sie sie zunächst dem PfadIhres Computers hinzufügen.

1. Suchen Sie das Profilskript für die Shell in Ihrem Benutzerordner. Wenn Sie nicht sicher sind, welcheShell Sie haben, führen Sie „echo $SHELL” aus.

$ ls -a ~/. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash– .bash_profile, .profile, oder .bash_login• Zsh – .zshrc• Tcsh– .tcshrc, .cshrc, oder .login

2. Fügen Sie einen Exportbefehl an das Ende Ihres Profilskripts hinzu und orientieren Sie sich dabei anfolgendem Beispiel. Ersetzen /usr/local/aws/bin mit dem Ordner, den Sie im vorherigen Abschnitterkannt haben.

export PATH=/usr/local/aws/bin:$PATH

3. Laden Sie das Profil erneut in die aktuelle Sitzung, damit die Änderungen wirksam werden. Ersetzen Sie.bash_profile durch den Namen des Shell-Skripts, das Sie im ersten Abschnitt entdeckt haben.

$ source ~/.bash_profile

Aktivieren der BefehlsvervollständigungUm den Befehlsabschluss zu aktivieren, führen Sie den Befehl für die Hülle aus, die Sie verwenden. Siekönnen den Befehl der RC-Datei Ihrer Shell hinzufügen, sodass er immer ausgeführt wird, wenn Sie eine

77

Page 83: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWiederholversuche

neue Shell öffnen. Ersetzen Sie in jedem Befehl den Pfad /usr/local/aws/bin durch denjenigen, denSie im vorherigen Abschnitt auf Ihrem System gefunden haben.

• bash – Verwenden Sie den integrierten Befehl complete.

$ complete -C '/usr/local/aws/bin/aws_completer' aws

Fügen Sie den Befehl ~/.bashrc hinzu, sodass er immer ausgeführt wird, wenn Sie eine neue Shellöffnen. Ihre ~/.bash_profile sollte Quelle ~/.bashrc um sicherzustellen, dass der Befehl auch inAnmeldehüllen ausgeführt wird.

• zsh – Um den Befehlsabschluss auszuführen, müssen Sie ausführen bashcompinit indem Sie diefolgende Autoload-Linie am Ende Ihrer ~/.zshrc Profilskript.

$ autoload bashcompinit && bashcompinit

Um die Befehlsvervollständigung zu aktivieren, verwenden Sie den integrierten Befehl complete.

$ complete -C '/usr/local/aws/bin/aws_completer' aws

Fügen Sie den Befehl ~/.zshrc hinzu, sodass er immer ausgeführt wird, wenn Sie eine neue Shellöffnen.

• tcsh – Die Vervollständigung für tcsh erwartet einen Worttyp und ein Muster, um dasVervollständigungsverhalten zu definieren.

> complete aws 'p/*/`aws_completer`/'

Fügen Sie den Befehl ~/.tschrc hinzu, sodass er immer ausgeführt wird, wenn Sie eine neue Shellöffnen.

Test der BefehlsvervollständigungGeben Sie nach dem Aktivieren des Befehls einen Teilbefehl ein und drücken Sie Registerkarte um dieverfügbaren Befehle anzuzeigen.

$ aws sTABs3 ses sqs sts swfs3api sns storagegateway support

AWS CLI WiederholungenIn diesem Thema wird beschrieben, wie die AWS CLI könnte Anrufe an AWS Services schlagen aufgrundunerwarteter Probleme fehl. Diese Probleme können auf der Serverseite auftreten oder aufgrund derRatenbegrenzung von der AWS Service, den Sie anrufen möchten. Diese Art von Fehlern erfordert inder Regel keine besondere Behandlung und der Anruf wird automatisch wieder getätigt, oft nach einerkurzen Wartezeit. Die Schaltfläche AWS CLI bietet viele Funktionen, die beim erneuten Versuch von Client-Anrufen an AWS -Services, wenn diese Art von Fehlern oder Ausnahmen auftreten.

Themen• Verfügbare Wiederholungsmodi (p. 79)• Konfigurieren eines Wiederholungsmodus (p. 80)

78

Page 84: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerfügbare Wiederholungsmodi

• Anzeigen von Protokollen von Wiederholungsversuchen (p. 81)

Verfügbare WiederholungsmodiDie Schaltfläche AWS CLI verfügt über mehrere Modi, die je nach Ihrer Version ausgewählt werdenkönnen:

• Legacy-Wiederholungsmodus (p. 79)• Standard-Wiederholungsmodus (p. 79)• Adaptiver Wiederholungsmodus (p. 80)

Legacy-WiederholungsmodusDer Legacy-Modus ist der Standardmodus, der vom AWS CLI Version 1. Der Legacy-Modus verwendeteinen älteren Wiederholungs-Handler mit eingeschränkter Funktionalität, der Folgendes umfasst:

• Ein Standardwert von 4 für maximale Wiederholungsversuche, was insgesamt 5 Anrufversuche ergibt.Dieser Wert kann über die max_attempts Konfigurationsparameter.

• Wiederholungsversuche für die folgende begrenzte Anzahl von Fehlern/Ausnahmen:• Allgemeine Steckplatz-/Verbindungsfehler:

• ConnectionError

• ConnectionClosedError

• ReadTimeoutError

• EndpointConnectionError

• Serviceseitige Drosselung/Limitfehler und Ausnahmen:• Throttling

• ThrottlingException

• ThrottledException

• RequestThrottledException

• ProvisionedThroughputExceededException

• Versuchen Sie es erneut mit mehreren HTTP-Statuscodes, einschließlich 429, 500, 502, 503, 504 und509.

• Jeder Wiederholungsversuch umfasst einen exponentiellen Backoff um einen Basisfaktor von 2.

Standard-WiederholungsmodusDer Standardmodus ist ein Standardsatz von Wiederholungsregeln über die gesamte AWS SDKs mit mehrFunktionalität als Legacy. Dieser Modus ist der Standard für AWS CLI Version 2. Der Standardmoduswurde für die AWS CLI Version 2 und ist rückportiert auf AWS CLI Version 1. Die Standardmodus-Funktionalität umfasst:

• Ein Standardwert von 2 für maximale Wiederholungsversuche, was insgesamt 3 Anrufversuche ergibt.Dieser Wert kann über die max_attempts Konfigurationsparameter.

• Versuchen Sie es erneut mit der folgenden erweiterten Liste von Fehlern/Ausnahmen:• Vorübergehende Fehler/Ausnahmen

• RequestTimeout

• RequestTimeoutException

• PriorRequestNotComplete

• ConnectionError

79

Page 85: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren eines Wiederholungsmodus

• HTTPClientError

• Serviceseitige Drosselung/Limitfehler und Ausnahmen:• Throttling

• ThrottlingException

• ThrottledException

• RequestThrottledException

• TooManyRequestsException

• ProvisionedThroughputExceededException

• TransactionInProgressException

• RequestLimitExceeded

• BandwidthLimitExceeded

• LimitExceededException

• RequestThrottled

• SlowDown

• EC2ThrottledException

• Wiederholungsversuche bei nicht beschreibenden, vorübergehenden Fehlercodes. Insbesondere dieseHTTP-Statuscodes: 500, 502, 503, 504.

• Jeder Wiederholungsversuch umfasst einen exponentiellen Backoff um einen Basisfaktor von 2 für einemaximale Backoff-Zeit von 20 Sekunden.

Adaptiver WiederholungsmodusWarning

Der adaptive Modus ist ein experimenteller Modus und kann sich sowohl in Bezug auf Funktionenals auch Verhalten ändern.

Der adaptive Wiederholungsmodus ist ein experimenteller Wiederholungsmodus, der alle Funktionendes Standardmodus enthält. Zusätzlich zu den Funktionen des Standardmodus führt der adaptiveModus auch eine clientseitige Ratenbegrenzung durch die Verwendung eines Token-Buckets undRatenbegrenzungsvariablen ein, die bei jedem Wiederholungsversuch dynamisch aktualisiert werden.Dieser Modus bietet Flexibilität bei clientseitigen Wiederholungen, die sich an die Fehler-/Ausnahme-Statusantwort eines AWS-Service anpasst.

Bei jedem neuen Wiederholungsversuch ändert der adaptive Modus die Ratenbegrenzungsvariablenbasierend auf dem Fehler-, Ausnahme- oder HTTP-Statuscode, der in der Antwort vom angezeigt wirdAWS zu warten. Diese Ratenbegrenzungsvariablen werden dann verwendet, um eine neue Anrufrate fürden Client zu berechnen. Jede Ausnahme-/Fehler- oder nicht erfolgreiche HTTP-Antwort (in der obigenListe angegeben) von einem AWS-Service aktualisiert die Ratenlimitvariablen, wenn Wiederholungendurchgeführt werden, bis der Erfolg erreicht wird, der Token-Bucket erschöpft ist oder der konfigurierte Wertfür maximale Versuche erreicht ist.

Konfigurieren eines WiederholungsmodusDie Schaltfläche AWS CLI enthält eine Vielzahl von Wiederholungskonfigurationen sowieKonfigurationsmethoden, die beim Erstellen Ihres Client-Objekts zu berücksichtigen sind.

Verfügbare KonfigurationsmethodenIm Fenster AWS CLIkönnen Benutzer Wiederholungen auf folgende Weise konfigurieren:

80

Page 86: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAnzeigen von Protokollen von Wiederholungsversuchen

• Umgebungsvariablen• AWS CLI Konfigurationsdatei

Benutzer können die folgenden Wiederholungsoptionen anpassen:

• Wiederholungsmodus - Gibt an, welcher Wiederholungsmodus AWS CLI verwendet. Wie zuvorbeschrieben, stehen drei Wiederholungsmodi zur Verfügung: Legacy, Standard und Adaptive. DerStandardwert für AWS CLI Version 1 ist veraltet und für AWS CLI Version 2 ist Standard.

• Max. Versuche - Gibt den Wert der maximalen Wiederholungsversuche an AWS CLI Wiederholversuchs-Handler verwendet , wobei der erste Aufruf auf den von Ihnen angegebenen Wert angerechnet wird. DerStandardwert ist 5.

Definieren einer Wiederholungskonfiguration in IhrenUmgebungsvariablenSo definieren Sie Ihre Wiederholungskonfiguration für die AWS CLI, aktualisieren Sie dieUmgebungsvariablen Ihres Betriebssystems.

Die Wiederholungsumgebungsvariablen sind:

• AWS_RETRY_MODE

• AWS_MAX_ATTEMPTS

Weitere Informationen zu Umgebungsvariablen finden Sie unter Umgebungsvariablen zum Konfigurierender AWS CLI (p. 68).

Definieren einer Wiederholungskonfiguration in Ihrer AWS-Konfigurationsdatei

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

Um Ihre Wiederholungskonfiguration zu ändern, aktualisieren Sie Ihre globale AWS-Konfigurationsdatei.Der Standardspeicherort für Ihre AWS-Konfigurationsdatei ist ~/.aws/config.

Im Folgenden finden Sie ein Beispiel für eine AWS-Konfigurationsdatei:

[default]retry_mode = standardmax_attempts = 6

Weitere Informationen zu Konfigurationsdateien finden Sie unter Einstellungen der Konfigurations- undAnmeldeinformationsdatei (p. 48).

Anzeigen von Protokollen vonWiederholungsversuchenDie Schaltfläche AWS CLI verwendet die Wiederholungsmethode von Boto3 und die Protokollierung von.Sie können die --debug -Option auf einen beliebigen Befehl zum Empfangen von Debug-Protokollen.Weitere Informationen zur Verwendung der --debug Option, siehe Befehlszeilenoptionen (p. 72).

81

Page 87: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchBeschaffung von Anmeldeinformationen

über einen externen Prozess

Wenn Sie in Ihren Debugging-Protokollen nach „retry“ suchen, finden Sie die erforderlichen Informationenfür den Wiederholungsversuch. Die Client-Protokolleinträge für Wiederholungsversuche hängen davon ab,welchen Wiederholungsmodus Sie aktiviert haben.

Älterer Modus:

Wiederholungsnachrichten werden von botocore.retryhandler generiert. Sie sehen eine von dreiBotschaften:

• No retry needed

• Retry needed, action of: <action_name>

• Reached the maximum number of retry attempts: <attempt_number>

Standard- oder adaptiver Modus:

Wiederholungsnachrichten werden von botocore.retries.standard generiert. Sie sehen eine von dreiBotschaften:

• No retrying request

• Retry needed, retrying request after delay of: <delay_value>

• Retry needed but retry quota reached, not retrying request

Die vollständige Definitionsdatei der Botocore-Wiederholungen finden Sie unter _wiederholen.json auf demBotokern-Schönheit GitHub Aufbewahrungsort.

Beschaffung von Anmeldeinformationen über einenexternen Prozess

Warning

In diesem Thema wird die Beschaffung von Anmeldeinformationen von einem externen Prozesserläutert. Dies könnte ein Sicherheitsrisiko darstellen, wenn der Befehl zum Generieren derAnmeldeinformationen nicht zulässigen Prozessen oder Benutzern zugänglich wird. Wir empfehlenIhnen, die unterstützten, sicheren Alternativen von der AWS CLI und AWS um das Risiko für dieGefährdung Ihrer Anmeldedaten zu reduzieren. Sorgen Sie dafür, dass Sie die config-Datei undalle zugehörigen Dateien und Tools vor einer Offenlegung sichern.Stellen Sie sicher, dass Ihr benutzerdefiniertes Anmeldeinformationstool keine geheimenInformationen in StdErr schreibt, da die SDKs und die CLI solche Informationen erfassen undprotokollieren sowie möglicherweise Benutzern zugänglich machen können, die nicht autorisiertsind.

Wenn Sie eine Methode haben, um Anmeldeinformationen zu erstellen oder zu suchen, die nicht direktvom AWS CLI, Sie können die CLI konfigurieren, um sie durch Konfigurieren der credential_processEinstellung im config Datei.

Beispielsweise könnten Sie einen etwa wie folgt aussehenden Eintrag in die config-Datei aufnehmen.

[profile developer]credential_process = /opt/bin/awscreds-custom --username helen

Syntax

82

Page 88: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchBeschaffung von Anmeldeinformationen

über einen externen Prozess

Um diese Zeichenfolge auf eine Weise zu erstellen, die mit jedem Betriebssystem kompatibel ist, gehen Sienach den folgenden Regeln vor:

• Wenn der Pfad oder Dateiname ein Leerzeichen enthält, umgeben Sie den vollständigen Pfad undDateinamen mit doppelten Anführungszeichen („ “). Der Pfad und der Dateiname können nur aus denZeichen bestehen: A-Z a-z 0 - 9 - _. Platz

• Wenn ein Parametername oder ein Parameterwert ein Leerzeichen enthält, umgeben Sie dieses Elementmit doppelten Anführungszeichen („ “). Umgeben Sie dabei nur den Namen oder den Wert, nicht beides.

• Fügen Sie keine Umgebungsvariablen in die Zeichenfolgen ein. Sie können beispielsweise nicht $HOMEoder %USERPROFILE%.

• Geben Sie den Home-Ordner nicht als ~. Sie müssen den vollständigen Pfad angeben.

Beispiel für Windows

credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"

Beispiel für Linux oder macOS

credential_process = "/Users/Dave/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"

Erwartete Ausgabe des Anmeldeinformationsprogramms

Die AWS CLI führt den Befehl wie im Profil angegeben aus und liest dann Daten aus STDOUT. Der vonIhnen angegebene Befehl muss die JSON-Ausgabe erstellen STDOUT die mit der folgenden Syntaxübereinstimmt.

{ "Version": 1, "AccessKeyId": "an AWS access key", "SecretAccessKey": "your AWS secret access key", "SessionToken": "the AWS session token for temporary credentials", "Expiration": "ISO8601 timestamp when the credentials expire"}

Note

Wie dieses Schreiben Version Schlüssel muss eingestellt sein auf 1. Dies kann im Laufe der Zeitsteigen, während die Struktur sich entwickelt.

Die Expiration Schlüssel ist ein ISO8601 formatierter Zeitstempel. Wenn der Expiration-Schlüssel nicht in der Ausgabe des Tools vorhanden ist, geht die CLI davon aus, dass es sich bei denAnmeldeinformationen um langfristige Anmeldeinformationen handelt, die nicht aktualisiert werden.Andernfalls werden die Anmeldeinformationen als temporäre Anmeldeinformationen angesehen undautomatisch aktualisiert, indem der Befehl credential_process vor ihrem Ablauf erneut ausgeführtwird.

Note

Die AWS CLI tut nicht Cache-externe Prozessberechtigungsnachweise auf die Art und Weise, wiesie die Berechtigungsdaten von Aufgaben übernehmen. Wenn Caching erforderlich ist, müssenSie dies im externen Prozess implementieren.

Der externe Prozess kann einen Rückgabecode ungleich Null zurückgeben, um anzuzeigen, dass beimAbrufen der Anmeldeinformationen ein Fehler aufgetreten ist.

83

Page 89: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAbrufen von Anmeldeinformationen

aus EC2-Instance-Metadaten

Abrufen von Anmeldeinformationen aus EC2-Instance-Metadaten

Wenn Sie die AWS CLI von innerhalb eines Amazon Elastic Compute Cloud ( ( (Amazon EC2), Sie könnendie Bereitstellung von Anmeldeinformationen für Ihre Befehle vereinfachen. Jedes Stück Amazon EC2Instanz enthält Metadaten, die AWS CLI kann direkt nach temporären Anmeldeinformationen abfragen. Umdiese bereitzustellen, erstellen Sie AWS Identity and Access Management ( ( (IAM) Rolle, die Zugriff auf diebenötigten Ressourcen hat und diese Rolle an die Amazon EC2 Instanz, wenn Sie es starten.

Starten Sie die Instanz und prüfen Sie, ob die AWS CLI ist bereits installiert (es wird vorinstalliert AmazonLinux). Installieren Sie die , falls erforderlich.AWS CLI. Sie müssen trotzdem eine Standard-AWS-Regionkonfigurieren, um zu vermeiden, dass Sie diese in jedem Befehl angeben müssen.

Wenn Sie in einem benannten Profil angeben möchten, dass Sie die im Hosting-Amazon EC2-Instance-Profil verfügbaren Anmeldeinformationen verwenden möchten, verwenden Sie die folgende Zeile in derKonfigurationsdatei an.

credential_source = Ec2InstanceMetadata

Das folgende Beispiel zeigt, wie man die marketingadminrole die Rolle durch Bezugnahme aufAmazon EC2 Instanzprofil.

[profile marketingadmin]role_arn = arn:aws:iam::123456789012:role/marketingadminrolecredential_source = Ec2InstanceMetadata

So legen Sie die Region und das Standardausgabeformat fest aws configure ohne Angabe vonAnmeldeinformationen drücken Sie Eingeben zweimal, um die ersten zwei Eingaben zu überspringen.

$ aws configureAWS Access Key ID [None]: ENTERAWS Secret Access Key [None]: ENTERDefault region name [None]: us-west-2Default output format [None]: json

Wenn ein IAM die Rolle an die Instanz angehängt ist, AWS CLI automatisch und sicher dieAnmeldeinformationen aus den Instanz-Metadaten abrufen. Weitere Informationen finden Sie unterGewährung von Anwendungen, die ausgeführt werden Amazon EC2 Instanzen Zugriff auf AWSRessourcen im IAM-Benutzerhandbuch.

Verwenden eines HTTP-ProxysZum Zugreifen AWS über Proxy-Server können Sie die HTTP_PROXY und HTTPS_PROXYUmgebungsvariablen mit den DNS-Domänennamen oder IP-Adressen und Portnummern, die Ihre Proxy-Server verwenden.

Note

Die folgenden Beispiele zeigen den Namen der Umgebungsvariablen in Großbuchstaben. WennSie jedoch eine Variable angeben,—einmal mit Großbuchstaben und einmal mit Kleinbuchstaben—der eine mit Kleinbuchstaben gewinnt. Wir empfehlen Ihnen, jede Variable nur einmal zudefinieren, um Verwirrung und unerwartetes Verhalten zu vermeiden.

84

Page 90: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAuthentifizieren bei einem Proxy

Die folgenden Beispiele zeigen, wie Sie entweder die explizite IP-Adresse Ihres Proxys oder einen DNS-Namen verwenden können, der in die IP-Adresse Ihres Proxys aufgelöst wird. In beiden Fällen können einDoppelpunkt und die Portnummer folgen, an die Abfragen gesendet werden sollen.

Linux oder macOS

$ export HTTP_PROXY=http://10.15.20.25:1234$ export HTTP_PROXY=http://proxy.example.com:1234$ export HTTPS_PROXY=http://10.15.20.25:5678$ export HTTPS_PROXY=http://proxy.example.com:5678

Windows:

C:\> setx HTTP_PROXY http://10.15.20.25:1234C:\> setx HTTP_PROXY http://proxy.example.com:1234C:\> setx HTTPS_PROXY http://10.15.20.25:5678C:\> setx HTTPS_PROXY http://proxy.example.com:5678

Authentifizieren bei einem ProxyDie AWS CLI unterstützt HTTP-Standardauthentifizierung. Geben Sie den Benutzernamen und dasPasswort folgendermaßen in die Proxy-URL ein.

Linux oder macOS

$ export HTTP_PROXY=http://username:[email protected]:1234$ export HTTPS_PROXY=http://username:[email protected]:5678

Windows:

C:\> setx HTTP_PROXY http://username:[email protected]:1234C:\> setx HTTPS_PROXY http://username:[email protected]:5678

Note

Die AWS CLI unterstützt keine NTLM-Proxys. Wenn Sie einen NTLM- oder Kerberos-Protokollproxy verwenden, können Sie möglicherweise über einen Authentifizierungs-Proxyverbinden Cntlm.

Verwenden von Proxys auf Amazon EC2-InstancesWenn Sie einen Proxy auf einem Amazon EC2 Instanz mit angehängtem IAM Rolle haben, stellen Siesicher, dass Sie die Adresse, die zum Zugriff auf die Instanz Metadaten. Stellen Sie dazu das NO_PROXYUmgebungsvariable zur IP-Adresse des Instanz-Metadaten-Dienstes, 169.254.169.254. Diese Adressevariiert nicht.

Linux oder macOS

$ export NO_PROXY=169.254.169.254

Windows:

C:\> setx NO_PROXY 169.254.169.254

85

Page 91: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwendung eines IAM Rolle im AWS CLI

Verwendung eines IAM Rolle im AWS CLIEin AWS Identity and Access Management ( ( (IAM) Rolle ist ein Autorisierungstool, das IAM Benutzererhalten zusätzliche (oder andere) Berechtigungen oder holen sich Berechtigungen, um Aktionen in eineranderen AWS Konto.

Sie können die AWS Command Line Interface ( ( (AWS CLI) tòó ùüsèê âà IAM Rolle, indem Sie ein Profilfür die Rolle im ~/.aws/config Datei.

Das folgende Beispiel zeigt ein Rollenprofil marketingadmin. Wenn Sie Befehleausführen mit --profile marketingadmin (oder geben Sie es mit der AWS_PROFILEUmgebungsvariable (p. 68)), die CLI verwendet die in einem separaten Profil definiertenAnmeldeinformationen user1 um die Rolle mit dem Amazon Resource Name (ARN) zu übernehmenarn:aws:iam::123456789012:role/marketingadminrole. Sie können Vorgänge ausführen, diedurch die Berechtigungen, die dieser Rolle zugewiesen wurden, erlaubt sind.

[profile marketingadmin]role_arn = arn:aws:iam::123456789012:role/marketingadminrolesource_profile = user1

Sie können dann eine source_profile die auf ein separates, benanntes Profil verweist, das IAMBenutzeranmeldeinformationen mit Genehmigung zur Verwendung der Rolle. Im vorherigen Beispiel ist dasmarketingadmin Profil verwendet die Anmeldeinformationen im user1 Profil. Wenn Sie angeben, dasseine AWS CLI Befehl ist, das Profil zu verwenden marketingadmin, die CLI sucht automatisch nach denAnmeldeinformationen für die verknüpfte user1 und verwendet sie, um temporäre Anmeldeinformationenfür die spezifizierte IAM Rolle. Die CLI verwendet die sts:Annahmen im Hintergrund, um dies zu erreichen.Diese temporären Anmeldeinformationen werden dann verwendet, um den angeforderten CLI-Befehlausführen. Die angegebene Rolle muss über angefügte IAM-Berechtigungsrichtlinien verfügen, die dasAusführen des angeforderten CLI-Befehls zulassen.

So führen Sie einen CLI-Befehl aus innerhalb eines Amazon Elastic Compute Cloud ( ( (Amazon EC2)Instanz oder Amazon Elastic Container Service ( ( (Amazon ECS) cóòndlèê, dèëvèëst ûüsèê sè IAMRolle, die dem Instanzprofil oder dem Container angehängt ist. Wenn Sie kein Profil angeben oderkeine Umgebungsvariablen festlegen, wird diese Rolle direkt verwendet. So müssen Sie keine Langzeit-Zugriffsschlüssel in Ihren Instances speichern. Sie können diese Instance- oder Container-Rollenauch verwenden, um Anmeldeinformationen für eine andere Rolle abzurufen. Dazu verwenden Siecredential_source (anstatt source_profile), um festzulegen, wie die Anmeldeinformationengefunden werden. Das Attribut credential_source unterstützt die folgenden Werte:

• Environment – Ruft die Quelldaten aus Umgebungsvariablen ab.• Ec2InstanceMetadata – Verwendet die IAM Rolle an der Amazon EC2 Instanzprofil.• EcsContainer – Verwendet die IAM Rolle an der Amazon ECS Container.

Das folgende Beispiel zeigt dasselbe Beispiel marketingadminrole Rolle, die durch Bezugnahme aufAmazon EC2 Instanzprofil.

[profile marketingadmin]role_arn = arn:aws:iam::123456789012:role/marketingadminrolecredential_source = Ec2InstanceMetadata

Wenn Sie eine Rolle aufrufen, stehen Ihnen zusätzliche Optionen zur Verfügung, die Sie anfordernkönnen, z. B. die Verwendung einer Multifaktor-Authentifizierung und einer externen ID (die vonDrittanbietern für den Zugriff auf die Ressourcen ihrer Kunden verwendet wird). Sie können auch eindeutigeRollensitzungsnamen angeben, die in AWS CloudTrail-Protokollen einfacher überprüft werden können.

Abschnitte

86

Page 92: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren und Verwenden einer Rolle

• Konfigurieren und Verwenden einer Rolle (p. 87)• Verwenden von Multi-Factor Authentication (MFA) (p. 88)• Kontenübergreifende Rollen und externe ID (p. 89)• Angeben eines Rollensitzungsnamens für eine einfachere Prüfung (p. 90)• Übernehmen einer Rolle mit Web-Identität (p. 90)• Anmeldeinformationen aus dem Cache löschen (p. 91)

Konfigurieren und Verwenden einer RolleWenn Sie Befehle unter Verwendung eines Profils ausführen, das IAM Rolle, die AWS CLI verwendet dieAnmeldeinformationen des Quellprofils, um AWS Security Token Service ( ( (AWS STS) und fordern Sietemporäre Anmeldeinformationen für die angegebene Rolle an. Der Benutzer im Quellprofil muss über dieBerechtigung zum Aufrufen von sts:assume-role für die Rolle im angegebenen Profil verfügen. DieRolle muss über eine Vertrauensstellung verfügen, die es dem Benutzer im Quellprofil ermöglicht, die Rollezu übernehmen. Der Prozess des Abrufens und dann die Verwendung temporärer Anmeldeinformationenfür eine Rolle wird häufig als die Rolle.

Sie können eine Rolle erstellen in IAM mit den Berechtigungen, die Sie von Benutzern erwarten möchten,indem Sie das Verfahren unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einenIAM Benutzer im AWS Identity and Access Management Benutzerhandbuch. Wenn die Rolle und derIAM-Benutzer des Quellprofils im selben Konto vorhanden sind, können Sie beim Konfigurieren derVertrauensstellung der Rolle Ihre eigene Konto-ID eingeben.

Ändern Sie nach dem Erstellen der Rolle die Vertrauensbeziehung, um IAM Benutzer (oder die Benutzer imAWS Konto), um es zu übernehmen.

Im folgenden Beispiel sehen Sie eine Vertrauensrichtlinie, die Sie einer Rolle anfügen könnten. DieseRichtlinie erlaubt es, die Rolle von jedem zu übernehmen IAM Benutzer im Konto 123456789012, wenn derAdministrator dieses Kontos gewährt ausdrücklich den sts:assumerole Berechtigung für den Benutzer.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole" } ]}

Die Vertrauensrichtlinie selbst gewährt keine Berechtigungen. Der Administrator des Kontos muss dieBerechtigung zur Übernahme der Rolle an einzelne Benutzer delegieren, indem eine Richtlinie mit denentsprechenden Berechtigungen angefügt wird. Das folgende Beispiel zeigt eine Richtlinie, die Siean eine IAM Benutzer, die es dem Benutzer erlaubt, nur die marketingadminrole Rolle. WeitereInformationen zur Gewährung eines Benutzerzugriffs auf eine Rolle finden Sie unter Gewähren einerBenutzerberechtigung zum Wechseln von Rollen im IAM-Benutzerhandbuch.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole",

87

Page 93: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerwenden von MFA

"Resource": "arn:aws:iam::123456789012:role/marketingadminrole" } ]}

Der IAM-Benutzer benötigt keine weiteren Berechtigungen, um mithilfe des Rollenprofils CLI-Befehleauszuführen. Stattdessen werden die Berechtigungen, die den Befehl ausführen, von jenen, die an denRolle. Sie fügen der Rolle Berechtigungsrichtlinien an, um anzugeben, welche Aktionen für welche AWS-Ressourcen ausgeführt werden können. Weitere Informationen zum Anhängen von Berechtigungen an eineRolle (die identisch sind, finden Sie unter IAM Benutzer), siehe Ändern von Berechtigungen für einen IAM-Benutzer im IAM-Benutzerhandbuch.

Nachdem Sie nun das Rollenprofil, die Rollenberechtigungen, die Rollen-Vertrauensstellung und dieBenutzerberechtigungen konfiguriert haben, können Sie die Rolle an der Befehlszeile verwenden, indemSie die Option --profile aufrufen. So ruft beispielsweise die folgende Amazon S3 ls Befehl unterVerwendung der Berechtigungen, die an den marketingadmin Rolle, die durch das Beispiel zu Beginndieses Themas definiert wird.

$ aws s3 ls --profile marketingadmin

Um die Rolle für mehrere Aufrufe zu verwenden, können Sie die UmgebungsvariableAWS_DEFAULT_PROFILE für die aktuelle Sitzung über die Befehlszeile festlegen. Da dieUmgebungsvariable definiert ist, müssen Sie die Option --profile nicht bei jedem Befehl angeben.

Linux oder macOS

$ export AWS_PROFILE=marketingadmin

Windows:

C:\> setx AWS_PROFILE marketingadmin

Weitere Informationen zur Konfiguration IAM Benutzer und Rollen, siehe Benutzer und Gruppen und Rollenim IAM-Benutzerhandbuch.

Verwenden von Multi-Factor Authentication (MFA)Zur Erhöhung der Sicherheit können Sie festlegen, dass die Benutzer einen von einem Multifaktor-Authentifizierungsgerät (MFA), einem U2F-Gerät oder einen von einer mobilen App generierten einmaligenSchlüssel bereitstellen müssen, wenn sie versuchen, einen Aufruf mit dem Rollenprofil zu senden.

Zunächst können Sie die Vertrauensstellung für die IAM-Rolle so ändern, dass eine MFA erforderlichist. Dadurch wird verhindert, dass Benutzer die Rolle verwenden, ohne sich zuerst mithilfe von MFA zuauthentifizieren. Ein Beispiel finden Sie im Condition Zeile im folgenden Beispiel. Diese Richtlinie erlaubtdie IAM Benutzer benannt anika um die Rolle zu übernehmen, an die Richtlinie angehängt ist, aber nur,wenn sie von MFA authentifiziert werden.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/anika" }, "Action": "sts:AssumeRole", "Condition": { "Bool": { "aws:multifactorAuthPresent": true } }

88

Page 94: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKontenübergreifende Rollen und externe ID

} ]}

Fügen Sie als Nächstes dem Rollenprofil, das den ARN vom MFA-Gerät des Benutzers angibt, eine Zeilehinzu. Die folgende Probe config Dateieinträge zeigen zwei Rollenprofile, die beide Zugriffstasten fürdie IAM Benutzer anika um temporäre Anmeldeinformationen für die Rolle anzufordern cli-role. DerBenutzer anika hat Genehmigungen, die Rolle übernehmen, die durch die Vertrauenungspolitik der Rollegewährt wird.

[profile role-without-mfa]region = us-west-2role_arn= arn:aws:iam::128716708097:role/cli-rolesource_profile=cli-user

[profile role-with-mfa]region = us-west-2role_arn= arn:aws:iam::128716708097:role/cli-rolesource_profile = cli-usermfa_serial = arn:aws:iam::128716708097:mfa/cli-user

[profile anika]region = us-west-2output = json

Die Einstellung mfa_serial kann einen ARN (wie gezeigt) oder die Seriennummer eines Hardware-MFA-Tokens annehmen.

Das erste Profil, role-without-mfa, erfordert keine MFA. Da bei dem vorherigen Beispiel die an dieRolle angefügte Vertrauensrichtlinie eine MFA erfordert, schlägt jeder Versuch, einen Befehl mit diesemProfil auszuführen, fehl.

$ aws iam list-users --profile role-without-mfa

An error occurred (AccessDenied) when calling the AssumeRole operation: Access denied

Der zweite Profileintrag, role-with-mfa, gibt ein MFA-Gerät an, das verwendet werden soll. Wennder Benutzer versucht, einen CLI-Befehl mit diesem Profil auszuführen, fordert die CLI den Benutzer zurEingabe des Einmalpassworts auf, das vom MFA-Gerät bereitgestellt wird. Wenn die MFA-Authentifizierungerfolgreich ist, führt der Befehl den angeforderten Vorgang aus. Das Einmalkennwort wird nicht auf demBildschirm angezeigt.

$ aws iam list-users --profile role-with-mfaEnter MFA code for arn:aws:iam::123456789012:mfa/cli-user:{ "Users": [ { ...

Kontenübergreifende Rollen und externe IDSie können IAM-Benutzern ermöglichen, Rollen zu verwenden, die zu verschiedenen Konten gehören,indem Sie kontenübergreifende Rollen konfigurieren. Stellen Sie während der Rollenerstellung denRollentyp auf Ein weiteres AWS-Konto, wie beschrieben in Erstellen einer Rolle zum Delegieren vonBerechtigungen an einen IAM-Benutzer. Optional, Auswahl MFA erfordern. MFA erfordern konfiguriert denentsprechenden Zustand in der Vertrauensbeziehung, wie beschrieben in Verwenden von Multi-FactorAuthentication (MFA) (p. 88).

89

Page 95: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAngeben eines Rollensitzungsnamens

für eine einfachere Prüfung

Wenn Sie eine Externe ID um zusätzliche Kontrolle darüber zu erhalten, wer eine Rolle über Konten hinwegnutzen kann, müssen Sie auch die external_id Parameter zum Rollenprofil. Normalerweise verwendenSie dieses nur, wenn das andere Konto von einer Person außerhalb Ihres Unternehmens kontrolliert wird.

[profile crossaccountrole]role_arn = arn:aws:iam::234567890123:role/SomeRolesource_profile = defaultmfa_serial = arn:aws:iam::123456789012:mfa/saanviexternal_id = 123456

Angeben eines Rollensitzungsnamens für eineeinfachere PrüfungWenn viele Personen eine Rolle teilen, wird die Prüfung zu einer größeren Herausforderung. Sie möchtenjede aufgerufene Operation mit der Person verknüpfen, die diese Aktion aufgerufen hat. Wenn die Personjedoch eine Rolle verwendet, ist die Annahme der Rolle durch die Person eine vom Aufrufen einerOperation getrennte Aktion und Sie müssen die beiden manuell korrelieren.

Sie können dies vereinfachen, indem Sie eindeutige Rollensitzungsnamen angeben, wenn Benutzereine Rolle annehmen. Sie tun dies durch Hinzufügen eines role_session_name Parameter zu jedembenannten Profil im config Datei, die eine Rolle angibt. Die role_session_name Wert wird andas AssumeRole und werden Teil des ARN für die Rollensitzung. Er ist auch in den AWS CloudTrail-Protokollen für alle protokollierten Operationen enthalten.

Sie können beispielsweise folgendermaßen ein rollenbasiertes Profil erstellen.

[profile namedsessionrole]role_arn = arn:aws:iam::234567890123:role/SomeRolesource_profile = defaultrole_session_name = Session_Maria_Garcia

Dies führt dazu, dass die Rollensitzung den folgenden ARN hat.

arn:aws:iam::234567890123:assumed-role/SomeRole/Session_Maria_Garcia

Außerdem enthalten alle AWS CloudTrail-Protokolle den Rollensitzungsnamen in den für jede Operationerfassten Informationen.

Übernehmen einer Rolle mit Web-IdentitätSie können ein Profil konfigurieren, um anzuzeigen, dass AWS CLI sollte eine Rolle unter VerwendungWeb Identity Federation und Open ID Connect (OIDC). Wenn Sie dies in einem Profil angeben, AWS CLImacht automatisch das entsprechende AWS STS AssumeRoleWithWebIdentity rufen Sie an.

Note

Wenn Sie ein Profil angeben, das eine IAM Rolle, die AWS CLI ruft die entsprechenden Anrufean, um temporäre Anmeldeinformationen abzurufen. Diese Anmeldeinformationen werden ingespeichert ~/.aws/cli/cache. Nachfolgende AWS CLI Befehle, die dasselbe Profil angeben,die gespeicherten temporären Anmeldeinformationen, bis sie ablaufen. Dann aktualisiert die AWSCLI automatisch die Anmeldeinformationen.

Um mithilfe des Web-Identitätsverbunds temporäre Anmeldeinformationen abzurufen und zu verwenden,können Sie die folgenden Konfigurationswerte in einem freigegebenen Profil angeben.

90

Page 96: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAnmeldeinformationen aus dem Cache löschen

role_arn (p. 86)

Gibt den ARN der Rolle an, die angenommen werden soll.web_identity_token_file

Gibt den Pfad zu einer Datei an, die ein OAuth 2.0-Zugriffstoken oder OpenID Connect ID-Tokenenthält, das vom Identitätsanbieter bereitgestellt wird. Die AWS CLI lädt diese Datei und übermitteltihren Inhalt als WebIdentityToken Argument des AssumeRoleWithWebIdentity Betrieb.

role_session_name (p. 90)

Gibt einen optionalen Namen an, der auf diese Rollenübernahme-Sitzung angewendet wird.

Unten finden Sie eine Beispielkonfiguration für den mindestens erforderlichen Umfang einer Konfigurationfür eine angenommene Rolle mit Web-Identitätsprofil.

# In ~/.aws/config

[profile web-identity]role_arn=arn:aws:iam:123456789012:role/RoleNameToAssumeweb_identity_token_file=/path/to/a/token

Sie können diese Konfiguration auch durch Umgebungsvariablen (p. 68).

AWS_ROLE_ARN

Den ARN der zu übernehmenden RolleAWS_WEB_IDENTITY_TOKEN_FILE

Der Pfad zur Datei mit dem Web-Identitäts-Token.AWS_ROLE_SESSION_NAME

Der Name für diese Sitzung der Rollenübernahme.

Note

Diese Umgebungsvariablen gelten derzeit nur für die Anbieter für Rollenübernahme mit Web-Identität. Sie gelten nicht für die allgemeine Konfiguration für einen Anbieter für Rollenübernahme.

Anmeldeinformationen aus dem Cache löschenWenn Sie eine Rolle verwenden, legt die AWS CLI die temporären Anmeldeinformationen lokal im Cacheab, bis sie ablaufen. Beim nächsten Versuch, diese zu verwenden, versucht die AWS CLI, sie in IhremNamen zu erneuern.

Wenn die temporären Anmeldedaten Ihrer Rolle widerrufen, sie werden nicht automatisch erneuert undversuchen, sie nicht zu verwenden. Sie können jedoch den Cache löschen, um zu erzwingen, dass dieAWS CLI neue Anmeldeinformationen abruft.

Linux oder macOS

$ rm -r ~/.aws/cli/cache

Windows:

C:\> del /s /q %UserProfile%\.aws\cli\cache

91

Page 97: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAbrufen von Hilfe

Verwenden des sAWS CLIIn diesem Abschnitt finden Sie viele der allgemeinen Funktionen und Optionen, die im AWS Command LineInterface ( ( (AWS CLI).

Note

Standardmäßig AWS CLI sendet Anfragen an AWS Services durch HTTPS auf TCP-Port 443. Füreine erfolgreiche Verwendung der AWS CLI müssen Sie für ausgehende Verbindungen auf demTCP-Port 443 berechtigt sein.

Themen• Abrufen von Hilfe für die AWS CLI (p. 92)• Befehlsstruktur in der AWS CLI (p. 96)• Angeben von Parameterwerten für die AWS CLI (p. 98)• Steuern der Befehlsausgabe von der AWS CLI (p. 114)• Verwenden von AWS CLI-Paginierungsoptionen (p. 128)• Grundlegendes zu Rückgabecodes der AWS CLI (p. 132)

Abrufen von Hilfe für die AWS CLIBei der Verwendung der Hilfe können Sie Hilfe mit jedem Befehl erhalten AWS Command Line Interface( ( (AWS CLI). Geben Sie dazu hinter einem Befehlsnamen einfach help ein.

Mit dem folgenden Befehl wird zum Beispiel die Hilfe für die allgemeinen AWS CLI-Optionen und dieverfügbaren High-Level-Befehle aufgeführt.

$ aws help

Der folgende Befehl zeigt die verfügbaren Amazon Elastic Compute Cloud ( ( (Amazon EC2) spezifischeBefehle.

$ aws ec2 help

Das folgende Beispiel zeigt detaillierte Hilfe für die Amazon EC2 DescribeInstances Betrieb. Die Hilfeenthält Informationen zu den Eingabeparametern, verfügbaren Filter und dem Inhalt der Ausgabe. Sieenthält auch Beispiele dazu, wie Sie Variationen des Befehls eingeben können.

$ aws ec2 describe-instances help

Die Hilfe ist für jeden Befehl in sechs Abschnitte unterteilt:

Name

Der Name des Befehls.

NAME describe-instances -

92

Page 98: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAbrufen von Hilfe

Description (Beschreibung)

Eine Beschreibung der API-Operation, die der Befehl aufruft.

DESCRIPTION Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results....

Syntax

Die grundlegende Syntax für die Nutzung des Befehls und dessen Optionen. Wenn eine Option ineckigen Klammern dargestellt wird, ist sie optional oder hat einen Standardwert oder es gibt einealternative Option, die verwendet werden kann.

SYNOPSIS describe-instances [--dry-run | --no-dry-run] [--instance-ids <value>] [--filters <value>] [--cli-input-json <value>] [--starting-token <value>] [--page-size <value>] [--max-items <value>] [--generate-cli-skeleton]

Zum Beispiel: describe-instances hat ein Standardverhalten, das beschrieben wird alle Instanzenim aktuellen Konto und AWS Region. Sie können optional eine Liste instance-ids um eine odermehrere Instanzen zu beschreiben; dry-run ist ein optionales Boolesches Flag, das keinen Werteinnimmt. Um ein boolesches Flag zu verwenden, geben Sie in diesem Fall entweder den angezeigtenWert an. --dry-run oder --no-dry-run. Ebenso, --generate-cli-skeleton nimmt keinenWert ein. Enthält eine Option Bedingungen für ihre Verwendung, sind diese im Abschnitt OPTIONSoder in den aufgeführten Beispielen angegeben.

Optionen

Eine Beschreibung der einzelnen Optionen aus der Zusammenfassung.

OPTIONS --dry-run | --no-dry-run (boolean) Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRun- Operation . Otherwise, it is UnauthorizedOperation .

--instance-ids (list) One or more instance IDs.

Default: Describes all your instances....

Beispiele

Beispiele für die Nutzung des Befehls und seiner Optionen. Wenn Sie ein Beispiel für einen Befehloder Anwendungsfall benötigen, aber keines zur Verfügung steht, fordern Sie eines über den

93

Page 99: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAbrufen von Hilfe

Feedback-Link auf dieser Seite an. Sie können das Beispiel auch auf der Hilfeseite für den Befehl inder AWS CLI-Befehlsreferenz anfragen.

EXAMPLES To describe an Amazon EC2 instance

Command: aws ec2 describe-instances --instance-ids i-5203422c To describe all instances with the instance type m1.small Command: aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small" To describe all instances with an Owner tag Command: aws ec2 describe-instances --filters "Name=tag-key,Values=Owner"...

Ausgabe

Beschreibungen der einzelnen Felder und Datentypen, die in der Antwort von zurückgegebenwerden.AWS.

Für describe-instances ist die Ausgabe ist eine Liste von Reservierungsobjekten, die jeweilsmehrere Felder und Objekte enthalten, die Informationen über die damit verknüpften Instancesbereitstellen. Diese Informationen stammen vom API-Dokumentation für den Reservierungsdatentypverwendet von Amazon EC2.

OUTPUT Reservations -> (list) One or more reservations.

(structure) Describes a reservation.

ReservationId -> (string) The ID of the reservation.

OwnerId -> (string) The ID of the AWS account that owns the reservation.

RequesterId -> (string) The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

Groups -> (list) One or more security groups.

(structure) Describes a security group.

GroupName -> (string) The name of the security group.

GroupId -> (string) The ID of the security group.

Instances -> (list)

94

Page 100: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAWS CLI-Dokumentation

One or more instances.

(structure) Describes an instance.

InstanceId -> (string) The ID of the instance.

ImageId -> (string) The ID of the AMI used to launch the instance.

State -> (structure) The current state of the instance.

Code -> (integer) The low byte represents the state. The high byte is an opaque internal value and should be ignored....

Wenn die Ausgabe in JSON von der AWS CLI gerendert wird, entsteht ein Array vonReservierungsobjekten, ähnlich dem folgenden Beispiel.

{ "Reservations": [ { "OwnerId": "012345678901", "ReservationId": "r-4c58f8a0", "Groups": [], "RequesterId": "012345678901", "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": "ec2-52-74-16-12.us-west-2.compute.amazonaws.com", "State": { "Code": 16, "Name": "running" },...

Jedes Reservierungsobjekt enthält Felder, die Reservierung und eine Reihe von Instanzobjektenbeschreiben, die jeweils mit eigenen Feldern (z. B. PublicDnsName) und Objekte (z. B. State), diees beschreiben.

Windows-Nutzer:

Sie können Rohr (|) die Ausgabe des Hilfe-Befehls zum more Befehl, um die Hilfe zu einerSeite anzuzeigen. Drücken Sie die Leertaste oder Pgdn um mehr des Dokuments anzuzeigen,und q zum Beenden.

C:\> aws ec2 describe-instances help | more

AWS CLI-DokumentationDie AWS CLI Command Reference enthält auch die Hilfe für alle AWS CLI Befehle. Die Beschreibungensind so strukturiert, dass eine einfache Navigation und Anzeige auf Mobilgeräten, Tablets und Desktop-Bildschirmen möglich ist.

95

Page 101: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAPI-Dokumentation

Note

Die Hilfedateien enthalten Links, die nicht von der Befehlszeile aus angezeigt oder aufgerufenwerden können. Sie können diese Links anzeigen und mit diesen interagieren, wenn Sie die -Referenz verwenden.AWS CLI Command Reference.

API-DokumentationAlle Befehle im AWS CLI entspricht den Anforderungen an einen AWS öffentliche API des Dienstes. JederDienst mit einer öffentlichen API hat eine API-Referenz, die auf der Startseite des Dienstes auf der AWS-Dokumentationswebsite. Die Inhalte für eine API-Referenz sind unterschiedlich, je nachdem, wie die APIerstellt wurde und welches Protokoll verwendet wird. Im Allgemeinen enthält eine API-Referenz detaillierteInformationen zu den von der API unterstützten Operationen, den Daten, die an den und vom Servicegesendet werden, und mögliche Fehlerbedingungen, die der Service ausgibt.

API-Dokumentationsabschnitte

• Aktionen – Detaillierte Informationen zu jedem Vorgang und deren Parametern (einschließlichBeschränkungen auf Länge oder Inhalt sowie Standardwerte). Listet die Fehler auf, die bei dieserOperation auftreten können. Jede Operation entspricht einem Unterbefehl in der AWS CLI.

• Datentypen – Detaillierte Informationen zu Strukturen, die ein Befehl als Parameter benötigt, oder alsAntwort auf eine Anforderung senden.

• Allgemeine Parameter – Detaillierte Informationen zu den Parametern, die von allen Aktionen für denDienst freigegeben werden.

• Häufige Fehler – Detaillierte Informationen zu Fehlern, die von den Betriebsabläufen des Diensteszurückgegeben werden können.

Der Name und die Verfügbarkeit jedes Abschnitts kann abhängig vom Service variieren.

Servicespezifische CLIs

Einige Services verfügen über eine separate CLI, die schon vorhanden war, bevor eine einzelneAWS CLI erstellt wurde, die mit allen Services funktioniert. Für diese servicespezifischen CLIs gibtes eine separate Dokumentation, die über eine Verknüpfung auf der Dokumentationsseite desService aufgerufen werden kann. Die Dokumentation für servicespezifische CLIs gilt nicht für dieAWS CLI.

Befehlsstruktur in der AWS CLIDieses Thema behandelt, wie AWS Command Line Interface (AWS CLI) ist strukturiert, und wie dieWartebefehle verwendet werden.

BefehlsstrukturDie Schaltfläche AWS CLI verwendet eine mehrteilige Struktur in der Befehlszeile, die in dieser Reihenfolgeangegeben werden muss:

1. Basisaufruf des aws-Programms.2. Top-Level-Befehl, der in der Regel einem AWS-Service entspricht, der von der AWS CLI unterstützt

wird.3. Unterbefehl, der den auszuführenden Vorgang angibt.

96

Page 102: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchWartebefehle

4. Allgemeine CLI-Optionen oder -Parameter, die vom Vorgang benötigt werden. Sie können diese inbeliebiger Reihenfolge angeben, da diese Informationen nach den ersten drei Teilen aufgeführt werden.Bei mehrfacher Angabe von einem exklusiven Parameter wird nur der letzte Wert angewendet.

$ aws <command> <subcommand> [options and parameters]

Parameter können verschiedene Typen von Eingabewerten akzeptieren, darunter Zahlen, Zeichenfolgen,Listen, Zuordnungen und JSON-Strukturen. Was unterstützt wird, hängt von dem angegebenen Befehl undUnterbefehl ab.

WartebefehleEinige AWS Services haben wait -Befehle verfügbar. Jeder Befehl, der verwendet aws wait wartetnormalerweise, bis ein Befehl abgeschlossen ist, bevor er zum nächsten Schritt übergeht. Dies istbesonders nützlich für mehrteilige Befehle oder Skripts, da Sie einen Wartebefehl verwenden können, umzu verhindern, dass Sie zu den nachfolgenden Schritten wechseln, wenn der Wartebefehl fehlschlägt.

Die Schaltfläche AWS CLI verwendet eine mehrteilige Struktur in der Befehlszeile für die wait Befehl, derin dieser Reihenfolge angegeben werden muss:

1. Basisaufruf des aws-Programms.2. Top-Level-Befehl, der in der Regel einem AWS-Service entspricht, der von der AWS CLI unterstützt

wird.3. Der Befehl wait.4. Unterbefehl, der den auszuführenden Vorgang angibt.5. Allgemeine CLI-Optionen oder -Parameter, die vom Vorgang benötigt werden. Sie können diese in

beliebiger Reihenfolge angeben, da diese Informationen nach den ersten drei Teilen aufgeführt werden.Bei mehrfacher Angabe von einem exklusiven Parameter wird nur der letzte Wert angewendet.

$ aws <command> wait <subcommand> [options and parameters]

Parameter können verschiedene Typen von Eingabewerten akzeptieren, darunter Zahlen, Zeichenfolgen,Listen, Zuordnungen und JSON-Strukturen. Was unterstützt wird, hängt von dem angegebenen Befehl undUnterbefehl ab.

Note

Nicht jeder AWS-Service unterstützt wait Befehle. Siehe die AWS CLI Referenzhandbuch um zusehen, ob Ihr Service wait Befehle.

Warten Sie auf Beispiele

AWS CloudFormation

Die folgenden wait change-set-create-complete -Befehlsbeispiele pausiert und wird erst wiederaufgenommen, nachdem bestätigt werden kann, dass die my-change-set Änderungssatz in der my-stack -Stack ist bereit zum Ausführen von.

$ aws cloudformation wait change-set-create-complete --stack-name my-stack --change-set-name my-change-set

Weitere Informationen zum AWS CloudFormation wait Befehle, siehe warten in der AWS CLIBefehlsreferenz.

97

Page 103: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAngeben von Parameterwerten

AWS CodeDeploy

Die folgenden wait deployment-successful -Befehlsbeispiele pausieren, bis die d-A1B2C3111Bereitstellung erfolgreich abgeschlossen.

$ aws deploy wait deployment-successful --deployment-id d-A1B2C3111

Weitere Informationen zum AWS CodeDeploy wait Befehle, siehe warten in der AWS CLI Befehlsreferenz.

Angeben von Parameterwerten für die AWS CLIViele Parameter, die im AWS Command Line Interface ( ( (AWS CLI) sind einfache Zeichenfolge odernumerische Werte, wie z. B. der Schlüsselname my-key-pair im folgenden Beispiel.

$ aws ec2 create-key-pair --key-name my-key-pair

Zeichenfolgen, die keine Leerzeichen enthalten, müssen nicht unbedingt in Anführungszeichengesetzt werden. Wenn Zeichenfolgen aber mindestens ein Leerzeichen enthalten, müssen sie inAnführungszeichen stehen. Weitere Hinweise zur Verwendung von Anführungszeichen um komplexeParameter finden Sie unter Verwenden von Zeichenfolgen mit Anführungszeichen in der AWSCLI (p. 100).

Allgemeine AWS CLI-ParametertypenIn diesem Abschnitt werden einige häufige Parametertypen sowie das in der Regel erforderliche Formatbeschrieben. Wenn Sie Probleme mit der Formatierung eines Parameters für einen bestimmten Befehlhaben, sehen Sie in der Hilfe nach, indem Sie nach dem Befehlsnamen help eingeben. Beispiel:

$ aws ec2 describe-spot-price-history help

Die Hilfe für die einzelnen Unterbefehle umfasst Erläuterungen zu dessen Funktion, den Optionen und derAusgabe sowie Beispiele. Der Abschnitt zu den Optionen enthält den Namen und die Beschreibung dereinzelnen Optionen mit den Optionsparametertypen in Klammern.

StringZeichenfolge-Parameter können alphanumerische Zeichen, Symbole und Leerzeichen aus dem ASCIIZeichensatz. Zeichenfolgen, die Leerzeichen enthalten, müssen in Anführungszeichen gesetzt werden. Wirempfehlen, keine anderen Symbole oder Leerzeichen als das Standardleerzeichen zu verwenden, da dieszu unerwarteten Ergebnissen führen kann.

Einige Zeichenfolgenparameter können Binärdaten aus einer Datei akzeptieren. SieheBinärdateien (p. 104) für ein Beispiel.

TimestampZeitstempel werden nach dem ISO 8601 Standard. Sie werden manchmal auch als Parameter "DateTime"oder "Date" bezeichnet.

$ aws ec2 describe-spot-price-history --start-time 2014-10-13T19:00:00Z

Zu den akzeptierte Formaten zählen folgende:

98

Page 104: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAllgemeine -Parametertypen

• YYYY-MM-DDThh:mm:ss.sssTZD (UTC)zum Beispiel 2014 - 10 - 01T20 : 30 : 00.000Z• YYYY-MM-DDThh:mm:ss.sssTZD (with offset)zum Beispiel:

2014 - 10 - 01T12 : 30 : 00.000 - 08 : 00• YYYY-MM-DDzum Beispiel 2014 - 10 - 01• Unix-Zeit in Sekunden, beispielsweise 1 412 195 400. Dies wird manchmal als Unix Epoche Zeit und

stellt die Anzahl der Sekunden seit Mitternacht, 1. Januar 1970 UTC dar.

(Nur in AWS CLI Version 2 verfügbar.) Standardmäßig AWS CLI Version 2 übersetzt alle Antwort Datetime-Werte nach ISO 8601 Format.

ListEine oder mehrere durch Leerzeichen voneinander getrennte Zeichenfolgen. Wenn eines derZeichenfolgenelemente ein Leerzeichen enthält, müssen Sie es in Anführungszeichen setzen.

$ aws ec2 describe-spot-price-history --instance-types m1.xlarge m1.medium

Boolesch – Binärmarkierung, die eine Option ein- oder ausgeschaltet wird. Zum Beispiel: ec2 describe-spot-price-history hat einen Booleschen --dry-run Parameter, der, wenn angegeben, die Abfragemit dem Dienst validiert, ohne tatsächlich die Abfrage auszuführen.

$ aws ec2 describe-spot-price-history --dry-run

Die Ausgabe gibt an, ob der Befehl ordnungsgemäß formatiert wurde oder nicht. Dieser Befehl enthältauch eine Version des Parameters --no-dry-run, mit dem Sie explizit angeben können, dass der Befehlnormal ausgeführt werden soll. Dies ist allerdings nicht erforderlich, da es das Standardverhalten ist.

IntegerEine nicht signierte ganze Zahl.

$ aws ec2 describe-spot-price-history --max-items 5

Binary/Blob (Binary Large Object)Im AWS CLI Version 1, um einen Wert an einen Parameter mit Typ zu übergeben blob, müssen Sieeinen Pfad zu einer lokalen Datei angeben, die Binärdaten enthält. Der Pfad darf keine Protokollkennungenthalten, z. B. http:// oder file://. Der angegebene Pfad wird als relativ zum aktuellenArbeitsverzeichnis interpretiert. Beispielsweise --body Parameter für aws s3api put-object ist einBlob.

$ aws s3api put-object --bucket my-bucket --key testimage.png --body /tmp/image.png

(Nur in AWS CLI Version 2 verfügbar.) In der AWS CLI Version 2 können Sie einen Binärwert als base64-kodierte Zeichenfolge direkt auf der Befehlszeile übergeben. Standardmäßig in der AWS CLI Version 2,Dateien, die mit dem file:// Präfix wird als Basis64-codierter Text behandelt.

Sie können die AWS CLI Version 2 kompatibel mit AWS CLI Version 1 indem Sie die cli-binary-format (p. 52) Einstellung:

• Wenn der Wert der Einstellung raw-in-base64-out, Dateien, die unter Verwendung der file://Präfix wird als uncodierte Binäre behandelt.

99

Page 105: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchSetzen von Anführungszeichen für Zeichenfolgen

• Wenn der Wert der Einstellung base64 (der Standardwert), Dateien, die unter Verwendung der file://Präfix wird als Basis64-codierter Text behandelt.

Dateien, die unter Verwendung der fileb:// Präfix wird immer als uncodierte binäre behandelt,unabhängig von der cli_binary_format Einstellung.

Weitere Informationen finden Sie unter cli-binary-format (p. 52).

MapEin Satz von Schlüsselwertpaaren, die in JSON oder durch Verwendung der CLI festgelegt werdenShorthand Syntax (p. 113). Das folgende JSON-Beispiel liest ein Element aus einem Amazon DynamoDBTabelle benannt meine Tabelle mit einem Kartenparameter, --key. Der Parameter gibt den primärenSchlüssel an ID mit einem Zahlenwert von 1 in einer verschachtelten JSON-Struktur.

$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'

{ "Item": { "name": { "S": "John" }, "id": { "N": "1" } }}

Verwenden von Zeichenfolgen mit Anführungszeichenin der AWS CLIParameternamen und ihre Werte werden in der Befehlszeile durch Leerzeichen getrennt. Wenn einZeichenfolgenwert ein eingebettetes Leerzeichen enthält, müssen Sie die gesamte Zeichenfolge inAnführungszeichen setzen, um zu verhindern, dass die AWS CLI das Leerzeichen fälschlicherweise alsTrennzeichen zwischen dem Wert und dem nächsten Parameternamen interpretiert. Die zu verwendendenAnführungszeichen sind von dem Betriebssystem abhängig, auf dem Sie die AWS CLI ausführen.

Verwenden Sie einfache Anführungszeichen (' ') in Linux, macOS, Unix oder PowerShell. Verwenden Siedoppelte Anführungszeichen (" ") in der Windows-Eingabeaufforderung, wie in den folgenden Beispielendargestellt.

Linux oder macOS, PowerShell

$ aws ec2 create-key-pair --key-name 'my key pair'

Windows-Eingabeaufforderung

C:\> aws ec2 create-key-pair --key-name "my key pair"

Optional können Sie den Parameternamen vom Wert mit einem gleich Zeichen (=) anstatt eines Raumstrennen. Dies ist in der Regel nur erforderlich, wenn der Wert des Parameters mit einem Bindestrichbeginnt.

$ aws ec2 delete-key-pair --key-name=-mykey

100

Page 106: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEingabeaufforderung zur Eingabe von Parametern

Einer der allgemeinen Parameterwerttypen ist eine JSON-Zeichenfolge. Diese ist nicht nur deshalbkomplex, weil sie Leerzeichen enthält, sondern auch die doppelten Anführungszeichen (" ") um jedenElementnamen und -wert in der JSON-Struktur erfordert. Wie Sie JSON-formatierte Parameter an derBefehlszeile eingeben, unterscheidet sich je nach Betriebssystem.

Linux oder macOS

Fügen Sie die JSON-Datenstruktur zwischen einzelne Anführungszeichen (' ') ein, wie im folgendenBeispiel. Sie müssen nichts Besonderes mit den in der JSON-Zeichenfolge eingebetteten doppeltenAnführungszeichen tun.

$ aws ec2 run-instances --image-id ami-12345678 --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

, PowerShell

PowerShell muss die JSON-Datenstruktur mit einfachen Anführungszeichen (' ') umschließen. Da auchdoppelte Anführungszeichen eine besondere Bedeutung für Powershell haben, müssen Sie einenBackslash (\) verwenden, um Escape jedes doppelte Anführungszeichen (") innerhalb der JSON-Struktur, wie im folgenden Beispiel.

PS C:\> aws ec2 run-instances --image-id ami-12345678 --block-device-mappings '[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]'

Windows-Eingabeaufforderung

Die Windows-Eingabeaufforderung verwendet doppelte Anführungszeichen (" ") vor und nach derJSON-Datenstruktur. Um zu verhindern, dass der Befehlsprozessor die in JSON eingebettetendoppelten Anführungszeichen falsch interpretiert, müssen Sie auch jedes doppelte Anführungszeichen(") innerhalb der JSON-Datenstruktur selbst maskieren (als Escapezeichen einen umgekehrtenSchrägstrich [ \ ] voranstellen), wie im folgenden Beispiel.

C:\> aws ec2 run-instances --image-id ami-12345678 --block-device-mappings "[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]"

Nur die äußersten doppelten Anführungszeichen benötigen kein Escape-Zeichen.

Mit der AWS CLI Eingabeaufforderung zur Eingabevon Parametern

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

Sie können beim Ausführen eines Befehls die AWS CLI Version 2 Eingabe von Parametern veranlassen.Fügen Sie in Ihrer Befehlszeile ein --cli-auto-prompt.

$ aws iam add-user-to-group --cli-auto-prompt--user-name: maria

101

Page 107: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEingabeaufforderung zur Eingabe von Parametern

Im vorangegangenen Beispiel ist der erste Parameter obligatorisch, und Sie müssen einen Wert angeben,um fortzufahren. Der AWS CLI wiederholt dies für jeden obligatorischen Parameter, der für den Befehlerforderlich ist, den Sie ausführen, nacheinander.

Nachdem Sie Werte für alle obligatorischen Parameter angegeben haben, AWS CLI werden alle optionalenParameter angezeigt, und Sie können mit den Pfeiltasten nach oben und unten zwischen diesenParametern wechseln. Die aktuell ausgewählte Zeile ist mit einem Caret (>) am linken Rand markiert undhat hellen Text auf dunklem Hintergrund. Die nicht ausgewählten Zeilen haben dunklen Text auf hellemHintergrund.

$ aws iam create-user --cli-auto-prompt--user-name: maria> --path [string]: The path for the user name. --permissions-boundary [string]: The ARN of the policy that is used to set the permissions boundary for the user. --tags [list]: A list of tags that you want to attach to the newly created user. [DONE] Parameter input finished

Verwenden Sie die Pfeiltasten nach oben und unten, um einen optionalen Parameter auszuwählen, umeinen Wert für EINGEBEN. Geben Sie den Wert für den optionalen Parameter ein, und drücken Siedann EINGEBEN erneut. Dieser Parameter und dieser Wert werden an den Anfang der Liste über denverbleibenden auswählbaren Zeilen verschoben. Wiederholen Sie dies für jeden optionalen Parameter, denSie verwenden möchten. Sie können alles überspringen, was Sie nicht brauchen.

Wenn Sie fertig sind, wählen Sie die letzte Zeile, die mit [DONE] und drücken Sie EINGEBEN um IhreAuswahl zu bestätigen.

Schließlich haben Sie die Möglichkeit, den Befehl auszuführen oder die endgültige Version mit allenangegebenen Parameterwerten zu drucken. Wie zuvor markiert der Caret (>) und der markierte Text dieaktuelle Auswahl. Sie können die Pfeiltasten verwenden, um die aktuelle Auswahl nach oben oder unten zuverschieben, drücken Sie dann EINGEBEN um diese Option auszuwählen.

$ aws iam create-user --cli-auto-prompt--user-name: maria--path: /> Execute CLI command Print CLI command.

Wenn Sie den Befehl drucken möchten, erhalten Sie eine Ausgabe ähnlich dem folgenden Beispiel, wo nurdie --user-name und --path Parameter wurden ausgewählt und mit Werten geliefert.

$ aws iam create-user --cli-auto-prompt--user-name: maria --path: /aws iam create-user --user-name maria --path /

Wenn Sie stattdessen den Befehl ausführen, wird der Befehl nicht angezeigt, sondern sofort ausgeführt.

$ aws iam create-user --cli-auto-prompt--user-name: maria--path: /{ "User": { "Path": "/", "UserName": "maria", "UserId": "AIDA1234567890EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/maria", "CreateDate": "2020-01-09T18:29:25+00:00"

102

Page 108: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchParameter aus Dateien

}}

Laden von AWS CLI-Parametern aus einer DateiEinige Parameter erwarten Dateinamen als Argumente, aus denen die AWS CLI Daten lädt. Mit anderenParametern können Sie den Parameterwert als Text angeben, der in die Befehlszeile eingegeben wirdoder aus einer Datei gelesen wird. Unabhängig davon, ob eine Datei erforderlich oder optional ist, müssenSie die Datei korrekt codieren, damit die AWS CLI sie verstehen kann. Die Kodierung der Datei muss mitdem Standardgebietsschema des Lesesystems übereinstimmen. Sie können dies mithilfe des Python-locale.getpreferredencoding() -Methode.

Note

Standardmäßig gibt Windows PowerShell Text als UTF-16 aus. Dies steht mit der UTF-8-Kodierung in Konflikt, die von vielen Linux-Systemen verwendet wird. Wir empfehlen, -Encodingascii mit Ihren Out-File-PowerShell-Befehlen zu verwenden, um sicherzustellen, dass dieAWS CLI die resultierende Datei lesen kann.

Manchmal ist es praktisch, einen Parameterwert aus einer Datei zu laden, anstatt den gesamten Wertin die Befehlszeile einzugeben, beispielsweise, wenn es sich bei dem Parameterwert um eine komplexeJSON-Zeichenfolge handelt. Um eine Datei anzugeben, die den Wert enthält, geben Sie eine Datei-URL imfolgenden Format an.

file://complete/path/to/file

Die ersten beiden Schrägstriche "/" sind Teil der Spezifikation. Wenn der erforderliche Pfad mit einem "/"beginnt, besteht das Ergebnis aus drei Schrägstrichen: . file:///folder/file.

Die URL gibt den Pfad zu der Datei mit dem tatsächlichen Parameterinhalt an.

Note

Dieses Verhalten ist für Parameter, die bereits eine URL erwarten, automatisch deaktiviert,beispielsweise für einen Parameter, der eine AWS CloudFormation-Vorlagen-URL bezeichnet.Sie können dieses Verhalten auch deaktivieren, indem Sie Ihrer CLI-Konfigurationsdatei diefolgende Zeile hinzufügen.

cli_follow_urlparam = false

Die Dateipfade in den folgenden Beispielen werden als relativ zum aktuellen Arbeitsverzeichnisinterpretiert.

Linux oder macOS

// Read from a file in the current directory$ aws ec2 describe-instances --filters file://filter.json

// Read from a file in /tmp$ aws ec2 describe-instances --filters file:///tmp/filter.json

Windows:

// Read from a file in C:\tempC:\> aws ec2 describe-instances --filters file://C:\temp\filter.json

103

Page 109: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchParameter aus Dateien

Die Präfixoption file:// unterstützt Erweiterungen im Unix-Stil, einschließlich "~/", "./" und "../".Unter Windows erfolgt mit dem Ausdruck "~/" die Erweiterung zu Ihrem Benutzerverzeichnis, dasin der Umgebungsvariablen %USERPROFILE% gespeichert ist. Beispielsweise befindet sich dasBenutzerverzeichnis in Windows 10 in der Regel unter C:\Users\User Name\.

JSON-Dokumente, die als Wert eines anderen JSON-Dokuments eingebettet sind, müssen weiterhin durchein Escape-Zeichen geschützt werden.

$ aws sqs create-queue --queue-name my-queue --attributes file://attributes.json

attributes.json

{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-west-2:0123456789012:deadletter\", \"maxReceiveCount\":\"5\"}"}

BinärdateienFür Befehle, die Binärdaten als Parameter annehmen, geben Sie mit dem Präfix fileb:// an, dass essich bei den Daten um binäre Inhalte handelt. Zu den Befehlen, die Binärdaten akzeptieren, zählen:

• aws ec2 run-instances – --user-data Parameter.• aws s3api put-object – --sse-customer-key Parameter.• aws kms decrypt – --ciphertext-blob Parameter.

Das folgende Beispiel generiert mit einem Linux-Befehlszeilen-Tool einen binären 256-Bit-AES-Schlüsselund stellt diesen dann in Amazon S3 bereit, um eine hochgeladene Datei serverseitig zu verschlüsseln.

$ dd if=/dev/urandom bs=1 count=32 > sse.key32+0 records in32+0 records out32 bytes (32 B) copied, 0.000164441 s, 195 kB/s$ aws s3api put-object --bucket my-bucket --key test.txt --body test.txt --sse-customer-key fileb://sse.key --sse-customer-algorithm AES256{ "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\""}

Remote-DateienDie AWS CLI unterstützt auch das Laden von Parametern aus einer im Internet gehosteten Datei mit einerhttp://- oder https://-URL. Im folgenden Beispiel wird eine Datei, die in einem Amazon S3-Bucketgespeichert ist, referenziert. Auf diese Weise können Sie von jedem Computer aus auf Parameterdateienzugreifen. Dabei muss der Container öffentlich zugänglich sein.

$ aws ec2 run-instances --image-id ami-12345678 --block-device-mappings http://my-bucket.s3.amazonaws.com/filename.json

Im vorherigen Beispiel wird davon ausgegangen, dass die Datei filename.json die folgenden JSON-Daten enthält.

[

104

Page 110: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

{ "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } }]

Ein weiteres Beispiel mit einem Verweis auf eine Datei mit komplexeren JSON-formatierten Parameternfinden Sie unter Anbringen eines IAM Richtlinie zu einem IAM Benutzer (p. 154).

Generieren der AWS CLI-Skeleton- und -Eingabeparameter aus einer JSON- oder YAML-Eingabedatei

Important

Sie können YAML-Eingabe-Skeleton-Vorlagen nur mit Version 2 der erstellen undverwenden.AWS CLI. Wenn Sie AWS CLI Version 1 verwenden, können Sie nur JSON-Eingabe-Skeleton-Vorlagen erstellen und verwenden.

Der Großteil der AWS Command Line Interface ( ( (AWS CLI) Befehle unterstützen die Fähigkeit, alleParametereingaben von einer Datei unter Verwendung der --cli-input-json und --cli-input-yamlParameter.

Dieselben Befehle stellen den Parameter --generate-cli-skeleton zum Generieren einer Datei imJSON- oder YAML-Format mit allen Parametern bereit, die Sie bearbeiten und füllen können. Dann könnenSie den Befehl mit dem entsprechenden --cli-input-json oder --cli-input-yaml Parameter undzeigen Sie auf die ausgefüllte Datei.

Important

Mehrere AWS CLI Befehle werden nicht direkt an einzelne weitergeleitet AWS API-Operationen,wie z. B. aws s3 Befehle. Solche Befehle unterstützen keine --generate-cli-skeleton oder--cli-input-json und --cli-input-yaml in diesem Thema beschriebenen Parameter.Wenn Sie nicht wissen, ob ein bestimmter Befehl diese Parameter unterstützt, führen Sie denfolgenden Befehl aus, und ersetzen Sie den service und command Namen, die Sie interessieren.

$ aws service command help

Die Ausgabe enthält einen Abschnitt namens Synopsis, der die Parameter zeigt, die von demangegebenen Befehl unterstützt werden.

$ aws iam list-users help...SYNOPSIS list-users ... [--cli-input-json | --cli-input-yaml] ... [--generate-cli-skeleton <value>]...

Der Parameter --generate-cli-skeleton bewirkt, dass der Befehl nicht ausgeführt wird. Stattdessenwird eine Parametervorlage generiert und angezeigt, die Sie anpassen und bei einem späteren Befehl alsEingabe verwenden können. Die generierte Vorlage enthält alle Parameter, die der Befehl unterstützt.

105

Page 111: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

Der --generate-cli-skeleton-Parameter akzeptiert einen der folgenden Werte:

• input – Die erstellte Vorlage enthält alle Eingabeparameter, die als JSON formatiert sind. : Dies ist derStandardwert.

• yaml-input – Die erstellte Vorlage enthält alle Eingabeparameter, die als YAML formatiert sind.• output – Die erstellte Vorlage enthält alle Ausgabeparameter, die als JSON formatiert sind. Sie können

die Ausgabeparameter derzeit nicht als YAML anfordern.

Da es sich bei der AWS CLI im Grunde um einen „Wrapper“ für die API des Service handelt, erwartetdie Skeleton-Datei, dass Sie alle Parameter anhand des zugrunde liegenden API-Parameternamensreferenzieren. Dies unterscheidet sich wahrscheinlich vom AWS CLI-Parameternamen. Beispielsweise einBeispiel AWS CLI Parameter benannt user-name der Karte AWS API-Parameter des Dienstes benanntUserName (beachten Sie die geänderte Kapitalisierung und fehlenden Bindestrich). Wir empfehlen, dieOption --generate-cli-skeleton zu verwenden, um die Vorlage mit den „richtigen“ Parameternamenzu generieren und so Fehler zu vermeiden. Sie können auch das API-Referenzhandbuch für den Servicenutzen, um die erwarteten Parameternamen anzuzeigen. Sie können alle Parameter aus der Vorlagelöschen, die nicht erforderlich sind und für die Sie keinen Wert angeben möchten.

Wenn Sie zum Beispiel den folgenden Befehl ausführen, generiert er die Parametervorlage für die AmazonElastic Compute Cloud ( ( (Amazon EC2) run-instances.

JSON

Das folgende Beispiel zeigt, wie eine in JSON formatierte Vorlage durch Verwendung desStandardwerts erzeugt wird (input) fóór thèé --generate-cli-skeleton Parameter.

$ aws ec2 run-instances --generate-cli-skeleton

{ "DryRun": true, "ImageId": "", "MinCount": 0, "MaxCount": 0, "KeyName": "", "SecurityGroups": [ "" ], "SecurityGroupIds": [ "" ], "UserData": "", "InstanceType": "", "Placement": { "AvailabilityZone": "", "GroupName": "", "Tenancy": "" }, "KernelId": "", "RamdiskId": "", "BlockDeviceMappings": [ { "VirtualName": "", "DeviceName": "", "Ebs": { "SnapshotId": "", "VolumeSize": 0, "DeleteOnTermination": true, "VolumeType": "", "Iops": 0, "Encrypted": true

106

Page 112: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

}, "NoDevice": "" } ], "Monitoring": { "Enabled": true }, "SubnetId": "", "DisableApiTermination": true, "InstanceInitiatedShutdownBehavior": "", "PrivateIpAddress": "", "ClientToken": "", "AdditionalInfo": "", "NetworkInterfaces": [ { "NetworkInterfaceId": "", "DeviceIndex": 0, "SubnetId": "", "Description": "", "PrivateIpAddress": "", "Groups": [ "" ], "DeleteOnTermination": true, "PrivateIpAddresses": [ { "PrivateIpAddress": "", "Primary": true } ], "SecondaryPrivateIpAddressCount": 0, "AssociatePublicIpAddress": true } ], "IamInstanceProfile": { "Arn": "", "Name": "" }, "EbsOptimized": true}

YAML

Das folgende Beispiel zeigt, wie eine in YAML formatierte Vorlage durch Verwendung des Wertserstellt wird yaml-input für die --generate-cli-skeleton Parameter.

$ aws ec2 run-instances --generate-cli-skeleton yaml-input

BlockDeviceMappings: # The block device mapping entries.- DeviceName: '' # The device name (for example, /dev/sdh or xvdh). VirtualName: '' # The virtual device name (ephemeralN). Ebs: # Parameters used to automatically set up Amazon EBS volumes when the instance is launched. DeleteOnTermination: true # Indicates whether the EBS volume is deleted on instance termination. Iops: 0 # The number of I/O operations per second (IOPS) that the volume supports. SnapshotId: '' # The ID of the snapshot. VolumeSize: 0 # The size of the volume, in GiB. VolumeType: st1 # The volume type. Valid values are: standard, io1, gp2, sc1, st1. Encrypted: true # Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. KmsKeyId: '' # Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.

107

Page 113: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

NoDevice: '' # Suppresses the specified device included in the block device mapping of the AMI.ImageId: '' # The ID of the AMI.InstanceType: c4.4xlarge # The instance type. Valid values are: t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.18xlarge, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge.Ipv6AddressCount: 0 # [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface.Ipv6Addresses: # [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.- Ipv6Address: '' # The IPv6 address.KernelId: '' # The ID of the kernel.KeyName: '' # The name of the key pair.MaxCount: 0 # [REQUIRED] The maximum number of instances to launch.MinCount: 0 # [REQUIRED] The minimum number of instances to launch.Monitoring: # Specifies whether detailed monitoring is enabled for the instance. Enabled: true # [REQUIRED] Indicates whether detailed monitoring is enabled.Placement: # The placement for the instance. AvailabilityZone: '' # The Availability Zone of the instance. Affinity: '' # The affinity setting for the instance on the Dedicated Host. GroupName: '' # The name of the placement group the instance is in. PartitionNumber: 0 # The number of the partition the instance is in. HostId: '' # The ID of the Dedicated Host on which the instance resides. Tenancy: dedicated # The tenancy of the instance (if the instance is running in a VPC). Valid values are: default, dedicated, host. SpreadDomain: '' # Reserved for future use.RamdiskId: '' # The ID of the RAM disk to select.

108

Page 114: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

SecurityGroupIds: # The IDs of the security groups.- ''SecurityGroups: # [EC2-Classic, default VPC] The names of the security groups.- ''SubnetId: '' # [EC2-VPC] The ID of the subnet to launch the instance into.UserData: '' # The user data to make available to the instance.AdditionalInfo: '' # Reserved.ClientToken: '' # Unique, case-sensitive identifier you provide to ensure the idempotency of the request.DisableApiTermination: true # If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can.DryRun: true # Checks whether you have the required permissions for the action, without actually making the request, and provides an error response.EbsOptimized: true # Indicates whether the instance is optimized for Amazon EBS I/O.IamInstanceProfile: # The IAM instance profile. Arn: '' # The Amazon Resource Name (ARN) of the instance profile. Name: '' # The name of the instance profile.InstanceInitiatedShutdownBehavior: stop # Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Valid values are: stop, terminate.NetworkInterfaces: # The network interfaces to associate with the instance.- AssociatePublicIpAddress: true # Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. DeleteOnTermination: true # If set to true, the interface is deleted when the instance is terminated. Description: '' # The description of the network interface. DeviceIndex: 0 # The position of the network interface in the attachment order. Groups: # The IDs of the security groups for the network interface. - '' Ipv6AddressCount: 0 # A number of IPv6 addresses to assign to the network interface. Ipv6Addresses: # One or more IPv6 addresses to assign to the network interface. - Ipv6Address: '' # The IPv6 address. NetworkInterfaceId: '' # The ID of the network interface. PrivateIpAddress: '' # The private IPv4 address of the network interface. PrivateIpAddresses: # One or more private IPv4 addresses to assign to the network interface. - Primary: true # Indicates whether the private IPv4 address is the primary private IPv4 address. PrivateIpAddress: '' # The private IPv4 addresses. SecondaryPrivateIpAddressCount: 0 # The number of secondary private IPv4 addresses. SubnetId: '' # The ID of the subnet associated with the network interface. InterfaceType: '' # The type of network interface.PrivateIpAddress: '' # [EC2-VPC] The primary IPv4 address.ElasticGpuSpecification: # An elastic GPU to associate with the instance.- Type: '' # [REQUIRED] The type of Elastic Graphics accelerator.ElasticInferenceAccelerators: # An elastic inference accelerator to associate with the instance.- Type: '' # [REQUIRED] The type of elastic inference accelerator.TagSpecifications: # The tags to apply to the resources during launch.- ResourceType: network-interface # The type of resource to tag. Valid values are: client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, launch-template, natgateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway. Tags: # The tags to apply to the resource. - Key: '' # The key of the tag. Value: '' # The value of the tag.LaunchTemplate: # The launch template to use to launch the instances. LaunchTemplateId: '' # The ID of the launch template. LaunchTemplateName: '' # The name of the launch template. Version: '' # The version number of the launch template.InstanceMarketOptions: # The market (purchasing) option for the instances. MarketType: spot # The market type. Valid values are: spot.

109

Page 115: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

SpotOptions: # The options for Spot Instances. MaxPrice: '' # The maximum hourly price you're willing to pay for the Spot Instances. SpotInstanceType: one-time # The Spot Instance request type. Valid values are: one-time, persistent. BlockDurationMinutes: 0 # The required duration for the Spot Instances (also known as Spot blocks), in minutes. ValidUntil: 1970-01-01 00:00:00 # The end date of the request. InstanceInterruptionBehavior: terminate # The behavior when a Spot Instance is interrupted. Valid values are: hibernate, stop, terminate.CreditSpecification: # The credit option for CPU usage of the T2 or T3 instance. CpuCredits: '' # [REQUIRED] The credit option for CPU usage of a T2 or T3 instance.CpuOptions: # The CPU options for the instance. CoreCount: 0 # The number of CPU cores for the instance. ThreadsPerCore: 0 # The number of threads per CPU core.CapacityReservationSpecification: # Information about the Capacity Reservation targeting option. CapacityReservationPreference: none # Indicates the instance's Capacity Reservation preferences. Valid values are: open, none. CapacityReservationTarget: # Information about the target Capacity Reservation. CapacityReservationId: '' # The ID of the Capacity Reservation.HibernationOptions: # Indicates whether an instance is enabled for hibernation. Configured: true # If you set this parameter to true, your instance is enabled for hibernation.LicenseSpecifications: # The license configurations.- LicenseConfigurationArn: '' # The Amazon Resource Name (ARN) of the license configuration.

So generieren und verwenden Sie eine Parameter-Skeleton-Datei

1. Führen Sie den Befehl mit dem --generate-cli-skeleton-Parameter aus, um entweder JSONoder YAML zu erzeugen, und leiten Sie die Ausgabe an eine Datei, um sie zu speichern.

JSON

$ aws ec2 run-instances --generate-cli-skeleton input> ec2runinst.json

YAML

$ aws ec2 run-instances --generate-cli-skeleton yaml-input> ec2runinst.yaml

2. Öffnen Sie die Parameter-Skeleton-Datei in Ihrem Texteditor und entfernen Sie alle Parameter, dieSie nicht benötigen. Beispielsweise können Sie die Vorlage auf Folgendes beschränken. StellenSie sicher, dass die Datei noch immer das gültige JSON- oder YAML-Format hat, nachdem Sie dieElemente entfernt haben, die Sie nicht benötigen.

JSON

{ "DryRun": true, "ImageId": "", "KeyName": "", "SecurityGroups": [ "" ], "InstanceType": "", "Monitoring": { "Enabled": true }}

110

Page 116: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

YAML

DryRun: trueImageId: ''KeyName: ''SecurityGroups:- ''InstanceType:Monitoring: Enabled: true

In diesem Beispiel verlassen wir die DryRun Parameter eingestellt auf true um die Amazon EC2Trockenlauffunktion. Mit dieser Funktion können Sie den Befehl sicher testen, ohne tatsächlichRessourcen zu erstellen oder zu ändern.

3. Füllen Sie den Rest mit Werten auf, die sich für Ihr Szenario eignen. In diesem Beispiel stellen wir denInstance-Typ, den Schlüsselnamen, die Sicherheitsgruppe und die ID des zu verwendenden AmazonMachine Image (AMI) bereit. In diesem Beispiel wird davon ausgegangen, dass die standardmäßigeAWS-Region verwendet wird. Der AMI ami-dfc39aef 64 Bit Amazon Linux Bild in der us-west-2Region. Wenn Sie eine andere Region verwenden, müssen Sie die richtige AMI-ID finden, dieverwendet werden soll.

JSON

{ "DryRun": true, "ImageId": "ami-dfc39aef", "KeyName": "mykey", "SecurityGroups": [ "my-sg" ], "InstanceType": "t2.micro", "Monitoring": { "Enabled": true }}

YAML

DryRun: trueImageId: 'ami-dfc39aef'KeyName: 'mykey'SecurityGroups:- 'my-sg'InstanceType: 't2.micro'Monitoring: Enabled: true

4. Führen Sie den Befehl mit den abgeschlossenen Parametern aus, indem Sie die ausgefüllteVorlagendatei an entweder --cli-input-json oder --cli-input-yaml Parameter durchVerwendung der file:// Präfix. Die AWS CLI interpretiert den Pfad relativ zum aktuellenArbeitsverzeichnis, sodass im folgenden Beispiel, in dem nur der Dateiname ohne Pfad angezeigt wird,direkt im aktuellen Arbeitsverzeichnis nach der Datei gesucht wird.

JSON

$ aws ec2 run-instances --cli-input-json file://ec2runinst.json

111

Page 117: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchGenerieren einer CLI-Skeleton-Vorlage

A client error (DryRunOperation) occurred when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set.

YAML

$ aws ec2 run-instances --cli-input-yaml file://ec2runinst.yaml

A client error (DryRunOperation) occurred when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set.

Die Probelauf-Fehlermeldung gibt an, dass der JSON- oder YAML-Code korrekt formatiert wirdund die Parameterwerte gültig sind. Wenn andere Probleme in der Ausgabe gemeldet werden,beheben Sie sie und wiederholen Sie den vorherigen Schritt, bis die Meldung „Request would havesucceeded“ angezeigt wird.

5. Jetzt können Sie die DryRun Parameter zu false um den Trockenlauf zu deaktivieren.

JSON

{ "DryRun": false, "ImageId": "ami-dfc39aef", "KeyName": "mykey", "SecurityGroups": [ "my-sg" ], "InstanceType": "t2.micro", "Monitoring": { "Enabled": true }}

YAML

DryRun: falseImageId: 'ami-dfc39aef'KeyName: 'mykey'SecurityGroups:- 'my-sg'InstanceType: 't2.micro'Monitoring: Enabled: true

6. Führen Sie den Befehl aus. run-instances startet eine EC2-Instance und zeigt die Details an,die durch den erfolgreichen Start generiert wurden. Das Format der Ausgabe wird vom --output-Parameter unabhängig vom Format Ihrer Eingabeparametervorlage gesteuert.

JSON

$ aws ec2 run-instances --cli-input-json file://ec2runinst.json --output json

{ "OwnerId": "123456789012", "ReservationId": "r-d94a2b1", "Groups": [], "Instances": [

112

Page 118: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchSyntax-Kurznotation

...

YAML

$ aws ec2 run-instances --cli-input-yaml file://ec2runinst.yaml --output yaml

OwnerId: '123456789012'ReservationId: 'r-d94a2b1',Groups":- ''Instances:...

Verwenden von Kurznotation mit der AWS CLIDie AWS Command Line Interface ( ( (AWS CLI) können viele seiner Optionsparameter im JSON-Format akzeptieren. Allerdings ist es mühsam, große JSON-Listen oder -Strukturen in die Befehlszeileeinzugeben. Um dies zu vereinfachen, unterstützt die AWS CLI auch eine Syntax-Kurznotation, mit der Siedie Optionsparameter einfacher als im vollständigen JSON-Format darstellen können.

StrukturparameterMit der Kurznotation in der AWS CLI können die Benutzer flache Parameter (nicht geschachtelteStrukturen) einfacher eingeben. Das Format ist eine durch Komma getrennte Liste von Schlüssel-Wert-Paaren.

Linux oder macOS

--option key1=value1,key2=value2,key3=value3

, PowerShell

--option "key1=value1,key2=value2,key3=value3"

Beide entsprechen dem unten stehenden Beispiel im JSON-Format.

--option '{"key1":"value1","key2":"value2","key3":"value3"}'

Zwischen den einzelnen kommagetrennten Schlüssel-Wert-Paaren sind keine Leerzeichen erlaubt. Hier einBeispiel für Amazon DynamoDB update-table mit dem Befehl --provisioned-throughput die inkürzeund angegebene Option.

$ aws dynamodb update-table \ --provisioned-throughput ReadCapacityUnits=15,WriteCapacityUnits=10 \ --table-name MyDDBTable

Dies entspricht dem unten stehenden JSON-formatierten Beispiel.

$ aws dynamodb update-table \ --provisioned-throughput '{"ReadCapacityUnits":15,"WriteCapacityUnits":10}' \ --table-name MyDDBTable

113

Page 119: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchSteuern der Befehlsausgabe

Verwenden von Kurznotation mit der AWS Command LineInterfaceSie können Eingabeparameter in einem Listenformular auf zwei Arten angeben: JSON oder kurz. DieSyntax-Kurznotation in der AWS CLI erleichtert die Eingabe von Listen mit Zahlen, Zeichenfolgen odernicht geschachtelten Strukturen.

Das grundlegende Format wird hier dargestellt, wobei die Werte in der Liste durch ein einzelnesLeerzeichen voneinander getrennt sind.

--option value1 value2 value3

Dies entspricht dem unten stehenden JSON-formatierten Beispiel.

--option '[value1,value2,value3]'

Wie bereits erwähnt, können Sie eine Liste von Zahlen, eine Liste mit Zeichenfolgen oder eine Liste nichtgeschachtelter Strukturen in Kurznotation angeben. Das Folgende Beispiel ist ein Beispiel für das stop-instances Befehl für Amazon Elastic Compute Cloud ( ( (Amazon EC2), wobei der Eingabeparameter(Liste der Strings) für den --instance-ids Die Option ist in kürzeund angegeben.

$ aws ec2 stop-instances \ --instance-ids i-1486157a i-1286157c i-ec3a7e87

Dies entspricht dem unten stehenden JSON-formatierten Beispiel.

$ aws ec2 stop-instances \ --instance-ids '["i-1486157a","i-1286157c","i-ec3a7e87"]'

Das folgende Beispiel zeigt das Amazon EC2 create-tags Befehl, die eine Liste von nichtverschachtelten Strukturen für die --tags Option. Die Option --resources gibt die ID der Instance an,die markiert werden soll.

$ aws ec2 create-tags \ --resources i-1286157c \ --tags Key=My1stTag,Value=Value1 Key=My2ndTag,Value=Value2 Key=My3rdTag,Value=Value3

Dies entspricht dem unten stehenden JSON-formatierten Beispiel. Der JSON-Parameter ist für einebessere Lesbarkeit auf mehrere Zeilen verteilt.

$ aws ec2 create-tags \ --resources i-1286157c \ --tags '[ {"Key": "My1stTag", "Value": "Value1"}, {"Key": "My2ndTag", "Value": "Value2"}, {"Key": "My3rdTag", "Value": "Value3"} ]'

Steuern der Befehlsausgabe von der AWS CLIIn diesem Thema werden die verschiedenen Möglichkeiten beschrieben, die Ausgabe von AWS CommandLine Interface (AWS CLI) zu steuern.

Themen

114

Page 120: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAuswählen des Ausgabeformats

• Auswählen des Ausgabeformats (p. 115)• JSON-Ausgabeformat (p. 116)• YAML-Ausgabeformat (p. 116)• Ausgabeformat für YAML-Stream (p. 117)• Textausgabeformat (p. 118)• Tabellenausgabeformat (p. 121)• Filtern der Ausgabe mit der Option --query (p. 122)• So legen Sie das Standard-Pager-Programm der Ausgabe fest (p. 127)

Auswählen des AusgabeformatsDie AWS CLI unterstützt vier Ausgabeformate:

• json (p. 116): Die Ausgabe wird als JSON-Zeichenfolge formatiert.• yaml (p. 116): Die Ausgabe wird als YAML-Zeichenfolge formatiert. (Nur in AWS CLI Version 2

verfügbar.)• yaml-stream (p. 117) – Die Ausgabe wird gestreamt und als YAML-Zeichenfolge formatiert.

Streaming ermöglicht eine schnellere Handhabung großer Datentypen. (Nur in AWS CLI Version 2verfügbar.)

• text (p. 118): Die Ausgabe wird als mehrzeilige Folge von Zeichenfolgewerten mit Tabulatoren alsTrennzeichen formatiert. Dies kann nützlich sein, wenn die Ausgabe an ein Modul zur Verarbeitung vonText wie grep, sed oder awk übergeben werden soll.

• table (p. 121): Die Ausgabe erfolgt in Form einer Tabelle mit den Zeichen +|-, die den Zellenrahmenbilden. Normalerweise wird die Information in einem benutzerfreundlichen Format wiedergegeben, dasviel einfacher zu lesen ist als die anderen, jedoch programmatisch nicht so nützlich ist.

Wie im Thema Konfiguration (p. 44) erläutert, gibt es drei verschiedene Methoden, das Ausgabeformatanzugeben:

• Verwenden der Option output in einem benannten Profil in der config-Datei – Im folgenden Beispielwird das Standardausgabeformat auf text festgelegt.

[default]output=text

• Verwenden der Umgebungsvariablen AWS_DEFAULT_OUTPUT – Die folgende Ausgabe legt das Formatfür die Befehle in dieser Befehlszeilensitzung auf table fest, bis die Variable geändert wird oder dieSitzung endet. Diese Umgebungsvariable überschreibt alle Werte, die in der Datei config festgelegtsind.

$ export AWS_DEFAULT_OUTPUT="table"

• Verwenden der --output Option in der Befehlszeile – Im folgenden Beispiel wird die Ausgabe von nurdiesem einen Befehl auf festgelegt. json. (z. B.. Die Verwendung dieser Option im Befehl überschreibtalle aktuell eingestellten Umgebungsvariablen oder den Wert im config Datei.

$ aws swf list-domains --registration-status REGISTERED --output json

Sie können die Ergebnisse in einem beliebigen Format anpassen und filtern, indem Sie den Parameter--query verwenden. Weitere Informationen finden Sie im Filtern der Ausgabe mit der Option --query (p. 122).

115

Page 121: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchJSON-Ausgabeformat

JSON-AusgabeformatJSON ist das Standardausgabeformat der AWS CLI. Die meisten Programmiersprachen können JSON-Zeichenfolgen mit integrierten Funktionen oder öffentlich verfügbaren Bibliotheken problemlos dekodieren.Sie können die JSON-Ausgabe mit der Option --query (p. 122) auf leistungsstarke Weise kombinieren,um die AWS CLI-JSON-formatierte Ausgabe zu filtern und zu formatieren.

Für eine erweiterte Filterung, die Sie möglicherweise mit --query nicht durchführen können, können Siejq, einen Befehlszeilen-JSON-Prozessor, in Betracht ziehen. Sie können jq unter http://stedolan.github.io/jq/ herunterladen und finden hier auch die offizielle praktische Anleitung.

Nachfolgend finden Sie ein Beispiel für eine JSON-Ausgabe.

$ aws iam list-users --output json

{ "Users": [ { "Path": "/", "UserName": "Admin", "UserId": "AIDA1111111111EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/Admin", "CreateDate": "2014-10-16T16:03:09+00:00", "PasswordLastUsed": "2016-06-03T18:37:29+00:00" }, { "Path": "/backup/", "UserName": "backup-user", "UserId": "AIDA2222222222EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/backup/backup-user", "CreateDate": "2019-09-17T19:30:40+00:00" }, { "Path": "/", "UserName": "cli-user", "UserId": "AIDA3333333333EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/cli-user", "CreateDate": "2019-09-17T19:11:39+00:00" } ]}

YAML-AusgabeformatDiese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

YAML ist eine gute Wahl für die programmgesteuert Behandlung der Ausgabe mit Services und Tools, dieYAML-formatierte Zeichenfolgen ausgeben oder verwenden, wie etwa AWS CloudFormation mit seinerUnterstützung für YAML-formatierte Vorlagen.

Für eine erweiterte Filterung, die Sie möglicherweise mit --query nicht durchführen können, könnenSie yq, einen Befehlszeilen-YAML-Prozessor, in Betracht ziehen. Sie können ihn herunterladen. DieDokumentation finden Sie unter https://mikefarah.gitbook.io/yq/.

Es folgt ein Beispiel für die YAML-Ausgabe.

116

Page 122: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAusgabeformat für YAML-Stream

$ aws iam list-users --output yaml

Users:- Arn: arn:aws:iam::123456789012:user/Admin CreateDate: '2014-10-16T16:03:09+00:00' PasswordLastUsed: '2016-06-03T18:37:29+00:00' Path: / UserId: AIDA1111111111EXAMPLE UserName: Admin- Arn: arn:aws:iam::123456789012:user/backup/backup-user CreateDate: '2019-09-17T19:30:40+00:00' Path: /backup/ UserId: AIDA2222222222EXAMPLE UserName: arq-45EFD6D1-CE56-459B-B39F-F9C1F78FBE19- Arn: arn:aws:iam::123456789012:user/cli-user CreateDate: '2019-09-17T19:30:40+00:00' Path: / UserId: AIDA3333333333EXAMPLE UserName: cli-user

Ausgabeformat für YAML-StreamDiese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

Die Schaltfläche yaml-stream nutzt das -Format Jahresabschluss und gleichzeitig einereaktionsschnellere/schnellere Anzeige großer Datensätze durch Streaming der Daten an Sie ermöglicht.Sie können mit der Anzeige und Verwendung von YAML-Daten beginnen, bevor die gesamte Abfrageherunterlädt.

Für eine erweiterte Filterung, die Sie möglicherweise mit --query nicht durchführen können, könnenSie yq, einen Befehlszeilen-YAML-Prozessor, in Betracht ziehen. Sie können ihn herunterladen. DieDokumentation finden Sie unter http://mikefarah.github.io/yq/.

Es folgt ein Beispiel für die yaml-stream-Ausgabe.

$ aws iam list-users --output yaml-stream

- IsTruncated: false Users: - Arn: arn:aws:iam::123456789012:user/Admin CreateDate: '2014-10-16T16:03:09+00:00' PasswordLastUsed: '2016-06-03T18:37:29+00:00' Path: / UserId: AIDA1111111111EXAMPLE UserName: Admin - Arn: arn:aws:iam::123456789012:user/backup/backup-user CreateDate: '2019-09-17T19:30:40+00:00' Path: /backup/ UserId: AIDA2222222222EXAMPLE UserName: arq-45EFD6D1-CE56-459B-B39F-F9C1F78FBE19 - Arn: arn:aws:iam::123456789012:user/cli-user CreateDate: '2019-09-17T19:30:40+00:00' Path: / UserId: AIDA3333333333EXAMPLE

117

Page 123: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchTextausgabeformat

UserName: cli-user

Im Folgenden finden Sie ein Beispiel für yaml-stream Ausgabe in Verbindung mit der Verwendung der--page-size -Parameter, um den gestreamten YAML-Inhalt zu paginieren.

$ aws iam list-users --output yaml-stream --page-size 2

- IsTruncated: true Marker: ab1234cdef5ghi67jk8lmo9p/q012rs3t445uv6789w0x1y2z/345a6b78c9d00/1efgh234ij56klmno78pqrstu90vwxyx Users: - Arn: arn:aws:iam::123456789012:user/Admin CreateDate: '2014-10-16T16:03:09+00:00' PasswordLastUsed: '2016-06-03T18:37:29+00:00' Path: / UserId: AIDA1111111111EXAMPLE UserName: Admin - Arn: arn:aws:iam::123456789012:user/backup/backup-user CreateDate: '2019-09-17T19:30:40+00:00' Path: /backup/ UserId: AIDA2222222222EXAMPLE UserName: arq-45EFD6D1-CE56-459B-B39F-F9C1F78FBE19- IsTruncated: false Users: - Arn: arn:aws:iam::123456789012:user/cli-user CreateDate: '2019-09-17T19:30:40+00:00' Path: / UserId: AIDA3333333333EXAMPLE UserName: cli-user

TextausgabeformatDas text-Format strukturiert die AWS CLI-Ausgabe in durch Tabstopps getrennte Zeilen. Es funktioniertgut mit traditionellen Unix-Textverarbeitungs-Tools wie grep, sed und awk sowie mit der Textverarbeitungvon PowerShell.

Das text-Ausgabeformat entspricht der unten gezeigten grundlegenden Struktur. Die Spalten werdenalphabetisch nach dem entsprechenden Schlüsselnamen der zugrunde liegende JSON-Objekte sortiert.

IDENTIFIER sorted-column1 sorted-column2IDENTIFIER2 sorted-column1 sorted-column2

Es folgt ein Beispiel für die text-Ausgabe. Jedes Feld ist durch einen Tabulator getrennt von den anderen,mit einem zusätzlichen Tabulator, wenn ein leeres Feld vorhanden ist.

$ aws iam list-users --output text

USERS arn:aws:iam::123456789012:user/Admin 2014-10-16T16:03:09+00:00 2016-06-03T18:37:29+00:00 / AIDA1111111111EXAMPLE AdminUSERS arn:aws:iam::123456789012:user/backup/backup-user 2019-09-17T19:30:40+00:00 /backup/ AIDA2222222222EXAMPLE backup-userUSERS arn:aws:iam::123456789012:user/cli-user 2019-09-17T19:11:39+00:00 / AIDA3333333333EXAMPLE cli-user

Die vierte Spalte ist das PasswordLastUsed-Feld und ist für die letzten beiden Einträge leer, da sichdiese Benutzer nie bei der AWS Management Console anmelden.

118

Page 124: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchTextausgabeformat

Important

Wir empfehlen dringend, dass Sie, wenn Sie eine text-Ausgabe angeben, immer die Option --query (p. 122) verwenden, um ein konsistentes Verhalten zu gewährleisten.Der Grund hierfür ist, dass das Textformat Ausgabespalten alphabetisch nach demSchlüsselnamen des zugrunde liegenden JSON-Objekts sortiert, das vom AWS-Servicezurückgegeben wird. Ähnliche Ressourcen verwenden möglicherweise andere Schlüsselnamen.Beispiel: Die JSON-Darstellung einer Linux-Amazon EC2-Instance kann ggf. Elemente haben,die in der JSON-Darstellung einer Windows-Instance nicht vorhanden sind, oder umgekehrt. Inzukünftigen Aktualisierungen können auch Schlüssel-Wert-Elemente zu Ressourcen hinzugefügtoder aus diesen entfernt werden, wodurch sich die Spaltensortierung ändert. In diesem Fallerweitert --query die Funktionalität der text-Ausgabe, um eine vollständige Kontrolle über dasAusgabeformat zu ermöglichen.Im folgenden Beispiel gibt der Befehl an, welche Elemente angezeigt werden und definiert dieBestellung der Spalten mit der Listennotation [key1, key2, ...]. (z. B.. Dies gibt Ihnen dievolle Sicherheit, dass die richtigen Schlüsselwerte immer in der erwarteten Spalte angezeigtwerden. Des Weiteren gibt die AWS CLI als Wert für nicht vorhandene Schlüssel None aus.

$ aws iam list-users --output text --query 'Users[*].[UserName,Arn,CreateDate,PasswordLastUsed,UserId]'

Admin arn:aws:iam::123456789012:user/Admin 2014-10-16T16:03:09+00:00 2016-06-03T18:37:29+00:00 AIDA1111111111EXAMPLEbackup-user arn:aws:iam::123456789012:user/backup-user 2019-09-17T19:30:40+00:00 None AIDA2222222222EXAMPLEcli-user arn:aws:iam::123456789012:user/cli-backup 2019-09-17T19:11:39+00:00 None AIDA3333333333EXAMPLE

Das folgende Beispiel zeigt, wie Sie grep und awk mit der text-Ausgabe des Befehls aws ec2describe-instances verwenden können. Durch den ersten Befehl bekommen Sie die Availability Zone,den aktuellen Status und die Instance-ID der einzelnen Instances als text-Ausgabe angezeigt. Der zweiteBefehl verarbeitet die Ausgabe so, dass nur die Instance-IDs der Instances angezeigt werden, die in derAvailability Zone us-west-2a ausgeführt werden.

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output text

us-west-2a running i-4b41a37cus-west-2a stopped i-a071c394us-west-2b stopped i-97a217a0us-west-2a running i-3045b007us-west-2a running i-6fc67758

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output text | grep us-west-2a | grep running | awk '{print $3}'

i-4b41a37ci-3045b007i-6fc67758

Das folgende Beispiel geht noch einen Schritt weiter und zeigt nicht nur, wie Sie die Ausgabe filtern,sondern auch, wie Sie die Ausgabe verwenden, um sich ändernde Instance-Typen für angehalteneInstances zu automatisieren.

119

Page 125: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchTextausgabeformat

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[State.Name, InstanceId]' --output text |> grep stopped |> awk '{print $2}' |> while read line;> do aws ec2 modify-instance-attribute --instance-id $line --instance-type '{"Value": "m1.medium"}';> done

Die text-Ausgabe kann auch in PowerShell nützlich sein. Da die Spalten in der text-Ausgabetabulatorgetrennt sind, können Sie die Ausgabe problemlos in ein Array aufteilen, indem Sie das `t-Trennzeichen von PowerShell verwenden. Mit dem folgenden Befehl bekommen Sie den Wert der drittenSpalte (InstanceId) angezeigt, wenn die erste Spalte (AvailabilityZone) mit der Zeichenfolge us-west-2a übereinstimmt.

PS C:\>aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output text |%{if ($_.split("`t")[0] -match "us-west-2a") { $_.split("`t")[2]; } }

-4b41a37ci-a071c394i-3045b007i-6fc67758

Beachten Sie: Obwohl das vorherige Beispiel zeigt, wie der --query-Parameter verwendet wird, umdie zugrunde liegenden JSON-Objekte zu analysieren und die gewünschte Spalte zu extrahieren,verfügt PowerShell über eine eigene Funktion zur Verarbeitung von JSON, wenn plattformübergreifendeKompatibilität nicht gegeben sein muss. Anstatt die Ausgabe als Text zu behandeln, wie für die meistenBefehls-Shells erforderlich, ermöglicht PowerShell die Verwendung des ConvertFrom-JSON-Cmdlets zurErstellung eines hierarchisch strukturierten Objekts. Sie können dann direkt von diesem Objekt aus auf dasgewünschte Element zugreifen.

(aws ec2 describe-instances --output json | ConvertFrom-Json).Reservations.Instances.InstanceId

Tip

Wenn Sie Text ausgeben und die Ausgabe mithilfe des Parameters --query zu einem einzelnenFeld filtern, besteht die Ausgabe aus einer einzelnen Zeile mit Tabulator-getrennten Werten. Umjeden Wert auf eine separate Zeile zu bekommen, können Sie das Ausgabefeld in Klammernsetzen, wie in den folgenden Beispielen gezeigt.Tabulatorgetrennte, einzeilige Ausgabe:

$ aws iam list-groups-for-user --user-name susan --output text --query "Groups[].GroupName"

HRDepartment Developers SpreadsheetUsers LocalAdmins

Jeder Wert auf einer eigenen Zeile durch Setzen von [GroupName] in Klammern:

$ aws iam list-groups-for-user --user-name susan --output text --query "Groups[].[GroupName]"

HRDepartmentDevelopers

120

Page 126: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchTabellenausgabeformat

SpreadsheetUsersLocalAdmins

TabellenausgabeformatDas table-Format produziert lesbare Darstellungen der komplexen AWS CLI-Ausgabe in Tabellenform.

$ aws iam list-users --output table

-----------------------------------------------------------------------------------------------------------------------------------------------------------------| ListUsers |+---------------------------------------------------------------------------------------------------------------------------------------------------------------+|| Users |||+----------------------------------------------------+---------------------------+---------------------------+----------+-----------------------+-------------+||| Arn | CreateDate | PasswordLastUsed | Path | UserId | UserName |||+----------------------------------------------------+---------------------------+---------------------------+----------+-----------------------+-------------+||| arn:aws:iam::123456789012:user/Admin | 2014-10-16T16:03:09+00:00 | 2016-06-03T18:37:29+00:00 | / | AIDA1111111111EXAMPLE | Admin |||| arn:aws:iam::123456789012:user/backup/backup-user | 2019-09-17T19:30:40+00:00 | | /backup/ | AIDA2222222222EXAMPLE | backup-user |||| arn:aws:iam::123456789012:user/cli-user | 2019-09-17T19:11:39+00:00 | | / | AIDA3333333333EXAMPLE | cli-user ||+---------------------------------------------------------------------------------------------------------------------------------------------------------------+

Sie können die --query-Option mit dem table-Format kombinieren, um eine Gruppe von Elementenzu erhalten, die vorab aus der unformatierten Ausgabe ausgewählt wurden. Beachten Sie dieAusgabeunterschiede in Wörterbuch- und Listennotation: Im ersten Beispiel werden die Spaltennamenalphabetisch sortiert und im zweiten Beispiel werden die unbenannten Spalten nach der Definition desBenutzers geordnet. Weitere Informationen zur Option --query finden Sie unter Filtern der Ausgabe mitder Option --query (p. 122).

$ aws ec2 describe-volumes --query 'Volumes[*].{ID:VolumeId,InstanceId:Attachments[0].InstanceId,AZ:AvailabilityZone,Size:Size}' --output table

------------------------------------------------------| DescribeVolumes | +------------+----------------+--------------+-------+| AZ | ID | InstanceId | Size |+------------+----------------+--------------+-------+| us-west-2a| vol-e11a5288 | i-a071c394 | 30 || us-west-2a| vol-2e410a47 | i-4b41a37c | 8 |+------------+----------------+--------------+-------+

$ aws ec2 describe-volumes --query 'Volumes[*].[VolumeId,Attachments[0].InstanceId,AvailabilityZone,Size]' --output table

----------------------------------------------------| DescribeVolumes |+--------------+--------------+--------------+-----+

121

Page 127: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFiltern der Ausgabe mit der Option --query

| vol-e11a5288| i-a071c394 | us-west-2a | 30 || vol-2e410a47| i-4b41a37c | us-west-2a | 8 |+--------------+--------------+--------------+-----+

Filtern der Ausgabe mit der Option --queryDie AWS CLI bietet integrierte JSON-basierte Funktionen zum Filtern der Ausgabe mit der Option --query. Der --query-Parameter akzeptiert Zeichenfolgen, die mit der JMESPath-Spezifikation kompatibelsind.

Important

Der von Ihnen angegebene Ausgabetyp (json, yaml, text oder table) beeinflusst, wie dieOption --query funktioniert:

• Wenn Sie --output text angeben, wird die Ausgabe paginiert, bevor der --query-Filterangewendet wird, und die AWS CLI führt die Abfrage einmal auf jeder Seite der Ausgabedurch. Dies kann zu unerwarteten zusätzlichen Ausgaben führen, besonders, wenn Ihr Filterein Array-Element angibt, das etwa [0] verwendet, da die Ausgabe dann das erste passendeElement auf jeder Seite enthält. Um die zusätzliche Leistung zu umgehen, die --output textkönnen Sie angeben, --no-paginate. (z. B.. Dadurch wird der Filter nur auf den vollständigenErgebnissatz angewendet. Es entfernt allerdings jegliche Paginierung, sodass es zu einerlangen Ausgabe führen kann. Sie können auch andere Befehlszeilen-Tools wie head oder tailverwenden, um die Ausgabe zusätzlich zu filtern, um nur die gewünschten Werte zu erhalten.

• Wenn Sie --output json angeben, wird die Ausgabe vollständig verarbeitet und in eineJSON-Struktur konvertiert, bevor der --query-Filter angewendet wird. Die AWS CLI führt dieAbfrage nur einmal für die gesamte JSON-Struktur aus, wodurch ein gefiltertes JSON-Ergebniserzeugt wird, das dann ausgegeben wird.

• Wenn Sie --output yaml angeben, wird die Ausgabe vollständig verarbeitet und in eineJSON-Struktur konvertiert, bevor der --query-Filter angewendet wird. Die AWS CLI führt dieAbfrage nur einmal für die gesamte JSON-Struktur aus, wodurch ein gefiltertes JSON-Ergebniserzeugt wird, das dann in YAML konvertiert und ausgegeben wird.

Um zu demonstrieren, wie --query funktioniert, beginnen wir zuerst mit der folgenden Standard-JSON-Ausgabe. Dies beschreibt zwei Amazon Elastic Block Store (Amazon EBS)-Volumes, die separatenAmazon EC2-Instances zugeordnet sind.

$ aws ec2 describe-volumes

{ "Volumes": [ { "AvailabilityZone": "us-west-2a", "Attachments": [ { "AttachTime": "2013-09-17T00:55:03.000Z", "InstanceId": "i-a071c394", "VolumeId": "vol-e11a5288", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/sda1" } ], "VolumeType": "standard", "VolumeId": "vol-e11a5288", "State": "in-use", "SnapshotId": "snap-f23ec1c8",

122

Page 128: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFiltern der Ausgabe mit der Option --query

"CreateTime": "2013-09-17T00:55:03.000Z", "Size": 30 }, { "AvailabilityZone": "us-west-2a", "Attachments": [ { "AttachTime": "2013-09-18T20:26:16.000Z", "InstanceId": "i-4b41a37c", "VolumeId": "vol-2e410a47", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/sda1" } ], "VolumeType": "standard", "VolumeId": "vol-2e410a47", "State": "in-use", "SnapshotId": "snap-708e8348", "CreateTime": "2013-09-18T20:26:15.000Z", "Size": 8 } ]}

Sie können wählen, nur das erste Volume aus der Liste Volumes anzuzeigen, indem Sie den folgendenBefehl verwenden, der das erste Volume im Array indiziert.

$ aws ec2 describe-volumes --query 'Volumes[0]'

{ "AvailabilityZone": "us-west-2a", "Attachments": [ { "AttachTime": "2013-09-17T00:55:03.000Z", "InstanceId": "i-a071c394", "VolumeId": "vol-e11a5288", "State": "attached", "DeleteOnTermination": true, "Device": "/dev/sda1" } ], "VolumeType": "standard", "VolumeId": "vol-e11a5288", "State": "in-use", "SnapshotId": "snap-f23ec1c8", "CreateTime": "2013-09-17T00:55:03.000Z", "Size": 30}

Das nächste Beispiel verwendet die Platzhalter-Notation [*] um alle Volumes in der Liste zu iterierenund drei Elemente aus jedem Volume herauszufiltern: VolumeId, , und Sie haben die MöglichkeitAvailabilityZone, und Size. (z. B.. Die Wörterbuchnotation erfordert, dass Sie einen Alias für jedenJSON-Schlüssel angeben, wie folgt: {Alias1:JSONKey1,Alias2:JSONKey2}. (z. B.. Ein Wörterbuchist von Natur aus nicht geordnet, daher kann die Reihenfolge der Schlüssel/Alias innerhalb einer Strukturinkonsistent sein.

$ aws ec2 describe-volumes --query 'Volumes[*].{ID:VolumeId,AZ:AvailabilityZone,Size:Size}'

[

123

Page 129: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFiltern der Ausgabe mit der Option --query

{ "AZ": "us-west-2a", "ID": "vol-e11a5288", "Size": 30 }, { "AZ": "us-west-2a", "ID": "vol-2e410a47", "Size": 8 }]

Mithilfe der Wörterbuchnotation können Sie auch verkettete Schlüssel wie key1.key2[0].key3verwenden, um tief geschachtelte Elemente innerhalb der Struktur zu filtern. Das Beispiel unten zeigtdies anhand des Schlüssels Attachments[0].InstanceIdfür den der einfache Alias InstanceIdverwendet wird.

$ aws ec2 describe-volumes --query 'Volumes[*].{ID:VolumeId,InstanceId:Attachments[0].InstanceId,AZ:AvailabilityZone,Size:Size}'

[ { "InstanceId": "i-a071c394", "AZ": "us-west-2a", "ID": "vol-e11a5288", "Size": 30 }, { "InstanceId": "i-4b41a37c", "AZ": "us-west-2a", "ID": "vol-2e410a47", "Size": 8 }]

Sie können mit der Listennotation auch mehrere Elemente filtern. [key1, key2]. (z. B.. Dies formatiertalle gefilterten Attribute in einem einzigen verordnet Liste pro Objekt, unabhängig vom Typ.

$ aws ec2 describe-volumes --query 'Volumes[*].[VolumeId, Attachments[0].InstanceId, AvailabilityZone, Size]'

[ [ "vol-e11a5288", "i-a071c394", "us-west-2a", 30 ], [ "vol-2e410a47", "i-4b41a37c", "us-west-2a", 8 ]]

Wenn Sie die Ergebnisse nach dem Wert eines bestimmten Felds filtern möchten, verwenden Sie denJMESPath-Operator „?“. Die folgende Beispielabfrage gibt nur Volumes in der Availability Zoneus-west-2a aus.

124

Page 130: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFiltern der Ausgabe mit der Option --query

$ aws ec2 describe-volumes \ --query 'Volumes[?AvailabilityZone==`us-west-2a`]'

Note

Wenn Sie einen Literalwert wie oben "us-west-2" in einem JMESPath-Abfrageausdruckangeben, müssen Sie den Wert in einfache umgekehrte Anführungszeichen (` `) einschließen,damit er korrekt gelesen wird.

Hier sind einige zusätzliche Beispiele, die veranschaulichen, wie Sie nur die Details erhalten können, dieSie von der Ausgabe Ihrer Befehle erwarten.

Das folgende Beispiel listet Amazon EC2-Volumes auf. Der Service erstellt eine Liste aller angehängtenVolumes in der us-west-2a Availability Zone. Der Parameter --query begrenzt die Ausgabe weiterauf die Volumes mit einem Wert Size, der größer als 50 ist, und zeigt nur die angegebenen Felder mitbenutzerdefinierten Namen an.

$ aws ec2 describe-volumes \ --filters "Name=availability-zone,Values=us-west-2a" "Name=status,Values=attached" \ --query 'Volumes[?Size > `50`].{Id:VolumeId,Size:Size,Type:VolumeType}'

[ { "Id": "vol-0be9bb0bf12345678", "Size": 80, "Type": "gp2" }]

Das folgende Beispiel ruft eine Liste von Bildern ab, die mehrere Kriterien erfüllen. Anschließend wird mitdem Parameter --query die Ausgabe nach CreationDate sortiert und nur das neueste ausgewählt.Schließlich wird die ImageId dieses einen Bildes angezeigt.

$ aws ec2 describe-images \ --owners amazon \ --filters "Name=name,Values=amzn*gp2" "Name=virtualization-type,Values=hvm" "Name=root-device-type,Values=ebs" \ --query "sort_by(Images, &CreationDate)[-1].ImageId" \ --output text

ami-00ced3122871a4921

Das folgende Beispiel verwendet den --query-Parameter, um ein bestimmtes Element in einer Listezu suchen, und extrahiert anschließend Informationen aus diesem Element. Das Beispiel listet alleAvailability Zones im Zusammenhang mit dem angegebenen Service-Endpunkt auf. Es extrahiert dasElement aus der ServiceDetails-Liste mit dem angegebenen ServiceName und gibt dann das FeldAvailabilityZones aus dem ausgewählten Element aus.

$ aws --region us-east-1 ec2 describe-vpc-endpoint-services \ --query 'ServiceDetails[?ServiceName==`com.amazonaws.us-east-1.ecs`].AvailabilityZones'

[ [ "us-east-1a", "us-east-1b", "us-east-1c",

125

Page 131: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFiltern der Ausgabe mit der Option --query

"us-east-1d", "us-east-1e", "us-east-1f" ]]

Mit dem --query-Parameter können Sie die Elemente in der Ausgabe zählen. Im folgenden Beispiel wirddie Anzahl der verfügbaren Volumes mit mehr als 1000 IOPS angezeigt, indem mit length die Anzahl derin einer Liste enthaltenen Volumes gezählt wird.

$ aws ec2 describe-volumes \ --filters "Name=status,Values=available" \ --query 'length(Volumes[?Iops > `1000`])'

3

Das folgende Beispiel zeigt, wie Sie alle Ihre Snapshots auflisten können, die nach einem bestimmtenDatum erstellt wurden, einschließlich nur einiger der verfügbaren Felder in der Ausgabe.

$ aws ec2 describe-snapshots --owner self \ --output json \ --query 'Snapshots[?StartTime>=`2018-02-07`].{Id:SnapshotId,VId:VolumeId,Size:VolumeSize}' \

[ { "id": "snap-0effb42b7a1b2c3d4", "vid": "vol-0be9bb0bf12345678", "Size": 8 }]

Das folgende Beispiel listet die fünf neuesten Amazon Machine Images (AMIs) auf, die Sie erstellt haben,sortiert von den neuesten zu den ältesten.

$ aws ec2 describe-images \ --owners self \ --query 'reverse(sort_by(Images,&CreationDate))[:5].{id:ImageId,date:CreationDate}'

[ { "id": "ami-0a1b2c3d4e5f60001", "date": "2018-11-28T17:16:38.000Z" }, { "id": "ami-0a1b2c3d4e5f60002", "date": "2018-09-15T13:51:22.000Z" }, { "id": "ami-0a1b2c3d4e5f60003", "date": "2018-08-19T10:22:45.000Z" }, { "id": "ami-0a1b2c3d4e5f60004", "date": "2018-05-03T12:04:02.000Z" }, { "id": "ami-0a1b2c3d4e5f60005",

126

Page 132: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchSo legen Sie das Standard-

Pager-Programm der Ausgabe fest

"date": "2017-12-13T17:16:38.000Z" }

]

Das folgende Beispiel zeigt nur die InstanceId für alle fehlerhaften Instances in der angegebenen AutoScaling-Gruppe an.

$ aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-name My-AutoScaling-Group-Name \ --output text \ --query 'AutoScalingGroups[*].Instances[?HealthStatus==`Unhealthy`].InstanceId'

Zusammen mit den Ausgabeformaten, die zuvor in diesem Thema näher erläutert wurden, ist die Option --query ein leistungsstarkes Tool, mit dem Sie Inhalte und Formate von Ausgaben anpassen können.

Weitere Beispiele und die vollständige Spezifikation von JMESPath, der zugrunde liegenden JSON-Verarbeitungsbibliothek, finden Sie unter http://jmespath.org/specification.html.

So legen Sie das Standard-Pager-Programm derAusgabe fest

Diese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

AWS CLI Version 2 ermöglicht die Verwendung eines clientseitigen Pager-Programms für dieAusgabe. Standardmäßig gibt diese Funktion alle Ausgaben über das Standard-Pager-Programm IhresBetriebssystems zurück. Die clientseitige Paginierung erfolgt nach einer serverseitigen Paginierung, die Sieangeben, siehe Paginierung (p. 128).

Um die gesamte Verwendung eines externen Auslagerungsprogramms zu deaktivieren, setzen Sie dieVariable auf eine leere Zeichenfolge.

Sie können den Ausgabe-Pager auf zwei Arten angeben:

Verwenden der cli_pager Option in der config Datei

Im folgenden Beispiel wird der Standardausgabe-Pager auf gesetzt. less programmieren.

[default]cli_pager=less

Im folgenden Beispiel wurde die Verwendung eines Pagers deaktiviert.

[default]cli_pager=

Über die AWS_PAGER Umgebungsvariable.

Im folgenden Beispiel wird der Standardwert auf weniger festgelegt.

Linux and macOS

$ export AWS_PAGER="less"

127

Page 133: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchPaginierung

Windows

C:\> setx AWS_PAGER "less"

Im folgenden Beispiel wird die Verwendung eines Pagers deaktiviert.

Linux and macOS

$ export AWS_PAGER=""

Windows

C:\> setx AWS_PAGER ""

Verwenden von AWS CLI-PaginierungsoptionenIn diesem Thema werden die verschiedenen Möglichkeiten zum Paginieren der Ausgabe aus derbeschrieben. AWS Command Line Interface (AWS CLI).Es gibt hauptsächlich zwei Möglichkeiten, diePaginierung von der AWS CLI.

• Verwenden von serverseitigen Paginierungsparametern. (p. 128)• Verwenden des standardmäßigen clientseitigen Auslagerungsprogramms für die Ausgabe (p. 130).

Serverseitige Paginierungsparameter werden zuerst verarbeitet und jede Ausgabe wird an die clientseitigePaginierung gesendet.

Serverseitige PaginierungFür Befehle, die eine große Liste von Elementen zurückgeben können, wird die AWS Command LineInterface (AWS CLI) hat mehrere Optionen, um die Anzahl der Elemente in der Ausgabe zu steuern, wenndie AWS CLI ruft die API eines Service auf, um die Liste zu füllen.

• --no-paginate

• --page-size

• --max-items

• --starting-token

Standardmäßig verwendet die AWS CLI eine Seitengröße von 1 000 und ruft alle verfügbaren Elementeab. Wenn Sie beispielsweise aws s3api list-objects auf einem Amazon S3 Bucket, der 3.500Objekte enthält, die AWS CLI führt automatisch vier Anrufe an Amazon S3, wobei die servicespezifischePaginierungslogik für Sie im Hintergrund verarbeitet und alle 3.500 Objekte in der endgültigen Ausgabezurückgegeben werden.

Verwendung des Parameters --no-paginateUm die Seitennummerierung zu deaktivieren und nur die erste Ergebnisseite zurückzugeben, verwendenSie die --no-paginate Option. Wenn Sie einen Befehl verwenden, wird standardmäßig die AWS CLIführt automatisch mehrere Aufrufe durch, um alle möglichen Ergebnisse zurückzugeben und Paginierungzu erstellen. Ein Anruf pro Seite. Das Deaktivieren der Paginierung hat die AWS CLI nur einmal für dieerste Seite der Befehlsergebnisse aufrufen.

128

Page 134: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchServerseitige Paginierung

Wenn Sie beispielsweise aws s3api list-objects auf einem Amazon S3 Bucket, der 3.500 Objekteenthält, die AWS CLI nur den ersten Anruf an Amazon S3gibt nur die ersten 1.000 Objekte in derendgültigen Ausgabe zurück.

$ aws s3api list-objects \ --bucket my-bucket \ --no-paginate{ "Contents": [...

Verwendung des Parameters --page-sizeWenn Probleme beim Ausführen von Listenbefehlen für eine große Anzahl von Ressourcen auftreten, istdie Standardseitengröße von 1.000 möglicherweise zu hoch. Dies kann dazu führen, dass es bei Aufrufenvon AWS-Services zu Zeitüberschreitungen kommt und ein Zeitüberschreitungsfehler generiert wird. Siekönnen die Option --page-size verwenden, um anzugeben, dass die AWS CLI eine geringere Anzahl anElementen bei Aufrufen des AWS-Services anfordert. Die CLI wird weiterhin die vollständige Liste abrufen,aber eine größere Anzahl von Service-API-Aufrufen im Hintergrund verarbeiten und bei jedem Aufruf einegeringere Anzahl von Elementen abrufen. Dadurch ist es wahrscheinlicher, dass Aufrufe nicht zu einemZeitüberschreitungsfehler führen. Das Ändern der Seitengröße hat keine Auswirkungen auf die Ausgabe.Es wirkt sich nur auf die Anzahl der API-Aufrufe aus, die erforderlich sind, um die Ausgabe zu generieren.

$ aws s3api list-objects \ --bucket my-bucket \ --page-size 100{ "Contents": [...

Verwendung des Parameters --max-itemsVerwenden Sie die Option --max-items, damit bei einem Aufruf weniger Elemente in der AWS CLI-Ausgabe enthalten sind. Die AWS CLI verarbeitet die Paginierung im Service weiterhin wie vorherbeschrieben, druckt jedoch jeweils nur die Anzahl der Elemente, die Sie angeben.

$ aws s3api list-objects \ --bucket my-bucket \ --max-items 100{ "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==", "Contents": [...

So verwenden Sie den Parameter --starting-tokenWenn die Anzahl der ausgegebenen Elemente (--max-items) geringer als die Gesamtanzahl derElemente ist, die von den zugrunde liegenden API-Aufrufen zurückgeliefert werden, enthält die Ausgabeein NextToken. Dieses können Sie in einem anschließenden Befehl zum Abrufen der nächsten Gruppevon Elementen übergeben. Im folgenden Beispiel wird gezeigt, wie Sie den Wert NextToken aus demvorherigen Beispiel verwenden und die zweiten hundert Elemente abrufen.

Note

Der Parameter --starting-token kann nicht null oder leer sein. Wenn der vorherige Befehlkeinen NextToken-Wert zurückgibt, können keine weiteren Elemente zurückgegeben werden undSie müssen den Befehl nicht erneut aufrufen.

129

Page 135: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchClientseitiger Pager

$ aws s3api list-objects \ --bucket my-bucket \ --max-items 100 \ --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ=={ "Contents": [...

Der angegebene AWS-Service gibt Elemente möglicherweise nicht bei jedem Aufruf in der gleichenReihenfolge zurück. Wenn Sie verschiedene Werte für --page-size und --max-items angeben,können Sie unerwartete Ergebnisse mit fehlenden oder doppelten Elementen bekommen. Um dies zuverhindern, verwenden Sie dieselbe Zahl für --page-size und --max-items, um die Paginierung derAWS CLI mit der Paginierung der zugrunde liegenden Services zu synchronisieren. Sie können auch diegesamte Liste abrufen und erforderliche Paginierungsvorgänge lokal durchführen.

Clientseitiger PagerDiese Funktion ist nur mit AWS CLI Version 2 verfügbar.

Die folgende Funktion ist nur verfügbar, wenn Sie AWS CLI Version 2 verwenden. Sie ist nichtverfügbar, wenn Sie AWS CLI Version 1 ausführen. Informationen zur Installation von Version 2finden Sie unter Installieren, Aktualisieren und Deinstallieren der AWS CLI Version 2 (p. 4).

AWS CLI Version 2 ermöglicht die Verwendung eines clientseitigen Pager-Programms für dieAusgabe. Standardmäßig gibt diese Funktion alle Ausgaben über das Standard-Pager-Programm IhresBetriebssystems zurück.

Sie können den Ausgabe-Pager in der Reihenfolge der Priorität wie folgt angeben:

• Verwenden der cli_pager Einstellung in der config Datei in einem benannten Profil.• Über die AWS_PAGER Umgebungsvariable.• Verwenden der cli_pager Einstellung in der config Datei in default Profil.• Über die PAGER Umgebungsvariable.

In der Reihenfolge der Priorität können Sie die Verwendung eines externen Paging-Programms auffolgende Weise deaktivieren:

• Verwenden Sie die --no-cli-pager Befehlszeilenoption, um den Pager für einen einzelnen Befehl zudeaktivieren, verwenden Sie.

• Stellen Sie die cli_pager Einstellung oder AWS_PAGER Variable zu einer leeren Zeichenfolge.

So verwenden Sie die Einstellung cli_pagerSie können Ihre häufig verwendeten Konfigurationseinstellungen und Anmeldeinformationen in Dateienspeichern, die von der AWS CLIverwaltet werden. Einstellungen in einem Namensprofil haben Vorrang vorEinstellungen in der default Profil. Weitere Informationen zu den Konfigurationseinstellungen finden Sieunter Einstellungen der Konfigurations- und Anmeldeinformationsdatei (p. 48).

Im folgenden Beispiel wird der Standardausgabe-Pager auf gesetzt. less programmieren.

[default]cli_pager=less

Im folgenden Beispiel wird die Standardeinstellung zur Deaktivierung der Verwendung eines Pagersfestgelegt.

130

Page 136: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchClientseitiger Pager

[default]cli_pager=

So verwenden Sie die Umgebungsvariable AWS_PAGERIm folgenden Beispiel wird der Standardausgabe-Pager auf gesetzt. less programmieren. WeitereInformationen zu Umgebungsvariablen finden Sie unterUmgebungsvariablen zum Konfigurieren der AWSCLI (p. 68).

Linux and macOS

$ export AWS_PAGER="less"

Windows

C:\> setx AWS_PAGER "less"

Im folgenden Beispiel wird die Verwendung eines Pagers deaktiviert.

Linux and macOS

$ export AWS_PAGER=""

Windows

C:\> setx AWS_PAGER ""

So verwenden Sie die Option --no-cli-pagerUm die Verwendung eines Pagers mit einem einzigen Befehl zu deaktivieren, verwenden Sie die--no-cli-pager Option. Weitere Informationen zu den Befehlszeilenoptionen finden Sie unterBefehlszeilenoptionen (p. 72).

$ aws s3api list-objects \ --bucket my-bucket \ --no-cli-pager{ "Contents": [...

So verwenden Sie Pager-FlagsSie können Flags angeben, die automatisch mit Ihrem Paging-Programm verwendet werden sollen. DieMarkierungen hängen vom Paging-Programm ab, das Sie verwenden. Die folgenden Beispiele gelten fürdie typischen Standardeinstellungen von less und more.

Linux and macOS

Wenn Sie nichts anderes angeben, wird der Pager AWS CLI Version 2 verwendet standardmäßigless. (z. B.. Wenn Sie nicht über die LESS Umgebungsvariablensatz, die AWS CLI Version 2verwendet die FRX kennzeichnet. Sie können Flags kombinieren, indem Sie beim Festlegen der AWSCLI Funkrufgerät.

131

Page 137: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchRückgabecodes

Das folgende Beispiel verwendet die S Kennzeichnung. Dieses Flag wird dann mit dem Standard- FRXMarkierungen, um eine endgültige FRXS Kennzeichnung.

$ export AWS_PAGER="less -S"

Wenn Sie keine der FRX können Sie negieren. Im folgenden Beispiel wird die F Markierung, um einendgültiges RX Kennzeichnung.

$ export AWS_PAGER="less -+F"

Weitere Informationen zu less Markierungen siehe weniger auf dem Bildschirm Handbücher.org.Windows

Wenn Sie nichts anderes angeben, wird der Pager AWS CLI Version 2 verwendet standardmäßigmore ohne zusätzliche Flags.

Das folgende Beispiel verwendet die /c Parameter.

C:\> setx AWS_PAGER "more /c"

Weitere Informationen zu more Markierungen siehe mehr als nur auf dem Bildschirm Microsoft-Dokumente.

Grundlegendes zu Rückgabecodes der AWS CLIDer Rückgabecode ist in der Regel ein versteckter Code, der nach dem Ausführen eines AWS CommandLine Interface (AWS CLI) , der den Status des Befehls beschreibt. Sie können die echo um den Codeanzuzeigen, der vom letzten AWS CLI Befehl und verwenden Sie diese Codes, um festzustellen, ob einBefehl erfolgreich war oder ob er fehlgeschlagen ist und warum ein Befehl möglicherweise einen Fehleraufweist. Zusätzlich zu den Rückgabecodes können Sie weitere Details zu einem Fehler anzeigen, indemSie Ihre Befehle mit der --debug Schalter. Dieser Schalter erstellt einen detaillierten Bericht der Schritte,die AWS CLI verwendet zum Verarbeiten des Befehls und das Ergebnis jedes Schritts.

Um den Rückgabecode eines AWS CLI Befehls zu ermitteln, führen Sie sofort nach der Ausführung desCLI-Befehls einen der folgenden Befehle aus.

Linux and macOS

$ echo $?0

Windows PowerShell

PS> echo $lastexitcode0

Windows Command Prompt

C:\> echo %errorlevel%0

Im Folgenden finden Sie die Rückgabecodewerte, die am Ende der Ausführung eines AWS Command LineInterface (AWS CLI)-Befehls zurückgegeben werden können.

132

Page 138: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchRückgabecodes

Code Bedeutung

0 Der Befehl wurde erfolgreich ausgeführt. Es wurden keine Fehler generiert von der AWS CLI undAWS Service, an den die Anforderung gesendet wurde.

1 Mindestens ein Amazon S3-Übertragungsvorgang ist fehlgeschlagen. Auf S3-Befehle beschränkt.

2 Die Bedeutung dieses Rückgabecodes hängt von dem Befehl ab:

• Gilt für alle CLI-Befehle – Der eingegebene Befehl konnte nicht analysiert werden. Parsing-Fehler können auf fehlende erforderliche Unterbefehle oder Argumente oder die Verwendungunbekannter Befehle oder Argumente zurückzuführen sein, sind jedoch nicht hieraufbeschränkt.

• Begrenzt auf S3-Befehle – Eine oder mehrere zur Übertragung markierte Dateien wurdenwährend des Übertragungsvorgangs übersprungen. Alle übrigen für die Übertragungmarkierten Dateien wurden jedoch erfolgreich übertragen. Zu den bei der Übertragungübersprungenen Dateien gehören nicht vorhandene Dateien, besondere zeichenorientierteGeräte (Character Special Devices), besondere blockorientierte Geräte (Block SpecialDevices), FIFO-Warteschlangen oder Sockets und Dateien, für der Benutzer keineLeseberechtigung hat.

130 Der Befehl wurde durch einen SIGINT unterbrochen. Dies ist das Signal, das Sie senden, umeinen Befehl mit Ctrl+C.

Veranstaltungsraum"252"

Die Befehlssyntax war ungültig, ein unbekannter Parameter wurde angegeben oder einParameterwert war falsch und verhinderte, dass der Befehl ausgeführt wurde.

Veranstaltungsraum"253"

Die Systemumgebung oder -konfiguration war ungültig. Während der bereitgestellteBefehl syntaktisch gültig sein kann, verhinderte das Fehlen der Konfiguration oder derAnmeldeinformationen, dass der Befehl ausgeführt wurde.

Veranstaltungsraum"254"

Der Befehl wurde erfolgreich analysiert und eine Anfrage an den angegebenen Service gestellt,aber der Service hat einen Fehler zurückgegeben. Dies weist im Allgemeinen auf eine falscheAPI-Nutzung oder andere servicespezifische Probleme hin.

255 Der Befehl ist fehlgeschlagen. Von der AWS CLI oder dem AWS-Service, an den die Anforderunggesendet wurde, wurden Fehler generiert.

133

Page 139: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDynamoDB

Verwendung der AWS CLI mit AWSDienstleistungen

Dieser Abschnitt enthält Beispiele, die zeigen, wie die AWS Command Line Interface ( ( (AWS CLI) tööäärêêr rêèv AWS Services.

Eine vollständige Referenz aller verfügbaren Befehle für jeden einzelnen Service finden Sie unter AWS CLICommand Reference. Sie können auch die integrierte Befehlszeilenhilfe verwenden. Weitere Informationenfinden Sie im Abrufen von Hilfe für die AWS CLI (p. 92).

Themen• Verwenden von Amazon DynamoDB mit AWS CLI (p. 134)• Verwenden von Amazon EC2 mit AWS CLI (p. 136)• Verwenden von Amazon S3 Glacier mit AWS CLI (p. 148)• Mit AWS Identity and Access Management von der AWS CLI (p. 152)• Verwenden von Amazon S3 mit AWS CLI (p. 156)• Verwenden von Amazon SNS mit AWS CLI (p. 166)• Verwenden von Amazon SWF mit AWS CLI (p. 168)

Verwenden von Amazon DynamoDB mit AWS CLIDie AWS Command Line Interface ( ( (AWS CLI) pröóvïîdëës fóòr sêèppêèrt fòò AWS Datenbankdienste,einschließlich Amazon DynamoDB. Sie können die AWS CLI für Ad-hoc-Vorgänge wie das Erstellen einerTabelle verwenden. Sie können über sie auch DynamoDB-Vorgänge in Hilfsprogrammskripts einbetten.

Um die AWS CLI Befehle für DynamoDBverwenden Sie den folgenden Befehl.

$ aws dynamodb help

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Das Befehlszeilenformat besteht aus einem DynamoDB-Befehlsnamen, gefolgt von den Parametern fürdiesen Befehl. Die AWS CLI unterstützt die CLI Shorthand Syntax (p. 113) für die Parameterwerte undvollständige JSON.

Mit dem folgenden Befehl wird beispielsweise eine Tabelle namens erstellt.MusicCollection.Note

Für eine bessere Lesbarkeit werden lange Befehle in diesem Abschnitt über mehrere Zeilenverteilt. Der umgekehrte Schrägstrich (\) ist das Zeilenfortsetzungszeichen für die Linux-Befehlszeile. So können Sie mehrere Zeilen an der Linux-Eingabeaufforderung kopieren undeinfügen bzw. eingeben. Wenn Sie eine Shell verwenden, die den umgekehrten Schrägstrich nichtfür die Zeilenfortsetzung verwendet, ersetzen Sie ihn durch das Zeilenfortsetzungszeichen dieserShell. Oder entfernen Sie die umgekehrten Schrägstriche und setzen Sie den gesamten Befehl ineine einzige Zeile.

$ aws dynamodb create-table \ --table-name MusicCollection \

134

Page 140: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDynamoDB

--attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

Sie können neue Zeilen zur Tabelle hinzufügen mithilfe von Befehlen, die denen im folgenden Beispielähneln. Diese Beispiele verwenden eine Kombination von Syntax-Kurznotation und JSON.

$ aws dynamodb put-item \ --table-name MusicCollection \ --item '{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} , "AlbumTitle": {"S": "Somewhat Famous"} }' \ --return-consumed-capacity TOTAL{ "ConsumedCapacity": { "CapacityUnits": 1.0, "TableName": "MusicCollection" }}

$ aws dynamodb put-item \ --table-name MusicCollection \ --item '{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} , "AlbumTitle": {"S": "Songs About Life"} }' \ --return-consumed-capacity TOTAL

{ "ConsumedCapacity": { "CapacityUnits": 1.0, "TableName": "MusicCollection" }}

Es ist nicht einfach, einen gültigen JSON-Code in einem einzeiligen Befehl unterzubringen. Um dieszu vereinfachen, kann die AWS CLI JSON-Dateien lesen. Betrachten Sie dazu das folgende Beispielfür einen JSON-Codeausschnitt. Er wird in einer Datei mit dem Namen gespeichert.expression-attributes.json.

{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Call Me Today"}}

Sie können diese Datei verwenden, um eine query Anfrage unter Verwendung der AWS CLI. Im folgendenBeispiel ist der Inhalt des expression-attributes.json Datei wird als Wert für die --expression-attribute-values Parameter.

$ aws dynamodb query --table-name MusicCollection \ --key-condition-expression "Artist = :v1 AND SongTitle = :v2" \ --expression-attribute-values file://expression-attributes.json{ "Count": 1, "Items": [ { "AlbumTitle": {

135

Page 141: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2

"S": "Somewhat Famous" }, "SongTitle": { "S": "Call Me Today" }, "Artist": { "S": "No One You Know" } } ], "ScannedCount": 1, "ConsumedCapacity": null}

Weitere Informationen zur Verwendung des AWS CLI mit DynamoDB, siehe Dynamodb im AWS CLICommand Reference.

Zusätzlich zu DynamoDBkönnen Sie die AWS CLI mit DynamoDB Lokal. DynamoDB Local ist eine kleineClient-seitige Datenbank und Server, die DynamoDB Service. DynamoDB Local ermöglicht es Ihnen,Anwendungen zu schreiben, die DynamoDB API, ohne die Tabellen oder Daten im DynamoDB Webdienst.Stattdessen werden alle API-Aktionen an eine lokale Datenbank umgeleitet. Das ermöglicht IhnenEinsparungen, die den bereitgestellten Durchsatz, die Datenspeicherung und Datenübertragungsgebührenbetreffen.

Weitere Informationen über DynamoDB Lokal und wie sie mit dem AWS CLI, siehe die folgendenAbschnitte der Amazon DynamoDB-Entwicklerhandbuch:

• DynamoDB Local• Verwenden der AWS-CLI mit DynamoDB Local

Verwenden von Amazon EC2 mit AWS CLISie können auf die Funktionen von zugreifen Amazon Elastic Compute Cloud ( ( (Amazon EC2) ìïnpüûtthèé AWS Command Line Interface ( ( (AWS CLI). Um die AWS CLI Befehle für Amazon EC2verwendenSie den folgenden Befehl.

aws ec2 help

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Dieses Thema zeigt Beispiele für AWS CLI Befehle, die allgemeine Aufgaben für Amazon EC2.

Themen• Erstellen, Anzeigen und Löschen von Amazon EC2-Schlüsselpaaren (p. 136)• Erstellen, Konfigurieren und Löschen von Sicherheitsgruppen für Amazon EC2 (p. 138)• Starten, Auflisten und Beenden von Amazon EC2-Instances (p. 143)

Erstellen, Anzeigen und Löschen von Amazon EC2-SchlüsselpaarenSie können mit der AWS Command Line Interface (AWS CLI) Ihre Schlüsselpaare für Amazon ElasticCompute Cloud (Amazon EC2) erstellen, anzeigen und löschen. Sie verwenden Schlüsselpaare, um eineVerbindung zu einer Amazon EC2-Instance herzustellen.

136

Page 142: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2-Schlüsselpaare

Sie müssen das Schlüsselpaar für Amazon EC2 bereitstellen, wenn Sie die Instance erstellen.Anschließend verwenden Sie das Schlüsselpaar zur Authentifizierung, wenn Sie sich mit der Instanceverbinden.

Themen• Prerequisites (p. 137)• Erstellen eines Schlüsselpaares (p. 137)• Anzeigen Ihres Schlüsselpaars (p. 138)• Löschen Ihres Schlüsselpaars (p. 138)

PrerequisitesSo führen Sie die aus ec2 müssen Sie:

• Installieren und konfigurieren Sie die AWS CLI. Weitere Informationen finden Sie unter Installieren vonAWS CLI (p. 4) und Konfigurationsgrundlagen (p. 44).

• Stellen Sie Ihre IAM Berechtigungen, um Amazon EC2 auf zugreifen. Weitere Informationen überIAM Berechtigungen für Amazon EC2, siehe IAM-Richtlinien für Amazon EC2 in der Amazon EC2-Benutzerhandbuch für Linux-Instances.

Erstellen eines SchlüsselpaaresZum Erstellen eines Schlüsselpaars verwenden Sie den Befehl create-key-pair mit den Optionen --queryund --output text, um den privaten Schlüssel direkt in eine Datei weiterzureichen.

$ aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem

Für PowerShell, die > file Die Umleitung ist standardmäßig auf UTF-8-Codierung eingestellt, die beieinigen SSH-Clients nicht verwendet werden kann. Sie müssen die Ausgabe konvertieren, indem Sie sie anden Befehl out-file weiterreichen und die Kodierung explizit auf ascii festlegen.

PS C:\>aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text | out-file -encoding ascii -filepath MyKeyPair.pem

Die resultierende Datei MyKeyPair.pem sollte wie folgt aussehen.

-----BEGIN RSA PRIVATE KEY-----EXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/vBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QWZ/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1FG50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPWoPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1mb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2bahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD981oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozRoQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1YkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/xp9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuwsayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnUWA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUCgYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bHoMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGsArq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy

137

Page 143: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2-Sicherheitsgruppen

WBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1jjjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDaNWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qSVRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=-----END RSA PRIVATE KEY-----

Ihr privater Schlüssel wird nicht in AWS gespeichert und kann nur während seiner Erstellung abgerufenwerden. Später kann er nicht mehr wiederhergestellt werden. Wenn Sie den privaten Schlüssel verlieren,müssen Sie ein neues Schlüsselpaar erstellen.

Wenn Sie über einen Linux-Computer eine Verbindung zu Ihrer Instance herstellen, sollten Sie denfolgenden Befehl verwenden, um die Berechtigungen für Ihre private Schlüsseldatei festzulegen, sodassnur Sie diese lesen können.

$ chmod 400 MyKeyPair.pem

Anzeigen Ihres SchlüsselpaarsAus dem Schlüsselpaar wird ein "Fingerabdruck" generiert, mit dem Sie überprüfen können, ob der privateSchlüssel auf Ihrem lokalen Computer dem öffentlichen Schlüssel entspricht, der in AWS gespeichert ist.

Der Fingerabdruck ist ein SHA1-Hash aus einer DER-codierten Kopie des privaten Schlüssels. DieserWert wird erfasst, wenn das Schlüsselpaar erstellt wird. Er wird in AWS mit dem öffentlichen Schlüsselgespeichert. Der Fingerabdruck kann in der Amazon EC2-Konsole oder durch Ausführen des AWS CLI-Befehls aws ec2 describe-key-pairs angezeigt werden.

Das folgende Beispiel zeigt den Fingerabdruck für MyKeyPair.

$ aws ec2 describe-key-pairs --key-name MyKeyPair{ "KeyPairs": [ { "KeyName": "MyKeyPair", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f" } ]}

Weitere Informationen zu Schlüsseln und Fingerabdrücken finden Sie unter Amazon EC2-Schlüsselpaareim Amazon EC2-Benutzerhandbuch für Linux-Instances.

Löschen Ihres SchlüsselpaarsUm ein Schlüsselpaar zu löschen, führen Sie den folgenden Befehl aus und ersetzen MyKeyPair mit demNamen des zu löschenden Paars.

$ aws ec2 delete-key-pair --key-name MyKeyPair

Erstellen, Konfigurieren und Löschen vonSicherheitsgruppen für Amazon EC2Sie können eine Sicherheitsgruppe, die im Wesentlichen als Firewall fungiert, für Ihre Amazon ElasticCompute Cloud (Amazon EC2)-Instances mit Regeln erstellen, die den ein- und ausgehendenNetzwerkverkehr bestimmen.

138

Page 144: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2-Sicherheitsgruppen

Sie können Sicherheitsgruppen für die Verwendung in einer Virtual Private Cloud (VPC) oder einemgeteilten, flachen EC2-Classic-Netzwerk erstellen. Weitere Informationen zu den Unterschieden zwischenEC2-Classic und EC2-VPC finden Sie unter Unterstützte Plattformen im Amazon EC2-Benutzerhandbuchfür Linux-Instances.

Mit der AWS Command Line Interface (AWS CLI) erstellen Sie eine neue Sicherheitsgruppe, fügen Regelnzu vorhandenen Sicherheitsgruppen hinzu und löschen Sicherheitsgruppen.

Themen• Prerequisites (p. 139)• Erstellen einer Sicherheitsgruppe (p. 139)• Hinzufügen von Regeln zu Ihrer Sicherheitsgruppe (p. 140)• Löschen Ihrer Sicherheitsgruppe (p. 142)

PrerequisitesSo führen Sie die aus ec2 müssen Sie:

• Installieren und konfigurieren Sie die AWS CLI. Weitere Informationen finden Sie unter Installieren vonAWS CLI (p. 4) und Konfigurationsgrundlagen (p. 44).

• Stellen Sie Ihre IAM Berechtigungen, um Amazon EC2 auf zugreifen. Weitere Informationen überIAM Berechtigungen für Amazon EC2, siehe IAM-Richtlinien für Amazon EC2 in der Amazon EC2-Benutzerhandbuch für Linux-Instances.

Erstellen einer SicherheitsgruppeSie können Sicherheitsgruppen erstellen, die VPCs oder für EC2-Classic.

EC2-VPCIm folgenden Beispiel wird gezeigt, wie Sie eine Sicherheitsgruppe für eine bestimmte VPC erstellen.

$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-id vpc-1a2b3c4d{ "GroupId": "sg-903004f8"}

Zum Anzeigen der Anfangsinformationen für eine Sicherheitsgruppe führen Sie den Befehl describe-security-groups aus. Sie können auf eine EC2-VPC-Sicherheitsgruppe nur mit der vpc-id und nicht mitihrem Namen verweisen.

$ aws ec2 describe-security-groups --group-ids sg-903004f8{ "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] }

139

Page 145: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2-Sicherheitsgruppen

], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "VpcId": "vpc-1a2b3c4d", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

EC2-ClassicIm folgenden Beispiel wird gezeigt, wie Sie eine Sicherheitsgruppe für EC2-Classic erstellen.

$ aws ec2 create-security-group --group-name my-sg --description "My security group"{ "GroupId": "sg-903004f8"}

Zum Anzeigen der Anfangsinformationen für my-sg führen Sie den Befehl describe-security-groups aus.Auf eine EC2-Classic-Sicherheitsgruppe können Sie mit deren Namen verweisen.

$ aws ec2 describe-security-groups --group-names my-sg{ "SecurityGroups": [ { "IpPermissionsEgress": [], "Description": "My security group" "IpPermissions": [], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

Hinzufügen von Regeln zu Ihrer SicherheitsgruppeWenn Sie eine Amazon EC2-Instance ausführen, müssen Sie Regeln in der Sicherheitsgruppe aktivieren,um eingehenden Netzwerkverkehr für Ihre Art der Verbindung zum Abbild zu aktivieren.

Wenn Sie beispielsweise eine Windows-Instance starten, fügen Sie im Allgemeinen eine Regel hinzu,um eingehenden Datenverkehr über TCP-Port 3389 zu erlauben, um das Remote Desktop Protocol(RDP) zu unterstützen. Beim Starten einer Linux-Instance fügen Sie im Allgemeinen eine Regel hinzu, umeingehenden Datenverkehr über TCP-Port 22 zu erlauben, um SSH-Verbindungen zu unterstützen.

Fügen Sie mit dem Befehl authorize-security-group-ingress eine Regel zu IhrerSicherheitsgruppe hinzu. Ein erforderlicher Parameter dieses Befehls ist die öffentliche IP-Adresse IhresComputers oder das Netzwerk (in Form eines Adressbereichs), das mit Ihrem Computer verbunden ist.Dabei wird die CIDR-Notation verwendet.

Note

Mit unserem Service https://checkip.amazonaws.com/ können Sie Ihre öffentliche IP-Adressebestimmen. Zum Finden weiterer Services zur Identifizierung Ihrer IP-Adresse geben Sie in IhrenBrowser "wie lautet meine IP-Adresse" ein. Wenn Sie eine Verbindung über einen ISP oder vonhinter einer Firewall mit einer dynamischen IP-Adresse herstellen (über ein NAT-Gateway voneinem privaten Netzwerk), können Sie diese regelmäßig ändern. In diesem Fall müssen Sie denIP-Adressbereich herausfinden, der von Client-Computern verwendet wird.

140

Page 146: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2-Sicherheitsgruppen

EC2-VPCDas folgende Beispiel zeigt, wie Sie einer EC2-VPC-Sicherheitsgruppe mit der ID eine Regel für RDP(TCP-Port 3389) hinzufügen sg-903004f8. (z. B.. In diesem Beispiel wird davon ausgegangen, dass derClient-Computer eine Adresse irgendwo im CIDR-Bereich 203.0.113.0 / 24 hat.

Sie können zunächst bestätigen, dass Ihre öffentliche Adresse in den CIDR-Bereich 203.0.113.0/24 fällt.

$ curl https://checkip.amazonaws.com203.0.113.57

Mit diesen Informationen können Sie den Bereich zur Sicherheitsgruppe hinzufügen, indem Sie den Befehlauthorize-security-group-ingress ausführen.

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 3389 --cidr 203.0.113.0/24

Der folgende Befehl fügt eine weitere Regel hinzu, um SSH-Instances in derselben Sicherheitsgruppe zuaktivieren.

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22 --cidr 203.0.113.0/24

Zum Anzeigen der Änderungen der Sicherheitsgruppe führen Sie den Befehl describe-security-groups aus.

$ aws ec2 describe-security-groups --group-ids sg-903004f8{ "SecurityGroups": [ { "IpPermissionsEgress": [ { "IpProtocol": "-1", "IpRanges": [ { "CidrIp": "0.0.0.0/0" } ], "UserIdGroupPairs": [] } ], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "203.0.113.0/24" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

141

Page 147: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon EC2-Sicherheitsgruppen

EC2-Classic

Der folgende Befehl fügt der EC2-Classic-Sicherheitsgruppe eine Regel für RDP hinzu: Meine-Sg.

$ aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 3389 --cidr 203.0.113.0/24

Mit diesem Befehl fügen Sie eine weitere Regel für SSH zur selben Sicherheitsgruppe hinzu.

$ aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 22 --cidr 203.0.113.0/24

Zum Anzeigen der Änderungen der Sicherheitsgruppe führen Sie den Befehl describe-security-groups aus.

$ aws ec2 describe-security-groups --group-names my-sg{ "SecurityGroups": [ { "IpPermissionsEgress": [], "Description": "My security group" "IpPermissions": [ { "ToPort": 22, "IpProtocol": "tcp", "IpRanges": [ { "CidrIp": "203.0.113.0/24" } ] "UserIdGroupPairs": [], "FromPort": 22 } ], "GroupName": "my-sg", "OwnerId": "123456789012", "GroupId": "sg-903004f8" } ]}

Löschen Ihrer SicherheitsgruppeZum Löschen einer Sicherheitsgruppe führen Sie den Befehl delete-security-group aus.

Note

Sie können eine Sicherheitsgruppe nicht löschen, wenn sie aktuell an eine Umgebung angefügtist.

EC2-VPC

Der folgende Befehl löscht die EC2-VPC-Sicherheitsgruppe.

$ aws ec2 delete-security-group --group-id sg-903004f8

EC2-Classic

Der folgende Befehl löscht die EC2-Classic-Sicherheitsgruppe mit Namen my-sg:

142

Page 148: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEC2-Instances

$ aws ec2 delete-security-group --group-name my-sg

Starten, Auflisten und Beenden von Amazon EC2-InstancesSie können mit der AWS Command Line Interface (AWS CLI) Amazon Elastic Compute Cloud (AmazonEC2)-Instances starten, auflisten und beenden. Wenn Sie eine Instance starten, die nicht im kostenlosenAWS-Kontingent enthalten ist, fallen für diese Instance nach dem Start Gebühren an. Ihnen wird die Zeitberechnet, die die Instance ausgeführt wird, auch wenn diese nicht genutzt wird.

Themen• Prerequisites (p. 143)• Starten Ihrer Instance (p. 143)• Hinzufügen eines Blockgeräts zu Ihrer Instance (p. 146)• Hinzufügen eines Tags zu Ihrer Instance (p. 147)• Herstellen einer Verbindung zu Ihrer Instance (p. 147)• Auflisten von Instances (p. 147)• Beenden Ihrer Instance (p. 148)

PrerequisitesSo führen Sie die aus ec2 müssen Sie:

• Installieren und konfigurieren Sie die AWS CLI. Weitere Informationen finden Sie unter Installieren vonAWS CLI (p. 4) und Konfigurationsgrundlagen (p. 44).

• Stellen Sie Ihre IAM Berechtigungen, um Amazon EC2 auf zugreifen. Weitere Informationen überIAM Berechtigungen für Amazon EC2, siehe IAM-Richtlinien für Amazon EC2 in der Amazon EC2-Benutzerhandbuch für Linux-Instances.

• Erstellte eine Schlüsselpaar (p. 136) und eine Sicherheitsgruppe (p. 138).• Sie haben ein Amazon Machine Image (AMI) ausgewählt und die AMI-ID notiert. Weitere Informationen

erhalten Sie im Thema Suchen eines geeigneten AMI im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Starten Ihrer InstanceZum Starten einer Amazon EC2-Instance mithilfe des AMI, das Sie ausgewählt haben, verwenden Sie denBefehl run-instances. Sie können die Instance in einer Virtual Private Cloud (VPC), oder sofern von IhremKonto unterstützt, in EC2-Classic starten.

Die Instance weist zu Beginn den Status pending auf. Sie wechselt aber nach wenigen Minuten in denStatus running.

EC2-VPC

Im folgenden Beispiel wird gezeigt, wie eine t2.micro-Instance im angegebenen Subnetz einer VPCgestartet wird. Ersetzen der italicized Parameterwerte mit Ihrem eigenen.

$ aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e{

143

Page 149: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEC2-Instances

"OwnerId": "123456789012", "ReservationId": "r-5875ca20", "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "Platform": "windows", "State": { "Code": 0, "Name": "pending" }, "EbsOptimized": false, "LaunchTime": "2013-07-19T02:42:39.000Z", "PrivateIpAddress": "10.0.1.114", "ProductCodes": [], "VpcId": "vpc-1a2b3c4d", "InstanceId": "i-5203422c", "ImageId": "ami-173d747e", "PrivateDnsName": ip-10-0-1-114.ec2.internal, "KeyName": "MyKeyPair", "SecurityGroups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "ClientToken": null, "SubnetId": "subnet-6e7f829e", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "Status": "in-use", "SourceDestCheck": true, "VpcId": "vpc-1a2b3c4d", "Description": "Primary network interface", "NetworkInterfaceId": "eni-a7edb1c9", "PrivateIpAddresses": [ { "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "Primary": true, "PrivateIpAddress": "10.0.1.114" } ], "PrivateDnsName": "ip-10-0-1-114.ec2.internal", "Attachment": { "Status": "attached", "DeviceIndex": 0, "DeleteOnTermination": true, "AttachmentId": "eni-attach-52193138", "AttachTime": "2013-07-19T02:42:39.000Z" }, "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "SubnetId": "subnet-6e7f829e",

144

Page 150: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEC2-Instances

"OwnerId": "123456789012", "PrivateIpAddress": "10.0.1.114" } ], "SourceDestCheck": true, "Placement": { "Tenancy": "default", "GroupName": null, "AvailabilityZone": "us-west-2b" }, "Hypervisor": "xen", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": true, "VolumeId": "vol-877166c8", "AttachTime": "2013-07-19T02:42:39.000Z" } } ], "Architecture": "x86_64", "StateReason": { "Message": "pending", "Code": "pending" }, "RootDeviceName": "/dev/sda1", "VirtualizationType": "hvm", "RootDeviceType": "ebs", "Tags": [ { "Value": "MyInstance", "Key": "Name" } ], "AmiLaunchIndex": 0 } ]}

EC2-Classic

Wenn Ihr Konto dies unterstützt, können Sie den folgenden Befehl zum Starten einer t1.micro-Instancein EC2-Classic verwenden. Ersetzen der italicized Parameterwerte mit Ihrem eigenen.

$ aws ec2 run-instances --image-id ami-173d747e --count 1 --instance-type t1.micro --key-name MyKeyPair --security-groups my-sg{ "OwnerId": "123456789012", "ReservationId": "r-5875ca20", "Groups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "Platform": "windows",

145

Page 151: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEC2-Instances

"State": { "Code": 0, "Name": "pending" }, "EbsOptimized": false, "LaunchTime": "2013-07-19T02:42:39.000Z", "ProductCodes": [], "InstanceId": "i-5203422c", "ImageId": "ami-173d747e", "PrivateDnsName": null, "KeyName": "MyKeyPair", "SecurityGroups": [ { "GroupName": "my-sg", "GroupId": "sg-903004f8" } ], "ClientToken": null, "InstanceType": "t1.micro", "NetworkInterfaces": [], "Placement": { "Tenancy": "default", "GroupName": null, "AvailabilityZone": "us-west-2b" }, "Hypervisor": "xen", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": true, "VolumeId": "vol-877166c8", "AttachTime": "2013-07-19T02:42:39.000Z" } } ], "Architecture": "x86_64", "StateReason": { "Message": "pending", "Code": "pending" }, "RootDeviceName": "/dev/sda1", "VirtualizationType": "hvm", "RootDeviceType": "ebs", "Tags": [ { "Value": "MyInstance", "Key": "Name" } ], "AmiLaunchIndex": 0 } ]}

Hinzufügen eines Blockgeräts zu Ihrer InstanceJede gestartete Instance hat einen zugehörigen Root-Gerät-Datenträger. Sie können mit der Blockgerät-Zuweisung zusätzliche Amazon Elastic Block Store (Amazon EBS)-Volumes oder Instance-Speicher-Volumes an eine Instance anfügen, wenn diese gestartet wird.

Zum Hinzufügen eines Blockgeräts zu Ihrer Instance geben Sie die Option --block-device-mappingsan, wenn Sie run-instances verwenden.

146

Page 152: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchEC2-Instances

Der folgende Beispielparameter stellt ein Standard-Amazon EBS-Volume von 20 GB bereit und ordnetdieses mit der ID /dev/sdf Ihrer Instance zu.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false}}]"

Im folgenden Beispiel wird ein Amazon EBS-Volume hinzugefügt, das /dev/sdf zugeordnet ist, basierendauf einem vorhandenen Snapshot. Ein Snapshot stellt ein Abbild dar, das für Sie in das Volume geladenwurde. Wenn Sie einen Snapshot angeben, müssen Sie keine Volume-Größe angeben; es wird großgenug für Ihr Abbild sein. Wenn Sie aber einen Größenwert angeben, muss dieser größer oder gleich derSnapshot-Größe sein.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-a1b2c3d4\"}}]"

Im folgenden Beispiel werden zwei Volumes zu Ihrer Instance hinzugefügt. Die Anzahl der Volumes, die fürIhre Instance verfügbar sind, hängen vom Instance-Typ ab.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"

Das folgende Beispiel erstellt die Zuweisung (/dev/sdj), stellt aber kein Volume für die Instance bereit.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"

Weitere Informationen finden Sie im Abschnitt Blockgerät-Zuweisung im Amazon EC2-Benutzerhandbuchfür Linux-Instances.

Hinzufügen eines Tags zu Ihrer InstanceEin Tag ist eine Markierung, die Sie einer AWS-Ressource zuordnen. Damit können Sie Metadaten zuRessourcen hinzufügen, die Sie für eine Vielzahl von Zwecken einsetzen können. Weitere Informationenfinden Sie unter Markieren von Ressourcen im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Das folgende Beispiel zeigt, wie Sie ein Tag mit dem Schlüsselnamen „Name“ und den Wert „MyInstance“zur angegebenen Instance hinzufügen, in dem Sie den Befehl create-tags verwenden.

$ aws ec2 create-tags --resources i-5203422c --tags Key=Name,Value=MyInstance

Herstellen einer Verbindung zu Ihrer InstanceWenn die Instance ausgeführt wird, können Sie eine Verbindung mit ihr herstellen und sie genau soverwenden wie einen Computer, der sich direkt vor Ihnen befindet. Weitere Informationen finden Sie unterHerstellen einer Verbindung zur Amazon EC2-Instance im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Auflisten von InstancesSie können Ihre Instances mit der AWS CLI auflisten und Informationen über sie ansehen. Sie können alleIhre Instances auflisten oder die Ergebnisse auf der Grundlage der Instances, die für Sie von Interessesind, filtern.

Die folgenden Beispiele zeigen, wie der Befehl describe-instances verwendet wird.

Der folgende Befehl filtert die Liste nur nach Ihren t2.micro-Instances und gibt nur die InstanceId-Werte für die einzelnen Übereinstimmungen aus.

147

Page 153: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchS3 Glacier

$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"[ "i-05e998023d9c69f9a"]

Der folgende Befehl listet alle Ihre Instances mit dem Tag Name=MyInstance auf.

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"

Der folgende Befehl listet Ihre Instances auf, die mit einer der folgenden AMIs: ami-x0123456, , und Siehaben die Möglichkeit ami-y0123456, und ami-z0123456.

$ aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"

Beenden Ihrer InstanceDas Beenden einer Instance löscht diese. Sie können mit einer Instance keine Verbindung mehr herstellen,nachdem Sie sie beendet haben.

Sobald der Status der Instance zu shutting-down oder terminated wechselt, fallen für diese Instancekeine Gebühren mehr an. Wenn Sie die Verbindung zu einer Instance später erneut herstellen möchten,verwenden Sie Instances beenden anstatt der terminate-instances. (z. B.. Weitere Informationenfinden Sie unter Beenden Ihrer Instance in der Amazon EC2-Benutzerhandbuch für Linux-Instances.

Wenn Sie eine Instance beenden, können Sie sie mit dem Befehl terminate-instances löschen.

$ aws ec2 terminate-instances --instance-ids i-5203422c{ "TerminatingInstances": [ { "InstanceId": "i-5203422c", "CurrentState": { "Code": 32, "Name": "shutting-down" }, "PreviousState": { "Code": 16, "Name": "running" } } ]}

Verwenden von Amazon S3 Glacier mit AWS CLISie können auf die Funktionen von zugreifen Amazon S3 Glacier Verwendung der AWS Command LineInterface ( ( (AWS CLI). Um die AWS CLI Befehle für S3 Glacierverwenden Sie den folgenden Befehl.

aws glacier help

Dieses Thema zeigt Beispiele für AWS CLI Befehle, die allgemeine Aufgaben für S3 Glacier. Die Beispielezeigen, wie man die AWS CLI um eine große Datei hochzuladen in S3 Glacier indem sie in kleinere Teileaufteilen und sie aus der Befehlszeile hochladen.

148

Page 154: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchErstellen eines Amazon S3 Glacier-Tresors

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Note

Dieses Tutorial verwendet mehrere Befehlszeilentools, die normalerweise auf Unix-ähnlichenBetriebssystemen vorinstalliert sind, einschließlich Linux und macOS. Windows-Benutzerkönnen die gleichen Tools verwenden, indem sie Cygwin und die Befehle vom Cygwin-Terminalausführen. Wir geben systemeigene Windows-Befehle und -Hilfsprogramme an, die die gleichenFunktionen ausführen, sofern verfügbar.

Themen• Erstellen eines Amazon S3 Glacier-Tresors (p. 149)• Vorbereiten einer Datei zum Hochladen (p. 149)• Starten eines mehrteiligen Uploads und Hochladen der Dateien (p. 150)• Abschließen des Uploads (p. 151)

Erstellen eines Amazon S3 Glacier-TresorsErstellen Sie einen Tresor mit create-vault Befehl.

$ aws glacier create-vault --account-id - --vault-name myvault{ "location": "/123456789012/vaults/myvault"}

Note

Alle S3 Glacier-Befehle erfordern einen Konto-ID-Parameter. Verwenden Sie den Bindestrich (--account-id -), um das aktuelle Konto zu verwenden.

Vorbereiten einer Datei zum HochladenErstellen Sie eine Datei für einen Probe-Upload. Die folgenden Befehle erstellen eine Datei largefile diegenau 3 Mib von zufälligen Daten enthalten.

Linux oder macOS

$ dd if=/dev/urandom of=largefile bs=3145728 count=11+0 records in1+0 records out3145728 bytes (3.1 MB) copied, 0.205813 s, 15.3 MB/s

dd ist ein Hilfsprogramm, das eine Anzahl von Bytes aus einer Eingabedatei in eine Ausgabedatei kopiert.Das vorherige Beispiel verwendet die Systemgerätedatei /dev/urandom als Quelle von zufälligen Daten.fsutil führt eine ähnliche Funktion in Windows aus:

Windows:

C:\> fsutil file createnew largefile 3145728File C:\temp\largefile is created

Teilen Sie als Nächstes die Datei in 1-MiB-Blöcke (1 048 576 Byte) auf.

149

Page 155: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchStarten eines mehrteiligen Uploads

und Hochladen der Dateien

$ split --bytes=1048576 --verbose largefile chunkcreating file `chunkaa'creating file `chunkab'creating file `chunkac'

Note

HJ-Split ist ein freier Dateisplitter für Windows und viele andere Plattformen.

Starten eines mehrteiligen Uploads und Hochladen derDateienEin Multipart-Upload erstellen in Amazon S3 Glacier indem Sie die initiate-multipart-uploadBefehl.

$ aws glacier initiate-multipart-upload --account-id - --archive-description "multipart upload test" --part-size 1048576 --vault-name myvault{ "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", "location": "/123456789012/vaults/myvault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"}

S3 Glacier benötigt die Größe jedes Teils in Byte (in diesem Beispiel 1 MiB), Ihren Tresornamen und dieKonto-ID, um den mehrteiligen Upload zu konfigurieren. Die AWS CLI gibt eine Upload-ID aus, wenn derVorgang abgeschlossen ist. Speichern Sie diese zur späteren Verwendung in einer Shell-Variablen:

Linux oder macOS

$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"

Windows:

C:\> set UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"

Verwenden Sie als Nächstes den Befehl upload-multipart-part, um die drei Teile hochzuladen.

$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkaa --range 'bytes 0-1048575/*' --account-id - --vault-name myvault{ "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"}$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkab --range 'bytes 1048576-2097151/*' --account-id - --vault-name myvault{ "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"}$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkac --range 'bytes 2097152-3145727/*' --account-id - --vault-name myvault{ "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"}

150

Page 156: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAbschließen des Uploads

Note

Das vorherige Beispiel verwendet das Dollarzeichen ($), um den Inhalt der UPLOADID Shell-Variable auf Linux. Verwenden Sie in der Windows-Befehlszeile ein Prozentzeichen (%) aufbeiden Seiten des Variablennamens (z. B. ).%UPLOADID%).

Sie müssen den Byte-Bereich für jeden einzelnen Teil angeben, wenn Sie diese hochladen, damitS3 Glacier die Teile in der richtigen Reihenfolge wieder zusammensetzen kann. Jeder Teil hat1 048 576 Bytes. Der erste Teil belegt somit Byte 0–1 048 575, der zweite 1 048 576–2 097 151 und derdritte 2 097 152–3 145 727.

Abschließen des UploadsAmazon S3 Glacier benötigt einen Struktur-Hash der ursprünglichen Datei, um zu bestätigen, dass allehochgeladenen Teile AWS vollständig erreicht haben.

Berechnen Sie den Struktur-Hash, indem Sie die Datei in 1-MiB-Blöcke aufteilen und einen binärenSHA-256-Hash für jeden einzelnen Teil berechnen. Dann teilen Sie die Liste der Hashes in Paare auf.Sie kombinieren die beiden binären Hashes in jedem Paar und ermitteln die Hashes der Ergebnisse.Wiederholen Sie diesen Prozess, bis nur ein Hash übrig ist. Wenn es auf einer beliebigen Ebene eineungerade Anzahl von Hashes gibt, verschieben sie diese auf die nächste Ebene, ohne sie zu bearbeiten.

Das Wichtigste bei der korrekten Berechnung von einem Struktur-Hash unter Verwendung vonBefehlszeilen-Hilfsprogrammen ist, den jeweiligen Hash im Binärformat zu speichern und erst im letztenSchritt in einen Hexadezimalwert zu konvertieren. Wenn Sie eine Hexadezimalversion von einembeliebigen Hash in der Struktur kombinieren oder hashen, erhalten Sie ein falsches Ergebnis.

Note

Windows-Benutzer können die type Befehl anstelle cat. openssl ist für Windows verfügbar unteropenssl.org.

So berechnen Sie einen Struktur-Hash

1. Falls noch nicht geschehen, teilen Sie die Originaldatei in 1-MiB-Teile auf.

$ split --bytes=1048576 --verbose largefile chunkcreating file `chunkaa'creating file `chunkab'creating file `chunkac'

2. Berechnen und speichern Sie den binären SHA-256-Hash von jedem Block.

$ openssl dgst -sha256 -binary chunkaa > hash1$ openssl dgst -sha256 -binary chunkab > hash2$ openssl dgst -sha256 -binary chunkac > hash3

3. Kombinieren Sie die ersten beiden Hashes und ermitteln Sie den binären Hash des Ergebnisses.

$ cat hash1 hash2 > hash12$ openssl dgst -sha256 -binary hash12 > hash12hash

4. Die übergeordnete Hash von Blöcken kombinieren aa und ab mit der Rautetaste ac und Hash dasErgebnis, das die Hexadezimalzahl ausgibt. Speichern Sie das Ergebnis in einer Shell-Variablen.

$ cat hash12hash hash3 > hash123$ openssl dgst -sha256 hash123SHA256(hash123)= 9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67$ TREEHASH=9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67

151

Page 157: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchIAM

Schließen Sie den Upload mit dem Befehl complete-multipart-upload ab. Dieser Befehl akzeptiertdie Größe der ursprünglichen Datei in Bytes, den endgültigen Hash-Wert in Hexadezimalformat und IhreKonto-ID sowie den Tresornamen.

$ aws glacier complete-multipart-upload --checksum $TREEHASH --archive-size 3145728 --upload-id $UPLOADID --account-id - --vault-name myvault{ "archiveId": "d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg", "checksum": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67", "location": "/123456789012/vaults/myvault/archives/d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"}

Sie können auch den Status des Tresors mithilfe des Befehls describe-vault überprüfen.

$ aws glacier describe-vault --account-id - --vault-name myvault{ "SizeInBytes": 3178496, "VaultARN": "arn:aws:glacier:us-west-2:123456789012:vaults/myvault", "LastInventoryDate": "2018-12-07T00:26:19.028Z", "NumberOfArchives": 1, "CreationDate": "2018-12-06T21:23:45.708Z", "VaultName": "myvault"}

Note

Der Vault-Status wird etwa einmal pro Tag aktualisiert. Siehe Arbeiten mit Vaults für weitereInformationen.

Sie können jetzt die von Ihnen erstellten Chunk- und Hash-Dateien entfernen.

$ rm chunk* hash*

Weitere Informationen zu Mehrteiligen Uploads finden Sie unter Hochladen großer Archive in Teilen undRechnungsprüfungssummen im Amazon S3 Glacier Entwicklerhandbuch.

Mit AWS Identity and Access Management von derAWS CLI

Sie können auf die Funktionen von zugreifen AWS Identity and Access Management ( ( (IAM) ìïnpüûtthèé AWS Command Line Interface ( ( (AWS CLI). Um die AWS CLI Befehle für IAMverwenden Sie denfolgenden Befehl.

aws iam help

Dieses Thema zeigt Beispiele für AWS CLI Befehle, die allgemeine Aufgaben für IAM.

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Weitere Informationen zum IAM-Service finden Sie im AWS Identity and Access ManagementBenutzerhandbuch.

152

Page 158: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchErstellen von IAM-Benutzern und -Gruppen

Themen• Erstellen von IAM-Benutzern und -Gruppen (p. 153)• Anbringen eines IAM Richtlinie zu einem IAM Benutzer (p. 154)• Festlegen eines Anfangspassworts für einen IAM-Benutzer (p. 155)• Erstellen eines Zugriffsschlüssels für einen IAM-Benutzer (p. 155)

Erstellen von IAM-Benutzern und -GruppenDieser Abschnitt beschreibt die Verwendung AWS Command Line Interface ( ( (AWS CLI) Befehle zumErstellen eines AWS Identity and Access Management ( ( (IAM) nêèmêèrnêès áænd å IAM Benutzer undfügen Sie den Benutzer dann zur Gruppe hinzu. Weitere Informationen zum IAM-Service finden Sie imAWS Identity and Access Management Benutzerhandbuch.

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

So erstellen Sie eine IAM Gruppe und fügen Sie eine neue IAM Benutzer dazu

1. Verwenden Sie die create-group , um die Gruppe zu erstellen.

$ aws iam create-group --group-name MyIamGroup{ "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52.834Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" }}

2. Verwenden Sie die create-user , um den Benutzer zu erstellen.

$ aws iam create-user --user-name MyUser{ "User": { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02.581Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" }}

3. Verwenden Sie die add-user-to-group , um den Benutzer zur Gruppe hinzuzufügen.

$ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup

4. Um sicherzustellen, dass die MyIamGroup Gruppe enthält die MyUser, verwenden Sie get-groupBefehl.

$ aws iam get-group --group-name MyIamGroup{ "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE",

153

Page 159: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAnbringen eines IAM Richtlinie zu einem IAM Benutzer

"Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" }, "Users": [ { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" } ], "IsTruncated": "false"}

Anbringen eines IAM Richtlinie zu einem IAM BenutzerDieser Abschnitt beschreibt die Verwendung AWS Command Line Interface ( ( (AWS CLI) rêèmêèctìïõönstöö fü AWS Identity and Access Management ( ( (IAM) Richtlinie zu einem IAM Benutzer. Die Richtliniedieses Beispiels stattet den Benutzer mit "Hauptbenutzerberechtigungen" aus. Weitere Informationen zumIAM-Service finden Sie im AWS Identity and Access Management Benutzerhandbuch.

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Um eine IAM Richtlinie zu einem IAM Benutzer

1. Bestimmen Sie den Amazon-Ressourcennamen (ARN) der Richtlinie, die angehängt werden soll.Der folgende Befehl wird verwendet list-policies um den ARN der Richtlinie mit dem Namen zufinden PowerUserAccess. Dann speichert sie die ARN in einer Umgebung.

$ export POLICYARN=$(aws iam list-policies --query 'Policies[?PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text) ~$ echo $POLICYARNarn:aws:iam::aws:policy/PowerUserAccess

2. Um die Richtlinie anzuhängen, verwenden Sie die attach-user-policy und referenzieren Sie dieUmgebungsvariable, die Richtlinie ARN enthält.

$ aws iam attach-user-policy --user-name MyUser --policy-arn $POLICYARN

3. Stellen Sie sicher, dass die Richtlinie an den Benutzer angehängt wird, indem Sie den list-attached-user-policies Befehl.

$ aws iam list-attached-user-policies --user-name MyUser{ "AttachedPolicies": [ { "PolicyName": "PowerUserAccess", "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess" } ]}

Weitere Informationen finden Sie unter Zugriffsverwaltungsressourcen. Dieses Thema enthält Links zueiner Übersicht über Berechtigungen und Richtlinien und Links zu Beispielen für Richtlinien zum ZugriffAmazon S3, Amazon EC2, und andere Dienstleistungen.

154

Page 160: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchFestlegen eines Anfangspassworts für einen IAM-Benutzer

Festlegen eines Anfangspassworts für einen IAM-BenutzerDieser Abschnitt beschreibt die Verwendung AWS Command Line Interface ( ( (AWS CLI) Befehle, um einerstes Passwort für eine AWS Identity and Access Management( ( ( IAM) Benutzer. Weitere Informationenzum IAM-Service finden Sie im AWS Identity and Access Management Benutzerhandbuch.

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Der folgende Befehl wird verwendet erstellen-Sie-Anmeldeprofil um ein erstes Passwort auf demangegebenen Benutzer einzustellen. Wenn sich der Benutzer zum ersten Mal anmeldet, wird eraufgefordert, das Passwort in ein Passwort zu ändern, dass nur er kennt.

$ aws iam create-login-profile --user-name MyUser --password My!User1Login8P@ssword --password-reset-required{ "LoginProfile": { "UserName": "MyUser", "CreateDate": "2018-12-14T17:27:18Z", "PasswordResetRequired": true }}

Sie können die update-login-profile Befehl zum ändern das Passwort für eine IAM Benutzer.

$ aws iam update-login-profile --user-name MyUser --password My!User1ADifferentP@ssword

Erstellen eines Zugriffsschlüssels für einen IAM-BenutzerDieser Abschnitt beschreibt die Verwendung AWS Command Line Interface ( ( (AWS CLI) rèèmèéctóòrstöö crèéèè âà sêèt õõf kêêlêêr kêèys fóór AWS Identity and Access Management ( ( (IAM) Benutzer.Weitere Informationen zum IAM-Service finden Sie im Benutzerhandbuch für AWS Identity and AccessManagement.

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Sie können die create-access-key Befehl, um einen Zugriffsschlüssel für eine IAM Benutzer. EinZugriffsschlüssel ist ein Satz an Sicherheits-Anmeldeinformationen bestehend aus einer Zugriffsschlüssel-ID und einem geheimen Schlüssel.

Ein IAM-Benutzer kann gleichzeitig maximal zwei Zugriffsschlüssel erstellen. Wenn Sie versuchen, einendritten Satz zu erstellen, gibt der Befehl einen LimitExceeded-Fehler aus.

$ aws iam create-access-key --user-name MyUser{ "AccessKey": { "UserName": "MyUser", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "Status": "Active", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "CreateDate": "2018-12-14T17:34:16Z"

155

Page 161: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon S3

}}

Verwenden Sie die delete-access-key Befehl zum Löschen eines Zugriffsschlüssels für einen IAMBenutzer. Geben Sie mit der Zugriffsschlüssel-ID an, welcher Zugriffsschlüssel gelöscht werden soll.

$ aws iam delete-access-key --user-name MyUser --access-key-id AKIAIOSFODNN7EXAMPLE

Verwenden von Amazon S3 mit AWS CLISie können auf die Funktionen von zugreifen Amazon Simple Storage Service ( ( (Amazon S3) ìïnpüût thèéAWS Command Line Interface ( ( (AWS CLI).

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurationsgrundlagen (p. 44).

Die AWS CLI bietet zwei Befehlsebenen für den Zugriff auf .Amazon S3:

• Die s3 Ebene besteht aus Befehlen auf hoher Ebene, die Ausführung gemeinsamer Aufgabenvereinfachen, wie z. B. das Erstellen, Bearbeiten und Löschen von Objekten und Buckets.

• Die s3api Tier verhält sich an andere AWS Services, indem sie direkten Zugriff auf alle Amazon S3 API-Operationen. Sie können damit erweiterte Vorgänge ausführen, die u. U. nicht möglich sind, wenn Sieausschließlich High-Level-Befehle der folgenden Ebene verwenden.

Um eine Liste aller Befehle zu erhalten, die in jeder Stufe verfügbar sind, verwenden Sie die helpArgument mit dem aws s3api oder aws s3 Befehle.

$ aws s3 help

$ aws s3api help

Note

Die AWS CLI unterstützt das Kopieren, Verschieben und Synchronisieren von Amazon S3 bisAmazon S3 Verwendung der serverseitig COPY Betrieb bereitgestellt von Amazon S3. Dasbedeutet, dass Ihre Dateien in der Cloud gespeichert werden, und nicht auf die Client-Maschineheruntergeladen und dann wieder Amazon S3.Wenn Vorgänge wie diese vollständig in der Cloud ausgeführt werden können, wird nur dieBandbreite genutzt, die für die HTTP-Anforderung und die Antwort erforderlich ist.

Themen• Verwendung von High-Level-Befehlen (s3) mit AWS CLI (p. 156)• Verwendung von API-Level (s3api)-Befehlen mit AWS CLI (p. 165)

Verwendung von High-Level-Befehlen (s3) mit AWSCLIDieser Abschnitt beschreibt, wie Sie Amazon S3 und Objekte unter Verwendung der aws s3 Befehle imAWS CLI.

156

Page 162: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

Die hohe Ebene aws s3 Befehle vereinfachen die Verwaltung Amazon S3 Objekte. Diese Befehleermöglichen Ihnen, den Inhalt von Amazon S3 und mit lokalen Verzeichnissen.

Note

Wenn Sie aws s3 Befehle zum Hochladen großer Objekte in eine Amazon S3 Eimer, der AWSCLI führt automatisch einen Mehrteiligen Upload durch. Sie können beim Verwenden dieser Dateinicht einen fehlgeschlagenen Upload fortsetzen aws s3 Befehle.Wenn der Multipart-Upload aufgrund einer Zeitüberschreitung fehlschlägt oder wenn Sie manuellim AWS CLI, die AWS CLI beendet die Upload- und bereinigt Dateien, die erstellt wurden. DieserVorgang kann einige Minuten dauern.Wenn das Mehrteilige Upload- oder Cleanup-Verfahren durch einen Kill-Befehl oder Systemfehlerabgebrochen wird, bleiben die erstellten Dateien im Amazon S3 Bucket. Um den MehrteiligenUpload zu entfernen, verwenden Sie die s3api abbrechen-Multipart-Upload Befehl.Weitere Informationen finden Sie unter Mehrteilige Upload-Übersicht im Entwicklerhandbuch fürAmazon Simple Storage Service.

Themen• Prerequisites (p. 157)• Bucket erstellen (p. 157)• Listen und Objekte auflisten (p. 158)• Buckets löschen (p. 158)• Objekte löschen (p. 159)• Verschieben von Objekten (p. 159)• Objekte kopieren (p. 160)• Objekte synchronisieren (p. 161)• Häufig verwendete Optionen für s3-Befehle (p. 162)• References (p. 164)

PrerequisitesSo führen Sie die s3 Befehle, müssen Sie:

• Installieren und Konfigurieren der AWS CLI. Weitere Informationen erhalten Sie unter Installieren vonAWS CLI (p. 4) undKonfigurationsgrundlagen (p. 44).

• Diese verstehen Amazon S3 Begriffe:• Bucket – Eine oberste Ebene Amazon S3 Ordner.• Präfix – Ein Amazon S3 Ordner in einem Bucket.• Objekt – Alle Artikel, die in einer Amazon S3 Bucket.

Bucket erstellenVerwenden Sie die s3 mb Befehl, um einen Bucket zu erstellen. Bucket-Namen müssen weltweit globaleinzigartig (einzigartig über alle Amazon S3) und sollte DNS-konform sein.

Bucket-Namen können Kleinbuchstaben, Zahlen, Bindestriche und Punkte enthalten. Bucket-Namenkönnen nur mit einem Buchstaben oder einer Zahl beginnen und enden. Ein Punkt neben einemBindestrich oder einem weiteren Punkt ist unzulässig.

Syntax: .

$ aws s3 mb <target> [--options]

157

Page 163: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

s3 MB Beispiele

Das folgende Beispiel erstellt das s3://bucket-name Bucket.

$ aws s3 mb s3://bucket-name

Listen und Objekte auflistenUm Ihre Buckets, Ordner oder Objekte aufzulisten, verwenden Sie die s3 ls Befehl. Die Verwendung desBefehls ohne ein Ziel oder eine Option führt alle Buckets auf.

Syntax: .

$ aws s3 ls <target> [--options]

Für einige allgemeine Optionen, die mit diesem Befehl verwendet werden können, und Beispiele Häufigverwendete Optionen für s3-Befehle (p. 162). Eine vollständige Liste der verfügbaren Optionen finden Sieunter s3 ls im AWS CLI Command Reference.

s3 ls Beispiele

Im folgenden Beispiel sind alle Ihre Amazon S3 Eimer.

$ aws s3 ls2018-12-11 17:08:50 my-bucket2018-12-14 14:55:44 my-bucket2

Der folgende Befehl führt alle Objekte und Präfixe in einem Bucket auf. In diesem Beispiel wird das Präfixexample/ hat eine Datei benannt MyFile1.txt.

$ aws s3 ls s3://bucket-name PRE example/2018-12-04 19:05:48 3 MyFile1.txt

Sie können die Ausgabe nach einem bestimmten Präfix filtern, indem Sie das Präfix in den Befehleinschließen. Der folgende Befehl enthält die Objekte in bucket-name/example/ (d. h. Objekte inbucket-name durch das Präfix gefiltert example/).

$ aws s3 ls s3://bucket-name/example/2018-12-06 18:59:32 3 MyFile1.txt

Buckets löschenUm einen Bucket zu löschen, verwenden Sie die s3 rb Befehl.

Syntax: .

$ aws s3 rb <target> [--options]

s3 rb Beispiele

Das folgende Beispiel entfernt das s3://bucket-name Bucket.

$ aws s3 rb s3://bucket-name

158

Page 164: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

Standardmäßig muss der Bucket leer sein, damit der Vorgang erfolgreich ist. Um einen Bucket zuentfernen, der nicht leer ist, müssen Sie den --force Option. Wenn Sie einen versionierten Bucketverwenden, der zuvor gelöscht wurde—aber beibehalten—Objekte, diesen Befehl nicht ermöglicht Ihnen,den Bucket zu entfernen. Sie müssen zunächst alle Inhalte zu entfernen.

Das folgende Beispiel löscht alle Objekte und Präfixe im Bucket und löscht dann den Bucket.

$ aws s3 rb s3://bucket-name --force

Objekte löschenUm Objekte in einem Bucket oder in Ihrem lokalen Verzeichnis zu löschen, verwenden Sie die s3 rmBefehl.

Syntax: .

$ aws s3 rm <target> [--options]

Für einige allgemeine Optionen, die mit diesem Befehl verwendet werden können, und Beispiele Häufigverwendete Optionen für s3-Befehle (p. 162). Eine vollständige Liste der Optionen finden Sie unter s3rm im AWS CLI Command Reference.

s3 rm Beispiele

Das folgende Beispiel löscht alle Objekte aus s3://bucket-name/example.

$ aws s3 rm s3://bucket-name/example

Verschieben von ObjektenVerwenden Sie die s3 mv , um Objekte aus einem Bucket oder einem lokalen Verzeichnis zu verschieben.

Syntax: .

$ aws s3 mv <source> <target> [--options]

Für einige allgemeine Optionen, die mit diesem Befehl verwendet werden können, und Beispiele Häufigverwendete Optionen für s3-Befehle (p. 162). Eine vollständige Liste der verfügbaren Optionen finden Sieunter s3 mv im AWS CLI Command Reference.

s3 mv Beispiele

Das folgende Beispiel bewegt alle Objekte aus s3://bucket-name/example bis s3://my-bucket/.

$ aws s3 mv s3://bucket-name/example s3://my-bucket/

Im folgenden Beispiel wird eine lokale Datei aus Ihrem aktuellen Arbeitsverzeichnis zum Amazon S3Bucket mit s3 cp Befehl.

$ aws s3 mv filename.txt s3://bucket-name

Das folgende Beispiel bewegt eine Datei aus Ihrem Amazon S3 Bucket zu Ihrem aktuellenArbeitsverzeichnis, wo ./ gibt Ihr aktuelles Arbeitsverzeichnis an.

159

Page 165: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

$ aws s3 mv s3://bucket-name/filename.txt ./

Objekte kopierenVerwenden Sie die s3 cp Befehl zum Kopieren von Objekten aus einem Bucket oder einem lokalenVerzeichnis.

Syntax: .

$ aws s3 cp <source> <target> [--options]

Sie können den Armaturenparameter für die Dateiübertragung zum Standard-Eingang verwenden (stdin)óör stáændâârd óöýútpýút (stdout).

Warning

Wenn Sie Powershell verwenden, kann das Gehäuse die Codierung eines CRLF ändern odereinen CRLF hinzufügen, um ein- oder auszulösen oder die Ausgabe zu übertragen.

Die s3 cp Befehl verwendet die folgende Syntax zum Hochladen eines Dateistreams aus stdin zu einemfestgelegten Bucket.

Syntax: .

$ aws s3 cp - <target> [--options]

Die s3 cp Befehl verwendet die folgende Syntax zum Herunterladen eines Amazon S3 Dateistream fürstdout.

Syntax: .

$ aws s3 cp <target> [--options] -

Für einige allgemeine Optionen, die mit diesem Befehl verwendet werden können, und Beispiele Häufigverwendete Optionen für s3-Befehle (p. 162). Die vollständige Liste der Optionen finden Sie unter s3 cpim AWS CLI Command Reference.

s3 cp Beispiele

Im folgenden Beispiel werden alle Objekte von kopiert s3://bucket-name/example bis s3://my-bucket/.

$ aws s3 cp s3://bucket-name/example s3://my-bucket/

Das folgende Beispiel kopiert eine lokale Datei aus Ihrem aktuellen Arbeitsverzeichnis zum Amazon S3Bucket mit s3 cp Befehl.

$ aws s3 cp filename.txt s3://bucket-name

Das folgende Beispiel kopiert eine Datei aus Ihrem Amazon S3 Bucket zu Ihrem aktuellenArbeitsverzeichnis, wo ./ gibt Ihr aktuelles Arbeitsverzeichnis an.

$ aws s3 cp s3://bucket-name/filename.txt ./

160

Page 166: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

Im folgenden Beispiel wird der Cat Text Editor verwendet, um den Text „hello world“ auf das s3://bucket-name/filename.txt Datei.

$ cat "hello world" | aws s3 cp - s3://bucket-name/filename.txt

Das folgende Beispiel liefert die s3://bucket-name/filename.txt Datei zu stdout und druckt denInhalt auf die Konsole.

$ aws s3 cp s3://bucket-name/filename.txt -hello world

Das folgende Beispiel liefert den Inhalt von s3://bucket-name/pre bis stdout, verwendet die bzip2Befehl zum Komprimieren der Dateien und Hochladen der neuen komprimierten Datei key.bz2 bis s3://bucket-name.

$ aws s3 cp s3://bucket-name/pre - | bzip2 --best | aws s3 cp - s3://bucket-name/key.bz2

Objekte synchronisierenDie s3 sync Befehl synchronisiert den Inhalt eines Buckets und eines Verzeichnisses oder den Inhaltzweier Buckets. Typischerweise, s3 sync kopiert fehlende oder veraltete Dateien oder Objekte zwischenQuelle und Ziel. Sie können aber auch die Option --delete hinzufügen, um Dateien oder Objekte, dienicht in der Quelldatei vorhanden sind, aus dem Ziel zu entfernen.

Syntax: .

$ aws s3 sync <source> <target> [--options]

Für einige allgemeine Optionen, die mit diesem Befehl verwendet werden können, und Beispiele Häufigverwendete Optionen für s3-Befehle (p. 162). Eine vollständige Liste der Optionen finden Sie unter s3sync im AWS CLI Command Reference.

s3 Synchronisierungsbeispiele

Im folgenden Beispiel wird die Inhalte eines Amazon S3 Präfix benannt Pfad im Bucket benannt Mein-Bucket mit dem aktuellen Arbeitsverzeichnis.

s3 sync aktualisiert Dateien, die eine Größe oder eine geänderte Zeit aufweisen, die sich von Dateienmit dem gleichen Namen am Ziel unterscheiden. Die Ausgabe enthält bestimmte Vorgänge, die währendder Synchronisierung ausgeführt wurden. Beachten Sie, dass der Vorgang das Unterverzeichnis rekursivsynchronisiert MySubdirectory und deren Inhalt mit s3://my-bucket/path/MySubdirectory.

$ aws s3 sync . s3://my-bucket/pathupload: MySubdirectory\MyFile3.txt to s3://my-bucket/path/MySubdirectory/MyFile3.txtupload: MyFile2.txt to s3://my-bucket/path/MyFile2.txtupload: MyFile1.txt to s3://my-bucket/path/MyFile1.txt

Das folgende Beispiel, das die vorherige Seite erweitert, zeigt, wie die --delete Option.

// Delete local file$ rm ./MyFile1.txt

// Attempt sync without --delete option - nothing happens$ aws s3 sync . s3://my-bucket/path

161

Page 167: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

// Sync with deletion - object is deleted from bucket$ aws s3 sync . s3://my-bucket/path --deletedelete: s3://my-bucket/path/MyFile1.txt

// Delete object from bucket$ aws s3 rm s3://my-bucket/path/MySubdirectory/MyFile3.txtdelete: s3://my-bucket/path/MySubdirectory/MyFile3.txt

// Sync with deletion - local file is deleted$ aws s3 sync s3://my-bucket/path . --deletedelete: MySubdirectory\MyFile3.txt

// Sync with Infrequent Access storage class$ aws s3 sync . s3://my-bucket/path --storage-class STANDARD_IA

Bei der Verwendung der --delete Option, die --exclude und --include Optionen können Dateienoder Objekte filtern, die während eines s3 sync Betrieb. In diesem Fall muss die ParameterzeichenfolgeDateien angeben, die für das Zielverzeichnis oder den Bucket vom Löschen ausgenommen oder zumLöschen hinzugefügt werden. Im Folgenden wird ein -Beispiel gezeigt.

Assume local directory and s3://my-bucket/path currently in sync and each contains 3 files:MyFile1.txtMyFile2.rtfMyFile88.txt'''

// Sync with delete, excluding files that match a pattern. MyFile88.txt is deleted, while remote MyFile1.txt is not.$ aws s3 sync . s3://my-bucket/path --delete --exclude "my-bucket/path/MyFile?.txt"delete: s3://my-bucket/path/MyFile88.txt'''

// Sync with delete, excluding MyFile2.rtf - local file is NOT deleted$ aws s3 sync s3://my-bucket/path . --delete --exclude "./MyFile2.rtf"download: s3://my-bucket/path/MyFile1.txt to MyFile1.txt'''

// Sync with delete, local copy of MyFile2.rtf is deleted$ aws s3 sync s3://my-bucket/path . --deletedelete: MyFile2.rtf

Häufig verwendete Optionen für s3-BefehleDie folgenden Optionen werden häufig für die in diesem Thema beschriebenen Befehle verwendet. Einevollständige Liste der Optionen, die Sie auf einem Befehl verwenden können, finden Sie im spezifischenBefehl im AWS CLI Command Reference.

acl

s3 sync und s3 cp kann die --acl Option. Dadurch können Sie die Zugriffsberechtigungen fürDateien festlegen, die kopiert wurden, Amazon S3. Die --acl Option akzeptiert private, public-read, und public-read-write Werte. Weitere Informationen finden Sie unter Rêècêèrêè imEntwicklerhandbuch für Amazon Simple Storage Service.

$ aws s3 sync . s3://my-bucket/path --acl public-read

ausschließen

Wenn Sie die s3 cp, s3 mv, s3 sync, oder s3 rm können Sie die Ergebnisse filtern, indem Sie die--exclude oder --include Option. Die --exclude Option Regelt Regeln, um nur Objekte aus

162

Page 168: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

dem Befehl auszuschließen, und die Optionen gelten in der angegebenen Reihenfolge. Das wird imfolgenden Beispiel veranschaulicht:

Local directory contains 3 files:MyFile1.txtMyFile2.rtfMyFile88.txt

// Exclude all .txt files, resulting in only MyFile2.rtf being copied$ aws s3 cp . s3://my-bucket/path --exclude "*.txt"

// Exclude all .txt files but include all files with the "MyFile*.txt" format, resulting in, MyFile1.txt, MyFile2.rtf, MyFile88.txt being copied$ aws s3 cp . s3://my-bucket/path --exclude "*.txt" --include "MyFile*.txt"

// Exclude all .txt files, but include all files with the "MyFile*.txt" format, but exclude all files with the "MyFile?.txt" format resulting in, MyFile2.rtf and MyFile88.txt being copied$ aws s3 cp . s3://my-bucket/path --exclude "*.txt" --include "MyFile*.txt" --exclude "MyFile?.txt"

einschließen

Wenn Sie die s3 cp, s3 mv, s3 sync, oder s3 rm können Sie die Ergebnisse unter Verwendungder --exclude oder --include Option. Die --include Option legt Regeln fest, die nur Objektebeinhalten, die für den Befehl festgelegt sind, und die Optionen, die in der angegebenen Reihenfolgegelten. Das wird im folgenden Beispiel veranschaulicht:

Local directory contains 3 files:MyFile1.txtMyFile2.rtfMyFile88.txt

// Exclude all .txt files, resulting in MyFile1.txt and MyFile88.txt being copied$ aws s3 cp . s3://my-bucket/path --include "*.txt"

// Exclude all .txt files but include all files with the "MyFile*.txt" format, resulting in, MyFile1.txt, MyFile2.rtf, MyFile88.txt being copied$ aws s3 cp . s3://my-bucket/path --exclude "*.txt" --include "MyFile*.txt"

// Exclude all .txt files, but include all files with the "MyFile*.txt" format, but exclude all files with the "MyFile?.txt" format resulting in, MyFile2.rtf and MyFile88.txt being copied$ aws s3 cp . s3://my-bucket/path --exclude "*.txt" --include "MyFile*.txt" --exclude "MyFile?.txt"

Berechtigungserteilung

Die s3 cp, s3 mv, und s3 sync Befehle beinhalten --grants Option, die Sie verwenden können,um Berechtigungen für das Objekt an bestimmte Benutzer oder Gruppen zu gewähren. Stellen Siedie --grants Option zu einer Liste von Berechtigungen unter Verwendung der folgenden Syntax.Austauschen Permission, Grantee_Type, und Grantee_ID mit Ihren eigenen Werten.

Syntax: .

--grants Permission=Grantee_Type=Grantee_ID [Permission=Grantee_Type=Grantee_ID ...]

Jeder Wert enthält die folgenden Elemente:• Permission – Gibt die gewährten Berechtigungen an. Kann eingestellt werden auf read,readacl, writeacl, oder full.

163

Page 169: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchHoch (s3) rèèmééctóò

• Grantee_Type – Gibt an, wie das Grant identifiziert wird. Kann eingestellt werden auf uri,emailaddress, oder id.

• Grantee_ID – Gibt das Grant-Konto an, basierend auf Grantee_Type.• uri – URI der Gruppe. Weitere Informationen finden Sie unter Wer ist ein Grant?• emailaddress – Die E-Mail-Adresse des Kontos.• id – Die kanonische ID des Kontos.

Weitere Informationen über Amazon S3 Zugriffskontrolle, siehe Zugriffskontrolle.

Im folgenden Beispiel wird ein Objekt in einen Bucket kopiert. Es gewährt read Berechtigungen fürdas Objekt an alle, und full Berechtigungen (read, readacl, und writeacl) zu dem Konto, dasmit [email protected].

$ aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers [email protected]

Sie können auch eine nicht standardmäßige Speicherklasse angeben (REDUCED_REDUNDANCY oderSTANDARD_IA) für Objekte, die Sie hochladen Amazon S3. Dazu verwenden Sie das --storage-class Option.

$ aws s3 cp file.txt s3://my-bucket/ --storage-class REDUCED_REDUNDANCY

recursive

Wenn Sie diese Option verwenden, wird der Befehl in allen Dateien oder Objekten unter demangegebenen Verzeichnis oder Präfix ausgeführt. Das folgende Beispiel wird gelöscht s3://my-bucket/path und all ihren Inhalt.

$ aws s3 rm s3://my-bucket/path --recursive

ReferencesAWS CLI-Referenz:

• aws s3

• aws s3 cp

• aws s3 mb

• aws s3 mv

• aws s3 ls

• aws s3 rb

• aws s3 rm

• aws s3 sync

Servicereferenz:

• Arbeiten mit Amazon S3-Behältern im Entwicklerhandbuch für Amazon Simple Storage Service• Arbeiten mit Amazon S3 Objekte im Entwicklerhandbuch für Amazon Simple Storage Service• Die Schlüssel werden hierarchisch mit einem Präfix und Trennzeichen aufgelistet im Entwicklerhandbuch

für Amazon Simple Storage Service• Das Multipart-Upload mit dem S3-Bucket in einen S3-Bucket abbrechen AWS SDK für .NET (niedrig) im

Entwicklerhandbuch für Amazon Simple Storage Service

164

Page 170: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAPI-Level-Befehle (s3 api)

Verwendung von API-Level (s3api)-Befehlen mit AWSCLIDie Befehle auf API-Ebene (enthalten im s3api Befehlssatz) bietet direkten Zugriff auf den AmazonSimple Storage Service ( ( (Amazon S3) Apis und ermöglichen einige Operationen, die nicht auf hoherEbene s3 Befehle. Diese Befehle entsprechen anderen AWS-Services, die einen Zugriff auf API-Ebene aufServicefunktionen bereitstellen.

Dieses Thema enthält Beispiele, die zeigen, wie Sie die Befehle der unteren Ebene, die den Amazon S3-APIs zugeordnet sind, verwenden. Darüber hinaus finden Sie Beispiele für jeden S3 API-Befehl im s3api-Abschnitt des CLI-Referenzhandbuchs.

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Anwenden einer benutzerdefinierten ZugriffssteuerungslisteMit High-Level-Befehlen können Sie die --acl Option, vordefinierte Zugriffskontrolllisten (acls)anzuwenden, um Amazon S3 Objekte. Sie können diesen Befehl jedoch nicht verwenden, um Bucket-weiteACLs festzulegen. Sie können dies jedoch tun, indem Sie die Put-Bucket-acl API-Ebenenbefehl.

Im folgenden Beispiel wird gezeigt, wie Sie volle Kontrolle an zwei gewähren AWS Benutzer([email protected] und [email protected]) und lesen Sie die Erlaubnis für alle. Die Kennung für"alle" stammt von einer speziellen URI, die Sie als Parameter übergeben.

$ aws s3api put-bucket-acl --bucket MyBucket --grant-full-control 'emailaddress="[email protected]",emailaddress="[email protected]"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'

Einzelheiten zum Konstruieren der Acls finden Sie unter PUT Bucket acl im Amazon Simple StorageService API Reference. Die s3api ACL-Befehle in der CLI, wie z. B. put-bucket-acl, verwenden Siedasselbe Kurzargument-Argumenz.

Konfigurieren einer ProtokollierungsrichtlinieDer API-Befehl put-bucket-logging konfiguriert eine Bucket-Protokollierungsrichtlinie.

Im folgenden Beispiel ist der AWS-Benutzer [email protected] wird über die Protokolldateien hinwegvollständig kontrolliert, und alle Benutzer haben Lesezugriff auf sie. Beachten Sie, dass die put-bucket-acl ist auch erforderlich, um den Amazon S3 das Protokollabgabesystem (durch einen URI spezifiziert) dieBerechtigungen, die benötigt werden, um die Protokolle zum Bucket zu lesen und zu schreiben.

$ aws s3api put-bucket-acl --bucket MyBucket --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'$ aws s3api put-bucket-logging --bucket MyBucket --bucket-logging-status file://logging.json

Die logging.json Datei im vorherigen Befehl hat den folgenden Inhalt.

{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": {

165

Page 171: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAmazon SNS

"Type": "AmazonCustomerByEmail", "EmailAddress": "[email protected]" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }}

Verwenden von Amazon SNS mit AWS CLISie können auf die Funktionen von zugreifen Amazon Simple Notification Service ( ( (Amazon SNS) ìïnpüûtthèé AWS Command Line Interface ( ( (AWS CLI). Um die AWS CLI Befehle für Amazon SNSverwendenSie den folgenden Befehl.

aws sns help

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Dieses Thema enthält Beispiele für CLI-Befehle, über die allgemeine Aufgaben für ausgeführtwerden.Amazon SNS.

Themen• Erstellen eines Themas (p. 166)• Abonnieren eines Themas (p. 166)• Veröffentlichung für ein Thema (p. 167)• Abbestellen eines Themas (p. 167)• Löschen eines Themas (p. 168)

Erstellen eines ThemasUm ein Thema zu erstellen, verwenden Sie create-topic und geben Sie den Namen an, den Sie demThema zuweisen möchten.

$ aws sns create-topic --name my-topic{ "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"}

Notieren Sie sich den TopicArn der Antwort, den Sie später zum Veröffentlichen einer Nachrichtbenötigen.

Abonnieren eines ThemasUm ein Thema zu abonnieren, verwenden Sie das subscribe Befehl.

166

Page 172: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVeröffentlichung für ein Thema

Das folgende Beispiel gibt das email Protokoll und eine E-Mail-Adresse für notification-endpoint.

$ aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --protocol email --notification-endpoint [email protected]{ "SubscriptionArn": "pending confirmation"}

AWS sendet sofort eine Bestätigungsnachricht per E-Mail an die Adresse, die Sie im Befehl subscribeangegeben haben. Die E-Mail-Nachricht enthält den folgenden Text.

You have chosen to subscribe to the topic:arn:aws:sns:us-west-2:123456789012:my-topicTo confirm this subscription, click or visit the following link (If this was in error no action is necessary):Confirm subscription

Nachdem der Empfänger auf die Abonnement bestätigen link, der Browser des Empfängers zeigt eineBenachrichtigungsmeldung an, die ähnlich dem Folgenden entspricht.

Subscription confirmed!

You have subscribed [email protected] to the topic:my-topic.

Your subscription's id is:arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

If it was not your intention to subscribe, click here to unsubscribe.

Veröffentlichung für ein ThemaUm eine Nachricht an alle Abonnenten eines Themas zu senden, verwenden Sie die veröffentlichen Befehl.

Das folgende Beispiel sendet die Nachricht „Hallo World!“ an alle Abonnenten des angegebenen Themas.

$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello World!"{ "MessageId": "4e41661d-5eec-5ddf-8dab-2c867EXAMPLE"}

In diesem Beispiel AWS sendet eine E-Mail-Nachricht mit dem Text „Hallo World!“[email protected].

Abbestellen eines ThemasUm ein Thema abzumelden und die Nachrichten zu erhalten, die in diesem Thema veröffentlicht wurden,verwenden Sie die abmelden und geben Sie den ARN des Themas an, den Sie abbestellen möchten.

$ aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

Um zu bestätigen, dass Sie erfolgreich abgemeldet wurden, verwenden Sie die Listenabonnements um zubestätigen, dass der ARN nicht mehr in der Liste erscheint.

$ aws sns list-subscriptions

167

Page 173: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchLöschen eines Themas

Löschen eines ThemasUm ein Thema zu löschen, führen Sie das Thema löschen Befehl.

$ aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic

Um sicherzustellen, dass AWS das Thema erfolgreich gelöscht, verwenden Sie die Listenthemen um zubestätigen, dass das Thema nicht mehr in der Liste angezeigt wird.

$ aws sns list-topics

Verwenden von Amazon SWF mit AWS CLISie können auf die Funktionen von zugreifen Amazon Simple Workflow Service ( ( (Amazon SWF) ìïnpüûtthèé AWS Command Line Interface ( ( (AWS CLI).

Um die AWS CLI Befehle für Amazon SWFverwenden Sie den folgenden Befehl.

aws swf help

Bevor Sie Befehle ausführen, richten Sie die Standardanmeldeinformationen ein. Weitere Informationenfinden Sie im Konfigurieren des AWS CLI (p. 44).

Die folgenden Themen zeigen Beispiele für CLI-Befehle, die allgemeine Aufgaben für ausführen.AmazonSWF.

Themen• Liste der Amazon SWF-Befehle nach Kategorie (p. 168)• Arbeiten mit Amazon SWF-Domänen mithilfe der AWS CLI (p. 171)

Liste der Amazon SWF-Befehle nach KategorieSie können die AWS Command Line Interface ( ( (AWS CLI), um Arbeitsabläufe zu erstellen, anzuzeigenund zu verwalten Amazon Simple Workflow Service ( ( (Amazon SWF).

In diesem Abschnitt werden die Referenzthemen aufgeführt Amazon SWF Befehle im AWS CLI, gruppiertnach Funktionskategorie.

Für eine alphabetisch Liste der Befehle, siehe Amazon SWF Abschnitt der AWS CLI Command Reference,oder verwenden Sie den folgenden Befehl.

$ aws swf help

Sie erhalten auch Hilfe zu einem bestimmten Befehl, wenn Sie die Direktive help hinter dem Namen einesBefehls angeben. Im Folgenden wird ein -Beispiel gezeigt.

$ aws swf register-domain help

Themen• Befehle im Zusammenhang mit Aktivitäten (p. 169)

168

Page 174: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchListe der Amazon SWF-Befehle

• Befehle im Zusammenhang mit Entscheidern (p. 169)• Befehle im Zusammenhang mit Workflow-Ausführungen (p. 169)• Befehle im Zusammenhang mit Administration (p. 169)• Sichtbarkeitsbefehle (p. 170)

Befehle im Zusammenhang mit AktivitätenAktivitäts-Worker verwenden poll-for-activity-task, um neue Aktivitäts-Tasks abzurufen. Nachdemein Mitarbeiter eine Aktivitätsaufgabe von Amazon SWF, er führt die Aufgabe durch und reagiert respond-activity-task-completed wenn erfolgreich oder respond-activity-task-failed wenn nichterfolgreich.

Die folgenden Befehle werden von Aktivitäts-Workern ausgeführt:

• poll-for-activity-task• respond-activity-task-completed• respond-activity-task-failed• respond-activity-task-canceled• record-activity-task-heartbeat

Befehle im Zusammenhang mit EntscheidernEntscheider nutzen poll-for-decision-task, um Entscheidungs-Tasks abzurufen. Wenn einEntscheider eine Entscheidungs-Task aus Amazon SWF erhält, untersucht er dessen Workflow-Ausführungsverlauf und entscheidet, was als Nächstes zu tun ist. Er ruft respond-decision-task-completed auf, um den Entscheidungs-Task abzuschließen, und stellt null oder mehr weitereEntscheidungen bereit.

Die folgenden Befehle werden von Entscheidern ausgeführt:

• poll-for-decision-task• respond-decision-task-completed

Befehle im Zusammenhang mit Workflow-AusführungenDie folgenden Befehle werden für eine Workflow-Ausführung verwendet:

• request-cancel-workflow-execution• start-workflow-execution• signal-workflow-execution• terminate-workflow-execution

Befehle im Zusammenhang mit AdministrationSie können zwar administrative Aufgaben in der Amazon SWF-Konsole ausführen. Mit den Befehlen indiesem Abschnitt können Sie aber Funktionen automatisieren oder eigene Tools zur Verwaltung erstellen.

Aktivitätsverwaltung

• register-activity-type• deprecate-activity-type

169

Page 175: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchListe der Amazon SWF-Befehle

Workflow-Verwaltung

• register-workflow-type• deprecate-workflow-type

Domänenverwaltung

• register-domain• deprecate-domain

Weitere Informationen zu diesen Domänenverwaltungsbefehlen und Beispiele finden Sie unter Arbeiten mitAmazon SWF-Domänen mithilfe der AWS CLI (p. 171).

Workflow-Ausführungsverwaltung

• request-cancel-workflow-execution• terminate-workflow-execution

SichtbarkeitsbefehleSie können zwar Sichtbarkeitsaktionen in der Amazon SWF-Konsole ausführen. Mit den Befehlen indiesem Abschnitt können Sie aber eine eigene Konsole oder Tools zur Verwaltung erstellen.

Aktivitätssichtbarkeit

• list-activity-types• describe-activity-type

Workflow-Sichtbarkeit

• list-workflow-types• describe-workflow-type

Workflow-Ausführungssichtbarkeit

• describe-workflow-execution• list-open-workflow-executions• list-closed-workflow-executions• count-open-workflow-executions• count-closed-workflow-executions• get-workflow-execution-history

Domänensichtbarkeit

• list-domains• describe-domain

Weitere Informationen zu diesen Domänensichtbarkeitsbefehlen und Beispiele finden Sie unter Arbeiten mitAmazon SWF-Domänen mithilfe der AWS CLI (p. 171).

170

Page 176: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchArbeiten mit Amazon SWF-Domänen

Sichtbarkeit der Aufgabenliste

• count-pending-activity-tasks• count-pending-decision-tasks

Arbeiten mit Amazon SWF-Domänen mithilfe der AWSCLISie können die AWS Command Line Interface ( ( (AWS CLI), um Ihre Amazon Simple Workflow Service( ( (Amazon SWF) Domains.

Themen• Auflisten von Domänen (p. 171)• Abrufen von Informationen über eine Domäne (p. 171)• Registrieren einer Domäne (p. 172)• Eine Domäne missbilligen (p. 172)

Auflisten von DomänenUm die Amazon SWF Domains, die Sie für Ihre AWS Konto können Sie swf list-domains. Siemüssen Folgendes einschließen: --registration-status und geben Sie entweder REGISTERED oderDEPRECATED.

Hier sehen Sie ein sehr einfaches Beispiel.

$ aws swf list-domains --registration-status REGISTERED{ "domainInfos": [ { "status": "REGISTERED", "name": "ExampleDomain" }, { "status": "REGISTERED", "name": "mytest" } ]}

Note

Ein Beispiel für die Verwendung von DEPRECATEDfinden Sie unterEine Domänemissbilligen (p. 172).

Weitere Informationen finden Sie unter Listendomänen im AWS CLI Command Reference.

Abrufen von Informationen über eine DomäneUm detaillierte Informationen über eine bestimmte Domain zu erhalten, verwenden Sie swf describe-domain. Es gibt einen erforderlichen Parameter, --name, die den Namen der Domäne, über die SieInformationen erhalten möchten, wie im folgenden Beispiel dargestellt.

$ aws swf describe-domain --name ExampleDomain

171

Page 177: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchArbeiten mit Amazon SWF-Domänen

{ "domainInfo": { "status": "REGISTERED", "name": "ExampleDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "1" }}

Weitere Informationen finden Sie unter Beschreibung-Domain im AWS CLI Command Reference.

Registrieren einer DomäneMithilfe von können Sie neue Domänen registrieren.swf register-domain.

Es gibt zwei erforderliche Parameter: --name und --workflow-execution-retention-period-in-days. Die --name parmeter nimmt den Domänennamen zum Registrieren an. Die --workflow-execution-retention-period-in-days Parameter, um die Anzahl der Tage, die Workflow-Ausführungsdaten in dieser Domain zu erhalten, zu bestimmen, bis zu einem maximalen Zeitraum von 90Tagen (weitere Informationen finden Sie unter Amazon SWF Häufig gestellte Fragen).

Wenn Sie für diesen Wert null (0) angeben, wird automatisch die maximale Dauer für denAufbewahrungszeitraum festgelegt. Andernfalls werden die Workflow-Ausführungsdaten nach derangegebenen Anzahl von Tagen nicht mehr beibehalten. Im folgenden Beispiel wird gezeigt, wie Sie eineneue Domäne registrieren.

$ aws swf register-domain --name MyNeatNewDomain --workflow-execution-retention-period-in-days 0

Der Befehl gibt keinen Ausgang zurück, aber Sie können ihn verwenden swf list-domains oder swfdescribe-domain um die neue Domain anzuzeigen, wie im folgenden Beispiel dargestellt.

$ aws swf describe-domain --name MyNeatNewDomain{ "domainInfo": { "status": "REGISTERED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" }}

Weitere Informationen finden Sie unter Registerdomain im AWS CLI Command Reference.

Eine Domäne missbilligenUm eine Domäne zu verwerfen (Sie können es trotzdem sehen, aber keine neuen Workflow-Ausführungenerstellen oder Arten von Registern erstellen), verwenden swf deprecate-domain. Es hat einen einzigenerforderlichen Parameter, --name, die den Namen der Domäne zum Verwerfen von zu erlöschen.

$ aws swf deprecate-domain --name MyNeatNewDomain

Wie bei register-domain wird keine Ausgabe zurückgegeben. Wenn Sie die registrierten Domänen mitlist-domains abrufen, sehen Sie aber, dass die Domäne in dieser Auflistung nicht mehr vorhanden ist.Sie können auch verwenden.--registration-status DEPRECATED.

172

Page 178: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchArbeiten mit Amazon SWF-Domänen

$ aws swf list-domains --registration-status DEPRECATED{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ]}

Weitere Informationen finden Sie unter veraltet im AWS CLI Command Reference.

173

Page 179: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDatenschutz

Sicherheit im AWS Command LineInterface

Cloud-Sicherheit hat bei AWS höchste Priorität. Als AWS-Kunde profitieren Sie von einer Rechenzentrums-und Netzwerkarchitektur, die zur Erfüllung der Anforderungen von Organisationen entwickelt wurden, fürdie Sichherheit eine kritische Bedeutung hat.

Sicherheit ist eine übergreifende Verantwortlichkeit zwischen AWS und Ihnen. Die gemeinsamesVerantwortungsmodell beschreibt dies als Sicherheit von Cloud und Sicherheit in Cloud:

• Sicherheit der Cloud – AWS ist für den Schutz der Infrastruktur verantwortlich, die AWS Dienstleistungenim AWS Cloud. AWS bietet Ihnen auch Dienstleistungen, die Sie sicher nutzen können. Drittanbieterprüfen regelmäßig die Effektivität unserer Sicherheit als Teil der AWS Compliance-Programme.Informationen über die Compliance-Programme, die auf AWS Command Line Interface, siehe AWS-Dienstleistungen im Rahmen des Compliance-Programms.

• Sicherheit in der Cloud – Ihre Verantwortung wird durch die AWS Service, den Sie verwenden. Sie sindauch für andere Faktoren verantwortlich, etwa für die Vertraulichkeit Ihrer Daten, für die AnforderungenIhres Unternehmens und für die geltenden Gesetze und Vorschriften.

Diese Dokumentation hilft Ihnen, zu verstehen, wie Sie das gemeinsame Verantwortungsmodell anwenden,wenn Sie AWS Command Line Interface ( ( (AWS CLI). Die folgenden Themen zeigen Ihnen, wie Sie dasAWS CLI zur Erfüllung Ihrer Sicherheits- und Compliance-Ziele konfigurieren können. Darüber hinauslernen Sie, wie Sie AWS CLI damit Sie Ihre AWS Ressourcen.

Themen:• Datenschutz in der AWS CLI (p. 174)• Identity and Access Management für das AWS CLI (p. 175)• Compliance-Validierung für die AWS CLI (p. 176)• Erzwingen einer Mindestversion von TLS 1.2 (p. 176)

Datenschutz in der AWS CLIDie AWS Command Line Interface ( ( (AWS CLI) côónfìïgêès töö AWS gemeinsamesVerantwortungsmodell, die Vorschriften und Richtlinien zum Datenschutz enthalten. AWS ist für denSchutz der globalen Infrastruktur verantwortlich, die alle AWS Services. AWS behält die Kontrolle überdie auf dieser Infrastruktur gehosteten Daten, einschließlich der Sicherheitskontrollen zur Handhabungvon Kundeninhalten und persönlichen Daten. AWS Kunden und APN-Partner, die entweder alsDatenverantwortliche oder Datenverarbeiter agieren, sind für personenbezogene Daten verantwortlich, diesie in die AWS Cloud.

Für Datenschutzzwecke empfehlen wir Ihnen, AWS Konto-Anmeldedaten und richten Sie individuelleBenutzerkonten ein mit AWS Identity and Access Management ( ( (IAM), damit jeder Benutzer nur dieBerechtigungen erhält, die erforderlich sind, um seine Aufgaben zu erfüllen. Außerdem sollten Sie dieDaten mit folgenden Methoden schützen:

• Verwenden Sie für jedes Konto die Multi-Factor Authentication (MFA).• Verwenden Sie SSL/TLS für die Kommunikation mit AWS-Ressourcen.• Richten Sie die API und die Protokollierung von Benutzeraktivitäten mit ein.AWS CloudTrail.

174

Page 180: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchDatenverschlüsselung

• Verwenden AWS Verschlüsselungslösungen und alle standardmäßigen Sicherheitskontrollen innerhalbAWS Services.

• Erweiterte Managed Security Services wie z. B. Amazon Macie, die bei der Entdeckung und Sicherungvon personenbezogenen Daten hilft, die Amazon S3.

Wir empfehlen Ihnen dringend, sensible Informationen, wie etwa Kontonummern Ihrer Kunden, inFreiformularfelder wie z. B. Name Feld. Dies beinhaltet, wenn Sie mit dem AWS CLI oder andere AWSDienste mit der Konsole, API oder AWS Sdks. Alle Daten, die Sie in AWS CLI oder andere Serviceseingeben, werden möglicherweise in Diagnoseprotokolle aufgenommen. Wenn Sie eine URL für einenexternen Server bereitstellen, schließen Sie keine Anmeldeinformationen zur Validierung Ihrer Anforderungan den betreffenden Server in die URL ein.

Weitere Informationen zum Datenschutz finden Sie im AWS Modell und DSGVO für gemeinsameVerantwortung Blogbeitrag auf der AWS Sicherheitsblog.

DatenverschlüsselungEin wesentliches Merkmal eines sicheren Service ist, dass Informationen verschlüsselt werden, wenn sienicht aktiv verwendet werden.

Verschlüsselung im RuhezustandDie AWS CLI speichert nicht selbst Kundendaten, die nicht mit den Anmeldedaten übereinstimmen, die siemit dem AWS Dienstleistungen im Namen des Benutzers.

Wenn Sie die AWS CLI um eine AWS Service, der Kundendaten an Ihren lokalen Computer zurSpeicherung sendet, dann lesen Sie im Kapitel Sicherheit und Compliance in diesem Benutzerhandbuchnach, um Informationen darüber zu erhalten, wie diese Daten gespeichert, geschützt und verschlüsseltsind.

Verschlüsselung während der ÜbertragungStandardmäßig werden alle Daten, die vom Client-Computer übertragen werden, AWS CLI und AWSService-Endpunkte werden verschlüsselt, indem Sie alles über eine HTTPS/TLS-Verbindung senden.

Sie müssen nichts tun, um die Verwendung von HTTPS/TLS zu aktivieren. Sie ist immer aktiviert,es sei denn, Sie deaktivieren sie explizit für einen einzelnen Befehl mithilfe der --no-verify-ssl-Befehlszeilenoption.

Identity and Access Management für das AWS CLIDie AWS Command Line Interface ( ( (AWS CLI) verwendet dieselben Benutzer und Rollen, um auf IhreAWS Ressourcen und ihre Dienstleistungen. Die Richtlinien, die Berechtigungen erteilen, sind identisch,da die AWS CLI die gleichen API-Vorgänge aufruft, die von der Servicekonsole verwendet werden. WeitereInformationen finden Sie im Abschnitt „Identitäts- und Zugriffsverwaltung“ im Kapitel „Sicherheit“ des AWS-Service, den Sie verwenden möchten.

Der einzige wesentliche Unterschied besteht darin, wie Sie sich bei der Verwendung eines Standard-IAM-Benutzers und Langzeit-Anmeldeinformationen authentifizieren. Obwohl ein IAM Benutzer benötigt einPasswort, um auf eine AWS die Konsole des Dienstes IAM Benutzer benötigt ein Zugriffschlüsselpaar, umdie gleichen Operationen mit dem AWS CLI. Alle anderen Kurzzeit-Anmeldeinformationen werden auf diegleiche Weise verwendet, wie sie mit der Konsole verwendet werden.

Die von der AWS CLI werden in Klartext-Dateien gespeichert und sind nicht verschlüsselt.

175

Page 181: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchCompliance-Validierung

• Die $HOME/.aws/credentials Datei speichert langfristige Anmeldedaten, die benötigt werden,um auf Ihr AWS Ressourcen. Diese beinhalten Ihre Zugriffsschlüssel-ID und Ihren geheimenZugriffsschlüssel.

• Kurzfristige Anmeldedaten, wie z. B. diejenigen, die Sie annehmen, oder dass sie für AWS – EinmaligesAnmelden Services, werden auch im $HOME/.aws/cli/cache und $HOME/.aws/sso/cache-Ordner.

Risikominderung

• Wir empfehlen dringend, die Dateisystemberechtigungen für den Ordner $HOME/.aws und seineuntergeordneten Ordner und Dateien so zu konfigurieren, dass der Zugriff ausschließlich auf autorisierteBenutzer beschränkt wird.

• Verwenden Sie möglichst Rollen mit temporären Anmeldeinformationen, um bei einer Gefährdungder Sicherheit von Anmeldeinformationen die Möglichkeit für Schäden zu reduzieren. Verwenden SieLangzeit-Anmeldeinformationen nur zum Abfragen und Aktualisieren der Anmeldeinformationen vonKurzzeit-Rollen.

Compliance-Validierung für die AWS CLIPrüfer Dritter bewerten die Sicherheit und Compliance von AWS Dienstleistungen als Teil von mehrerenAWS Compliance-Programme. Verwendung der AWS Command Line Interface ( ( (AWS CLI), um aufeinen Dienst zuzugreifen, ändert nicht die Einhaltung der Compliance.

Eine Liste mit AWS Dienstleistungen im Rahmen bestimmter Compliance-Programme, siehe AWS-Dienstleistungen im Rahmen des Compliance-Programms. Allgemeine Informationen finden Sie unter AWSCompliance-Programme.

Die Auditberichte von externen Auditoren lassen sich mit herunterladen.AWS Artifact. WeitereInformationen finden Sie unter Herunterladen von Berichten in AWS Artefakt.

Ihre Compliance-Verantwortung bei der Verwendung AWS CLI wird durch die Sensibilität Ihrer Daten, dieCompliance-Ziele Ihres Unternehmens und die geltenden Gesetze und Vorschriften bestimmt. AWS bietetdie folgenden Ressourcen zur Einhaltung der Compliance:

• Kurzanleitungen für Sicherheits- und Compliance-Systeme – Diese Implementierungsleitfädendiskutieren architektonische Überlegungen und stellen Schritte zur Bereitstellung von Sicherheits- undCompliance-orientierten Baseline-Umgebungen auf AWS.

• Entwurf des Whitepaper zur Sicherheit und Compliance von HIPAA – Dieses Whitepaper beschreibt, wieUnternehmen AWS um HIPAA-konforme Anwendungen zu erstellen.

• AWS Compliance-Ressourcen – Diese Sammlung von Arbeitsmappen und Leitfäden kann für IhreBranche und Ihren Standort gelten.

• Ressourcen mit Regeln bewerten im AWS Config Entwicklerhandbuch – Die AWS Config der Servicebewertet, wie gut Ihre Ressourcenkonfigurationen interne Praktiken, Branchenrichtlinien und Vorschrifteneinhalten.

• AWS Security Hub – Dies AWS bietet eine umfassende Ansicht Ihres Sicherheitsstatus innerhalb AWSdie Ihnen hilft, Ihre Einhaltung der Sicherheitsstandards und bewährten Verfahren zu überprüfen.

Erzwingen einer Mindestversion von TLS 1.2Um eine erhöhte Sicherheit bei der Kommunikation mit AWS Services, Sie sollten Ihre AWS CommandLine Interface ( ( (AWS CLI), um TLS 1.2 oder höher zu verwenden. Wenn Sie die AWS CLI verwenden,wird Python zum Festlegen der TLS-Version verwendet.

176

Page 182: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren der AWS CLI Version 1 zum

Erzwingen einer Mindestversion von TLS 1.2

Je nach AWS CLI-Version variieren die für das Erzwingen einer Mindestversion von TLS 1.2durchzuführenden Schritte.

Themen• Konfigurieren der AWS CLI Version 1 zum Erzwingen einer Mindestversion von TLS 1.2 (p. 177)• Konfigurieren der AWS CLI Version 2 zum Erzwingen einer Mindestversion von TLS 1.2 (p. 179)

Konfigurieren der AWS CLI Version 1 zum Erzwingeneiner Mindestversion von TLS 1.2Um sicherzustellen, dass die AWS CLI Version 1 keine TLS-Version vor Version TLS 1.2 verwendet,müssen Sie möglicherweise OpenSSL neu kompilieren, um das Verwenden dieser Mindestversion zuerzwingen, und dann Python neu kompilieren, um das neu erstellte OpenSSL zu verwenden.

Ermitteln Ihrer derzeit unterstützten ProtokolleErstellen Sie zunächst mit OpenSSL ein selbstsigniertes Zertifikat, das für den Testserver und das Python-SDK verwendet werden soll.

$ openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -nodes -keyout key.pem -out cert.pem -days 365

Starten Sie dann einen Testserver mit OpenSSL.

$ openssl s_server -key key.pem -cert cert.pem -www

Erstellen Sie in einem neuen Terminalfenster eine virtuelle Umgebung und installieren Sie das Python-SDK.

$ python3 -m venv test-envsource test-env/bin/activatepip install botocore

Erstellen Sie ein neues Python-Skript namens check.py, das die dem SDK zugrunde liegende HTTP-Bibliothek verwendet.

$ import urllib3URL = 'https://localhost:4433/'

http = urllib3.PoolManager( ca_certs='cert.pem', cert_reqs='CERT_REQUIRED',)r = http.request('GET', URL)print(r.data.decode('utf-8'))

Führen Sie Ihr neues Skript aus.

$ python check.py

Damit werden Details über die hergestellte Verbindung angezeigt. Suche nach „Protokoll : “ im Ausgang.Wenn die Ausgabe „TLSv1.2“ oder höher lautet, ist das SDK auf TLS v1.2 oder höher voreingestellt. Wennes sich um eine frühere Version handelt, müssen Sie OpenSSL und Python neu kompilieren.

177

Page 183: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren der AWS CLI Version 1 zum

Erzwingen einer Mindestversion von TLS 1.2

Auch wenn die Installation von Python auf TLS v1.2 oder höher voreingestellt ist, ist es jedoch weiterhinmöglich, dass Python neu auf eine frühere Version als TLS v1.2 verhandelt, wenn der Server TLS v1.2oder höher nicht unterstützt. Um zu überprüfen, ob Python nicht automatisch auf frühere Versionen neuverhandelt, starten Sie den Testserver erneut mit Folgendem.

$ openssl s_server -key key.pem -cert cert.pem -no_tls1_3 -no_tls1_2 -www

Wenn Sie eine frühere Version von OpenSSL verwenden, steht Ihnen die -no_tls_3-Flag möglicherweisenicht zur Verfügung. Wenn dies der Fall ist, entfernen Sie das Flag, da die von Ihnen verwendete Versionvon OpenSSL TLS v1.3 nicht unterstützt. Führen Sie dann das Python-Skript aus.

$ python check.py

Wenn die Installation von Python korrekterweise für Versionen vor TLS 1.2 nicht neu verhandelt, sollten Sieeinen SSL-Fehler erhalten.

$ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='localhost', port=4433): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:1108)')))

Wenn Sie eine Verbindung herstellen können, müssen Sie OpenSSL und Python neu kompilieren, um dasAushandeln von Protokollen vor TLS v1.2 zu deaktivieren.

Kompilieren von OpenSSL und PythonUm sicherzustellen, dass das SDK oder die AWS CLI keine Verhandlung für eine Version vor TLS 1.2vornimmt, müssen Sie OpenSSL und Python neu kompilieren. Kopieren Sie dazu den folgenden Inhalt, umein Skript zu erstellen und auszuführen.

#!/usr/bin/env bashset -e

OPENSSL_VERSION="1.1.1d"OPENSSL_PREFIX="/opt/openssl-with-min-tls1_2"PYTHON_VERSION="3.8.1"PYTHON_PREFIX="/opt/python-with-min-tls1_2"

curl -O "https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz"tar -xzf "openssl-$OPENSSL_VERSION.tar.gz"cd openssl-$OPENSSL_VERSION./config --prefix=$OPENSSL_PREFIX no-ssl3 no-tls1 no-tls1_1 no-sharedmake > /dev/nullsudo make install_sw > /dev/null

cd /tmpcurl -O "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz"tar -xzf "Python-$PYTHON_VERSION.tgz"cd Python-$PYTHON_VERSION./configure --prefix=$PYTHON_PREFIX --with-openssl=$OPENSSL_PREFIX --disable-shared > /dev/nullmake > /dev/nullsudo make install > /dev/null

Dadurch wird eine Version von Python kompiliert, die über ein statisch verknüpftes OpenSSL verfügt,das nicht automatisch eine frühere Version als TLS 1.2 aushandelt. Dies installiert auch openssl im /opt/openssl-with-min-tls1_2 Verzeichnis und installiert Python im /opt/python-with-min-

178

Page 184: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKonfigurieren der AWS CLI Version 2 zum

Erzwingen einer Mindestversion von TLS 1.2

tls1_2 Verzeichnis. Nachdem Sie dieses Skript ausgeführt haben, bestätigen Sie die Installation derneuen Version von Python.

$ /opt/python-with-min-tls1_2/bin/python3 --version

Dadurch sollte Folgendes ausgedruckt werden.

$ Python 3.8.1

Um zu bestätigen, dass die neue Version von Python nicht vor dem TLS 1.2 eine Version aushandelt,wiederholen Sie die Schritte von Ermitteln Ihrer derzeit unterstützten Protokolle (p. 177) mit der neuinstallierten Python-Version (d. h. /opt/python-with-min-tls1_2/bin/python3).

Konfigurieren der AWS CLI Version 2 zum Erzwingeneiner Mindestversion von TLS 1.2AWS CLI Version 2 verwendet ein internes Python-Skript, das so kompiliert ist, dass es mindestens TLS1.2 verwendet, wenn der Service, mit dem es kommuniziert, dies unterstützt. Es sind keine weiterenSchritte erforderlich, um diese Mindestversion zu erzwingen.

179

Page 185: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAllgemeines Stellen Sie sicher, dass

Sie eine aktuelle Version des AWS CLI.

Behebung von AWS CLI-FehlernAllgemeines Stellen Sie sicher, dass Sie eineaktuelle Version des AWS CLI.

Wenn Sie eine Fehlermeldung erhalten, die darauf hinweist, dass ein Befehl nicht vorhanden ist oderdass er einen Parameter nicht erkennt, der laut der Dokumentation verfügbar ist, empfehlen wir, dass Siezunächst einmal (nach Überprüfung des Befehls auf Rechtschreibfehler!) ein Upgrade auf die neuesteVersion der durchführen.AWS CLI. Aktualisierte Versionen der AWS CLI werden fast jeden Werktagveröffentlicht. Neu AWS Services, Funktionen und Parameter werden in den neuen Versionen der AWSCLI. Die einzige Möglichkeit, Zugriff auf diese neuen Services, Funktionen oder Parameter zu erhalten,besteht darin, ein Upgrade auf eine Version durchzuführen, die nach der erstmaligen Einführung diesesElements veröffentlicht wurde.

Wie Sie Ihre Version der AWS CLI aktualisieren, hängt davon ab, wie Sie diese ursprünglich installierthaben. Wenn Sie beispielsweise das AWS CLI verwenden pip, laufen pip install --upgrade, wiebeschrieben in Installieren und Deinstallieren der AWS CLI Version 1 mithilfe von pip (p. 29).

Wenn Sie eines der gebündelten Installationsprogramme verwendet haben, sollten Sie die vorhandeneInstallation entfernen und die neueste Version des gebündelten Installationsprogramms für IhrBetriebssystem herunterladen und installieren.

Allgemeines Verwenden Sie die --debug Option.Wenn die AWS CLI einen Fehler meldet, den Sie nicht sofort verstehen, oder Ergebnisse ausgibt, die Sienicht erwartet haben, sollten Sie zunächst detaillierte Informationen über den Fehler einholen. FührenSie dazu den Befehl erneut aus und fügen Sie die Option --debug am Ende der Befehlszeile ein. Diesverursacht die AWS CLI um Details zu jedem Schritt zu berichten, den Sie benötigen, um Ihren Befehlzu verarbeiten, senden Sie die Anfrage an den AWS Server empfangen, empfangen und die Antwort indie Ausgabe verarbeiten, die Sie sehen. Die Details in der Ausgabe können Ihnen helfen, zu bestimmen,in welchem Schritt der Fehler auftritt, um Kontext zu erhalten, der Hinweise dazu geben kann, was ihnausgelöst hat.

Sie können die Ausgabe an eine Textdatei senden, um sie für eine spätere Überprüfung zu erfassen oderum sie an den AWS-Support zu senden, wenn Sie dazu aufgefordert werden.

Es folgt ein Beispiel für einen Befehl, der mit und ohne die Option --debug ausgeführt wird.

$ aws iam list-groups --profile MyTestProfile{ "Groups": [ { "Path": "/", "GroupName": "MyTestGroup", "GroupId": "AGPA0123456789EXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyTestGroup", "CreateDate": "2019-08-12T19:34:04Z" } ]

180

Page 186: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAllgemeines Verwenden Sie die --debug Option.

}

Wenn Sie die Option --debug einfügen, beinhalten die Details (u. a.):

• Suche nach Anmeldeinformationen• Analysieren der bereitgestellten Parameter• Erstellen der an AWS-Server gesendeten Anfrage• Inhalt der an gesendeten AnfrageAWS• Inhalt der unformatierten Antwort• Die formatierte Ausgabe

$ aws iam list-groups --profile MyTestProfile --debug2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.2052019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['iam', 'list-groups', '--debug']2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_scalar_parsers at 0x7fdf173161e0>2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function register_uri_param_handler at 0x7fdf17dec400>2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_assume_role_provider_cache at 0x7fdf17da9378>2019-08-12 12:36:18,307 - MainThread - botocore.credentials - DEBUG - Skipping environment variable credential check because profile name was explicitly set.2019-08-12 12:36:18,307 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function attach_history_handler at 0x7fdf173ed9d8>2019-08-12 12:36:18,308 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/service-2.json2019-08-12 12:36:18,317 - MainThread - botocore.hooks - DEBUG - Event building-command-table.iam: calling handler <function add_waiters at 0x7fdf1731a840>2019-08-12 12:36:18,320 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/waiters-2.json2019-08-12 12:36:18,321 - MainThread - awscli.clidriver - DEBUG - OrderedDict([('path-prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker', <awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items', <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>)])2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_streaming_output_arg at 0x7fdf17316510>2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_cli_input_json at 0x7fdf17da9d90>2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function unify_paging_params at 0x7fdf17328048>2019-08-12 12:36:18,326 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/paginators-1.json2019-08-12 12:36:18,326 - MainThread - awscli.customizations.paginate - DEBUG - Modifying paging parameters for operation: ListGroups2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_generate_skeleton at 0x7fdf1737eae8>2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.iam.list-groups: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>>2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.iam.list-groups: calling handler <bound method GenerateCliSkeletonArgument.override_required_args of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>>2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event operation-args-parsed.iam.list-groups: calling handler functools.partial(<function check_should_enable_pagination at 0x7fdf17328158>, ['marker', 'max-items'], {'max-

181

Page 187: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAllgemeines Verwenden Sie die --debug Option.

items': <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>}, OrderedDict([('path-prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker', <awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items', <awscli.customizations.paginate.PageArgument object at 0x7fdf171c58d0>), ('cli-input-json', <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>), ('starting-token', <awscli.customizations.paginate.PageArgument object at 0x7fdf171b0a20>), ('page-size', <awscli.customizations.paginate.PageArgument object at 0x7fdf171c5828>), ('generate-cli-skeleton', <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>)]))2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.path-prefix: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.marker: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.max-items: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.cli-input-json: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.starting-token: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.page-size: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.generate-cli-skeleton: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG - Event calling-command.iam.list-groups: calling handler <bound method CliInputJSONArgument.add_to_call_parameters of <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>>2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG - Event calling-command.iam.list-groups: calling handler <bound method GenerateCliSkeletonArgument.generate_json_skeleton of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>>2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role-with-web-identity2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: shared-credentials-file2019-08-12 12:36:18,329 - MainThread - botocore.credentials - INFO - Found credentials in shared credentials file: ~/.aws/credentials2019-08-12 12:36:18,330 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/endpoints.json2019-08-12 12:36:18,334 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7fdf1898eb70>2019-08-12 12:36:18,337 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.iam: calling handler <function add_generate_presigned_url at 0x7fdf18a028c8>2019-08-12 12:36:18,337 - MainThread - botocore.regions - DEBUG - Using partition endpoint for iam, us-west-2: aws-global2019-08-12 12:36:18,337 - MainThread - botocore.args - DEBUG - The s3 config key is not a dictionary type, ignoring its value of: None2019-08-12 12:36:18,340 - MainThread - botocore.endpoint - DEBUG - Setting iam timeout as (60, 60)2019-08-12 12:36:18,341 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/_retry.json2019-08-12 12:36:18,341 - MainThread - botocore.client - DEBUG - Registering retry handlers for service: iam2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-parameter-build.iam.ListGroups: calling handler <function generate_idempotent_uuid at 0x7fdf189b10d0>

182

Page 188: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAllgemeines Verwenden Sie die --debug Option.

2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-call.iam.ListGroups: calling handler <function inject_api_version_header_if_needed at 0x7fdf189b2a60>2019-08-12 12:36:18,343 - MainThread - botocore.endpoint - DEBUG - Making request for OperationModel(name=ListGroups) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205'}, 'body': {'Action': 'ListGroups', 'Version': '2010-05-08'}, 'url': 'https://iam.amazonaws.com/', 'context': {'client_region': 'aws-global', 'client_config': <botocore.config.Config object at 0x7fdf16e9a4a8>, 'has_streaming_input': False, 'auth_type': None}}2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event request-created.iam.ListGroups: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7fdf16e9a470>>2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event choose-signer.iam.ListGroups: calling handler <function set_operation_specific_signer at 0x7fdf18996f28>2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - Calculating signature using v4 auth.2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - CanonicalRequest:POST/

content-type:application/x-www-form-urlencoded; charset=utf-8host:iam.amazonaws.comx-amz-date:20190812T193618Z

content-type;host;x-amz-date5f776d91EXAMPLE9b8cb5eb5d6d4a787a33ae41c8cd6eEXAMPLEca69080e1e1f2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - StringToSign:AWS4-HMAC-SHA25620190812T193618Z20190812/us-east-1/iam/aws4_requestab7e367eEXAMPLE2769f178ea509978cf8bfa054874b3EXAMPLE8d043fab6cc92019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - Signature:d85a0EXAMPLEb40164f2f539cdc76d4f294fe822EXAMPLE18ad1ddf58a1a3ce72019-08-12 12:36:18,344 - MainThread - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://iam.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205', 'X-Amz-Date': b'20190812T193618Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIA01234567890EXAMPLE-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=d85a07692aceb401EXAMPLEa1b18ad1ddf58a1a3ce7EXAMPLE', 'Content-Length': '36'}>2019-08-12 12:36:18,344 - MainThread - urllib3.util.retry - DEBUG - Converted retries value: False -> Retry(total=False, connect=None, read=None, redirect=0, status=None)2019-08-12 12:36:18,344 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): iam.amazonaws.com:4432019-08-12 12:36:18,664 - MainThread - urllib3.connectionpool - DEBUG - https://iam.amazonaws.com:443 "POST / HTTP/1.1" 200 5702019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response headers: {'x-amzn-RequestId': '74c11606-bd38-11e9-9c82-559da0adb349', 'Content-Type': 'text/xml', 'Content-Length': '570', 'Date': 'Mon, 12 Aug 2019 19:36:18 GMT'}2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response body:b'<ListGroupsResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">\n <ListGroupsResult>\n <IsTruncated>false</IsTruncated>\n <Groups>\n <member>\n <Path>/</Path>\n <GroupName>MyTestGroup</GroupName>\n <Arn>arn:aws:iam::123456789012:group/MyTestGroup</Arn>\n <GroupId>AGPA1234567890EXAMPLE</GroupId>\n <CreateDate>2019-08-12T19:34:04Z</CreateDate>\n </member>\n </Groups>\n </ListGroupsResult>\n <ResponseMetadata>\n <RequestId>74c11606-bd38-11e9-9c82-559da0adb349</RequestId>\n </ResponseMetadata>\n</ListGroupsResponse>\n'2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event needs-retry.iam.ListGroups: calling handler <botocore.retryhandler.RetryHandler object at 0x7fdf16e9a780>2019-08-12 12:36:18,665 - MainThread - botocore.retryhandler - DEBUG - No retry needed.

183

Page 189: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchIch erhalte die Fehlermeldung „command not

found“ (Befehl nicht gefunden), wenn ich ausführe.aws.

2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event after-call.iam.ListGroups: calling handler <function json_decode_policies at 0x7fdf189b1d90>{ "Groups": [ { "Path": "/", "GroupName": "MyTestGroup", "GroupId": "AGPA123456789012EXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyTestGroup", "CreateDate": "2019-08-12T19:34:04Z" } ]}

Ich erhalte die Fehlermeldung „commandnot found“ (Befehl nicht gefunden), wenn ichausführe.aws.

Mögliche Ursache Der Betriebssystem "Pfad" wurdewährend der Installation nicht aktualisiert.Dieser Fehler bedeutet, dass das Betriebssystem das AWS CLI-Programm nicht finden kann. DieInstallation ist möglicherweise unvollständig.

Wenn Sie pip um das AWS CLI, möglicherweise müssen Sie den Ordner hinzufügen, der den aws zuIhrem Betriebssystem PATH Umgebungsvariable oder ändern Sie den Modus, um ihn ausführbar zumachen.

Möglicherweise müssen Sie das hinzufügen aws mit dem Betriebssystem PATH Umgebungsvariable.Befolgen Sie die Schritte im entsprechenden Verfahren:

• Windows- – Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum Befehlszeilenpfad (p. 40)• macOS – Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum macOS-Befehlszeilenpfad (p. 36)• Linux- – Hinzufügen der ausführbaren AWS CLI Version 1-Datei zum Befehlszeilenpfad (p. 31)

Ich erhalte die Fehlermeldung „accessdenied“ (Zugriff verweigert).

Mögliche Ursache Die AWS CLI Die Programmdateiverfügt nicht über "run".Stellen Sie unter Linux oder macOS sicher, dass das aws-Programm über Ausführungsberechtigungen fürden aufrufenden Benutzer verfügt. In der Regel sind die Berechtigungen auf festgelegt.755.

Um die Laufberechtigung für Ihren Benutzer hinzuzufügen, führen Sie den folgenden Befehl aus, ersetzenSie ~/.local/bin/aws mit dem Pfad zum Programm auf Ihrem Computer.

184

Page 190: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchMögliche Ursache Ihre IAM Die Identität istnicht berechtigt, den Vorgang auszuführen.

$ chmod +x ~/.local/bin/aws

Mögliche Ursache Ihre IAM Die Identität ist nichtberechtigt, den Vorgang auszuführen.Wenn Sie eine AWS CLI Befehl, AWS in Ihrem Auftrag durchgeführt werden, indem SieAnmeldeinformationen verwenden, die Sie mit einem IAM Benutzer oder Rolle. Die Richtlinien, die an dieseIAM Benutzer oder Rolle, die Ihnen erlauben, die API-Aktionen zu nennen, die den Befehlen entsprechen,die Sie mit den AWS CLI.

Die meisten Befehle rufen eine einzelne Aktion mit einem Namen auf, der dem Befehlsnamen entspricht.Benutzerdefinierte Befehle wie aws s3 sync rufen jedoch mehrere APIs auf. Durch Verwendung derOption --debug können Sie erkennen, welche APIs ein Befehl aufruft.

Wenn Sie sicher sind, dass der Benutzer oder die Rolle über die entsprechenden Berechtigungen verfügt,die von der Richtlinie zugewiesen wurden, stellen Sie sicher, dass Ihr AWS CLI-Befehl die erwartetenAnmeldeinformationen verwendet. Siehe nächster Abschnitt über Anmeldeinformationen (p. 185) umsicherzustellen, dass die Anmeldeinformationen AWS CLI verwendet die von Ihnen erwarteten.

Informationen zum Zuweisen von Berechtigungen zum IAM Benutzer und Rollen, siehe Übersicht über dasZugriffsmanagement: Berechtigungen und Richtlinien im IAM-Benutzerhandbuch.

Ich erhalte die Fehlermeldung „invalid credentials(Ungültige Anmeldeinformationen)“.

Mögliche Ursache Die AWS CLI liestAnmeldeinformationen von einem unerwartetenStandort.Die AWS CLI liest Anmeldeinformationen möglicherweise von einem anderen Speicherort als erwartet.Sie können aws configure list ausführen, um anzugeben, welche Anmeldeinformationen verwendetwerden.

Das folgende Beispiel zeigt, wie Sie die Anmeldeinformationen prüfen, die für das Standardprofil verwendetwerden.

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None Noneaccess_key ****************XYVA shared-credentials-filesecret_key ****************ZAGY shared-credentials-file region us-west-2 config-file ~/.aws/config

Das folgende Beispiel zeigt, wie Sie die Anmeldeinformationen prüfen, die für das benannte Profilverwendet werden.

$ aws configure list --profile saanvi Name Value Type Location ---- ----- ---- --------

185

Page 191: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchMögliche Ursache Die Uhr Ihres

Computers ist nicht synchronisiert.

profile saanvi manual --profileaccess_key **************** shared-credentials-filesecret_key **************** shared-credentials-file region us-west-2 config-file ~/.aws/config

Mögliche Ursache Die Uhr Ihres Computers ist nichtsynchronisiert.Wenn Sie gültige Anmeldeinformationen verwenden, ist möglicherweise die Uhr nicht synchronisiert. EinLinux oder macOS, laufen date um die Zeit zu überprüfen.

$ date

Wenn Ihre Systemuhr innerhalb weniger Minuten nicht korrekt ist, verwenden Sie ntpd um sie zusynchronisieren.

$ sudo service ntpd stop$ sudo ntpdate time.nist.gov$ sudo service ntpd start$ ntpstat

Verwenden Sie unter Windows die Optionen für Datum und Uhrzeit in der Systemsteuerung, um IhreSystemuhr zu konfigurieren.

Ich erhalte die Fehlermeldung „signature does notmatch (Signatur stimmt nicht überein)“.

Wenn die AWS CLI führt einen Befehl aus, der eine verschlüsselte Anforderung an das AWS Server, umdie entsprechenden AWS Serviceoperationen. Ihre Anmeldeinformationen (der Zugriffsschlüssel undder geheime Schlüssel) sind an der Verschlüsselung beteiligt und ermöglichen es AWS, die Person zuauthentifizieren, die die Anfrage stellt. Es gibt mehrere Dinge, die den korrekten Vorgang dieses Prozessesfolgendermaßen beeinträchtigen können.

Mögliche Ursache Ihre Uhr ist nicht synchron mit demAWS Server.Zum Schutz vor Angriffsangriffe, die aktuelle Zeit kann während des Verschlüsselungs-/Entschlüsselungsprozesses verwendet werden. Wenn die Zeit von Client und Server um mehr als denzulässigen Wert voneinander abweicht, schlägt der Prozess möglicherweise fehl und die Anfrage wirdabgelehnt. Dies kann auch der Fall sein, wenn Sie einen Befehl in einer virtuellen Maschine ausführen,deren Uhr nicht mit der Uhr des Hostcomputers synchronisiert ist. Eine mögliche Ursache besteht darin,dass die virtuelle Maschine in den Ruhezustand versetzt wird und es nach dem erneuten Aktivieren einigeZeit dauert, die Uhr wieder mit dem Hostcomputer zu synchronisieren.

Ein Linux oder macOS, laufen date um die Zeit zu überprüfen.

$ date

Wenn Ihre Systemuhr innerhalb weniger Minuten nicht korrekt ist, verwenden Sie ntpd um sie zusynchronisieren.

186

Page 192: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchMögliche Ursache Ihr Betriebssystem ist

falsch behandelt AWS geheime Schlüssel,die bestimmte Sonderzeichen enthalten.

$ sudo service ntpd stop$ sudo ntpdate time.nist.gov$ sudo service ntpd start$ ntpstat

Verwenden Sie unter Windows die Optionen für Datum und Uhrzeit in der Systemsteuerung, um IhreSystemuhr zu konfigurieren.

Mögliche Ursache Ihr Betriebssystem ist falschbehandelt AWS geheime Schlüssel, die bestimmteSonderzeichen enthalten.Wenn Ihr geheimer AWS-Schlüssel bestimmte Sonderzeichen enthält, wie beispielsweise -, +, / oder %,verarbeiten einige Betriebssystemvarianten die Zeichenfolge falsch und verursachen eine fehlerhafteInterpretation das geheimen Schlüssels.

Wenn Sie Ihre Zugriffsschlüssel und geheimen Schlüssel mit anderen Tools oder Skripts verarbeiten, wiebeispielsweise Tools, die die Datei mit den Anmeldeinformationen auf einer neuen Instance erstellen,können diese Tools und Skripts über eigene Umgangsweisen für Sonderzeichen verfügen, die dazu führen,dass diese in etwas umgewandelt werden, das AWS nicht mehr erkennt.

Die einfache Lösung besteht darin, den geheimen Schlüssel neu zu generieren, um einen zu erhalten, derdas Sonderzeichen nicht enthält.

187

Page 193: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchUmgebungsvariable für Dateikodierung

Änderungen abbrechen – Migrationvon AWS CLI Version 1 zu Version 2

Dieser Abschnitt beschreibt die Verhaltensänderungen zwischen AWS CLI Version 1 und AWS CLI Version2 die Sie möglicherweise benötigen, um Änderungen an Skripts oder Befehlen vorzunehmen, um dasselbeVerhalten in Version 2 wie in Version 1 zu erhalten.

Themen• AWS CLI Version 2 verwendet jetzt Umgebungsvariable, um Textdateikodierung festzulegen (p. 188)• AWS CLI Version 2 übergibt jetzt standardmäßig binäre Parameter als base64-kodierte

Zeichenfolgen (p. 189)• AWS CLI Version 2 verbessert die Verarbeitung der Dateieigenschaften und Tags durch Amazon S3

bei mehrteiligen Kopien (p. 189)• AWS CLI Version 2 nicht mehr automatisch abrufen http:// oder https:// URL für Parameter (p. 190)• AWS CLI Version 2 verwendet standardmäßig ein Auslagerungsprogramm für die gesamte

Ausgabe. (p. 190)• AWS CLI Version 2 gibt jetzt alle Zeitstempel-Ausgabewerte im ISO 8601-Format zurück. (p. 191)• AWS CLI Version 2 verbessert die Handhabung von AWS CloudFormation-Bereitstellungen, die zu

keinen Änderungen führen (p. 192)• AWS CLI Version 2 verwendet Amazon S3-Schlüssel auf konsistentere Art und Weise (p. 192)• AWS CLI Version 2 verwendet die richtige Amazon S3 regionaler Endpunkt für us-east-1

Region (p. 192)• AWS CLI Version 2 verwendet standardmäßig regionale AWS STS-Endpunkte (p. 192)• AWS CLI Version 2 ersetzt ecr get-login mit ecr get-login-password (p. 193)• AWS CLI Version 2-Unterstützung für Plugins ändert sich (p. 193)• AWS CLI Version 2 unterstützt keine „versteckten“ Aliase mehr (p. 194)

AWS CLI Version 2 verwendet jetztUmgebungsvariable, um Textdateikodierungfestzulegen

Standardmäßig verwenden Textdateien dieselbe Kodierung wie das installierte Gebietsschema. VerwendenSie die Umgebungsvariable AWS_CLI_FILE_ENCODING, um die Kodierung für Textdateien so festzulegen,dass sie sich vom Gebietsschema unterscheiden. Das folgende Beispiel legt fest, dass die CLI Textdateienunter Windows mit UTF-8 öffnet.

AWS_CLI_FILE_ENCODING=UTF-8

Weitere Informationen finden Sie im Umgebungsvariablen zum Konfigurieren der AWS CLI (p. 68) .

188

Page 194: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchÜbergeben von Binärparametern

AWS CLI Version 2 übergibt jetzt standardmäßigbinäre Parameter als base64-kodierteZeichenfolgen

AWS CLI Version 1Mit war es nicht immer einfach, binäre Parameter von der Ausgabe eines Befehls andie Eingabe eines anderen Befehls zu übergeben, ohne dass eine Zwischenverarbeitung erforderlichwar. Einige Befehle erforderlich Basis64-codierte Strings, andere benötigten UTF8-codierte Byte-Strings.AWS CLI Version 2 ermöglicht das Bearbeiten binärer Parameter konsistenter, um eine zuverlässigereÜbertragung von Werten von einem Befehl zu einem anderen zu ermöglichen.

Standardmäßig übergibt der AWS CLI Version 2 nun alle binären Eingabe- und Ausgabeparameterals base64-kodierte Zeichenfolgen. Ein Parameter, der eine binäre Eingabe erfordert, wird in derDokumentation als blob (Binary Large Object) angegeben. Damit Binärdaten als Datei an einen CLI-Parameter übergeben werden können, ermöglicht es AWS CLI Version 2, die Datei mit den folgendenPräfixen anzugeben:

• file:// – die AWS CLI behandelt den Dateiinhalt als base64-kodierten Text. Beispiel, --some-paramfile://~/my/path/file-with-base64.txt

• fileb:// – Die AWS CLI behandelt den Dateiinhalt als unkodiertes Binary. Beispiel, --some-paramfileb://~/my/path/file-with-raw-binary.bin

Sie können den AWS CLI Version 2 um zum AWS CLI Version 1 Verhalten, indem Sie die folgende Zeile im~/.aws/config Datei für ein Profil.

cli_binary_format=raw-in-base64-out

Sie können auch die Einstellung für einen einzelnen Befehl rückgängig machen und dabei die aktiveProfileinstellung überschreiben, indem Sie den Parameter --cli-binary-format raw-in-base64-out in die Befehlszeile aufnehmen.

Wenn Sie zum AWS CLI Version 1 Verhalten und legen Sie eine Datei für einen binärären Parameter fest.file:// oder fileb://, die AWS CLI behandelt den Dateiinhalt als uncodierte Rohbinäre.

AWS CLI Version 2 verbessert die Verarbeitung derDateieigenschaften und Tags durch Amazon S3 beimehrteiligen Kopien

Wenn Sie die AWS CLI Version 1 Version von Befehlen im aws s3 Namespace zum Kopieren einer Dateivon einer Amazon S3 Bucket-Standort zu einem anderen Amazon S3 Bucket-Standort, und dieser Vorgangverwendet Mehrteilige Kopie, keine Dateieigenschaften vom Quellobjekt werden in das Zielobjekt kopiert.

Standardmäßig AWS CLI Version 2 Befehle im s3 Namespace, die mehrere Teilkopien ausführen,übertragen nun alle Tags und die folgenden Eigenschaften von der Quelle in die Zielkopie: content-type, content-language, content-encoding, content-disposition, cache-control,expires, und metadata.

Dies kann zu zusätzlichen AWS API-Anrufe an das Amazon S3 Endpunkt, der bei Verwendungnicht gemacht wurde AWS CLI Version 1. Dazu gehören: HeadObject, GetObjectTagging, undPutObjectTagging.

189

Page 195: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKein automatisches Abrufen von Webseiten für Parameter

Wenn Sie dieses Standardverhalten ändern müssen AWS CLI Version 2 Befehle, verwenden Sie die --copy-props Parameter, um eine der folgenden Optionen festzulegen:

• Standard – Der Standardwert. Gibt an, dass die Kopie alle Tags beinhaltet, die an das Quellobjektangehängt sind, und die Eigenschaften, die durch die --metadata-directive Parameter fürnicht-mehrteilige Kopien: content-type, content-language, content-encoding, content-disposition, cache-control, expires, und metadata.

• Metadaten-Richtlinie – Gibt an, dass die Kopie nur die Eigenschaften enthält, die durch die --metadata-directive Parameter für nicht-mehrteilige Kopien. Es werden keine Tags kopiert.

• keine – Gibt an, dass die Kopie keine der Eigenschaften des Quellobjekts enthält.

AWS CLI Version 2 nicht mehr automatisch abrufenhttp:// oder https:// URL für Parameter

Die AWS CLI Version 2 führt keinen GET-Vorgang mehr durch, wenn ein Parameterwert beginnt mithttp:// oder https://, und verwenden Sie dann den zurückgegebenen Inhalt als Wert des Parameters.Wenn Sie eine URL abrufen und den von dieser URL gelesenen Inhalt als Wert eines Parametersübergeben müssen, empfehlen wir Ihnen curl oder ein ähnliches Tool, um den Inhalt der URL in einelokale Datei herunterzuladen. Verwenden Sie dann die file://-Syntax, um den Inhalt dieser Datei zulesen und sie als Wert des Parameters zu verwenden.

Mit dem folgenden Befehl wird beispielsweise nicht mehr versucht, den Inhalt der Seite abzurufen,der unter http://www.google.com gefunden wird, und diesen Inhalt als Parameter zu übergeben.Stattdessen wird die literale Textzeichenfolge https://google.com als Parameter übergeben.

$ aws ssm put-parameter --value http://www.google.com --name prod.microservice1.db.secret --type String 2

Wenn Sie wirklich den Inhalt einer Web-URL als Parameter abrufen und verwenden möchten, können Siein Version 2 Folgendes tun.

$ curl https://my.example.com/mypolicyfile.json -o mypolicyfile.json$ aws iam put-role-policy --policy-document file://./mypolicyfile.json --role-name MyRole --policy-name MyReadOnlyPolicy

Im vorherigen Beispiel ist das -o Parameter sagt curl um die Datei im aktuellen Ordner mit dem gleichenNamen wie die Quelldatei zu speichern. Der zweite Befehl ruft den Inhalt dieser heruntergeladenen Dateiab und übergibt den Inhalt als Wert von --policy-document.

AWS CLI Version 2 verwendet standardmäßig einAuslagerungsprogramm für die gesamte Ausgabe.

Standardmäßig gibt AWS CLI Version 2 die gesamte Ausgabe über das Standard-Pager-Programm IhresBetriebssystems zurück. Standardmäßig ist dieses Programm die less Programm auf Linux und Macosund das more Programm auf Windows. Dies kann es Ihnen erleichtern, durch umfangreiche Ausgabeeines Service zu navigieren, indem Sie diese Ausgabe seitenweise anzeigen. Manchmal möchten Siejedoch die gesamte Ausgabe, ohne zum Aufruf jeder Seite eine Taste drücken zu müssen, z. B. wenn SieSkripts ausführen. Hierzu können Sie die AWS CLI Version 2 so konfigurieren, dass sie ein anderes odergar kein Auslagerungsprogramm verwendet. Um dies zu tun, konfigurieren Sie entweder die AWS_PAGER

190

Page 196: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchAlle Datums-/Uhrzeitwerte im ISO 8601-Format

Umgebungsvariable oder cli_pager Einstellung in Ihrem ~/.aws/config und geben Sie den Befehl an,den Sie verwenden möchten. Sie können einen Befehl angeben, der sich in Ihrem Suchpfad befindet, oderden vollständigen Pfad und Dateinamen für jeden auf dem Computer verfügbaren Befehl angeben.

Sie können die gesamte Verwendung eines externen Auslagerungsprogramms vollständig deaktivieren,indem Sie die Variable auf eine leere Zeichenfolge setzen, wie in den folgenden Beispielen gezeigt.

Durch Festlegen einer Option in der ~/.aws/config-Datei

Das folgende Beispiel zeigt die Einstellung für die default Profil, aber Sie können die Einstellung zujedem Profil in Ihrem ~/.aws/config Datei.

[default]cli_pager=

Durch Festlegen einer Umgebungsvariablen

Linux oder macOS:

$ export AWS_PAGER=""

Windows:

C:\> setx AWS_PAGER ""

AWS CLI Version 2 gibt jetzt alle Zeitstempel-Ausgabewerte im ISO 8601-Format zurück.

Standardmäßig, AWS CLI Version 2 gibt alle Zeitstempelantwortwerte in der ISO 8601-Format. In AWSCLI Version 1 gaben Befehle Zeitstempelwerte in einem Format zurück, das von der HTTP-API-Antwortzurückgegeben wurde, was von Service zu Service variieren konnte.

Gemäß ISO 8601 formatierte Zeitstempel sehen wie die folgenden Beispiele aus. Das erste Beispiel zeigtdie Zeit in Koordinierte Universalzeit (UTC) durch ein Z nach der Zeit. Datum und Uhrzeit werden durch eingetrennt.T.

2019-10-31T22:21:41Z

So legen Sie eine andere Zeitzone anstelle des Z, geben Sie eine + oder - und die Anzahl der Stunden,die gewünschte Zeitzone vor oder hinter UTC liegt, als zweistelliger Wert. Das folgende Beispiel zeigt diegleiche Zeit wie das vorherige Beispiel, aber angepasst an die Pacific Standard Time, die acht Stundenhinter der UTC-Zeit liegt.

2019-10-31T14:21:41-08

Um Zeitstempel im Format anzuzeigen, das von der HTTP-API-Antwort zurückgegeben wird, fügen SieIhrem .aws/config-Profil die folgende Zeile hinzu.

cli_timestamp_format = wire

191

Page 197: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchVerbesserte Handhabung der AWS

CloudFormation-Bereitstellung

AWS CLI Version 2 verbessert die Handhabungvon AWS CloudFormation-Bereitstellungen, die zukeinen Änderungen führen

in AWS CLI Version 1, wenn Sie eine AWS CloudFormation Vorlage, die zu keiner Änderung führte, diestandardmäßig AWS CLI Fehler bei einem Fehlercode. Dies könnte ein Problem darstellen, wenn Sie diesnicht als Fehler betrachten und möchten, dass Ihr Skript fortgesetzt wird. Sie könnten in diesem BereichAWS CLI Version 1, indem Sie das Flag hinzufügen -–no-fail-on-empty-changeset welche Renditen0 und verursacht keinen Fehler in Ihrem Skript.

Da dies das allgemeine Szenario ist, AWS CLI Version 2 ist nun standardmäßig die Rückgabe eineserfolgreichen Ausstiegscodes 0 wenn keine Änderung durch die Bereitstellung verursacht wird, gibt derVorgang einen leeren Changeset zurück.

in AWS CLI Version 2, um zum ursprünglichen Verhalten zurückzukehren, müssen Sie das neue Flaghinzufügen --fail-on-empty-changeset.

AWS CLI Version 2 verwendet Amazon S3-Schlüssel auf konsistentere Art und Weise

Für die Amazon S3 Anpassungsbefehle im s3 Namespace haben wir die Konsistenz der Darstellung vonPfaden verbessert. In AWS CLI Version 2 werden Pfade immer in Relation zum relevanten Schlüsselangezeigt. Die AWS CLI Version 1 zeigt manchmal Pfade im absoluten Formular und manchmal imrelativen Formular.

AWS CLI Version 2 verwendet die richtige AmazonS3 regionaler Endpunkt für us-east-1 Region

Wenn Sie AWS CLI Version 1 um die us-east-1 Region, der AWS CLI verwendet werdens3.amazonaws.com Endpunkt, der physisch im us-east-1 Region. AWS CLI Version 2 verwendet jetztden echten regionalen Endpunkt s3.us-east-1.amazonaws.com wenn diese Region festgelegt ist. Umdie AWS CLI Version 2 um den globalen Endpunkt zu verwenden, können Sie die Region für einen Befehlfestlegen, um aws-global.

AWS CLI Version 2 verwendet standardmäßigregionale AWS STS-Endpunkte

Standardmäßig, AWS CLI Version 2 sendet alle AWS STS API-Anforderungen an den regionalen Endpunktfür die aktuell konfigurierte AWS Region.

Standardmäßig, AWS CLI Version 1 sendet AWS STS Anforderungen an die globale AWS STS Endpunkt.Sie können dieses Standardverhalten in V1 unter Verwendung der sts_regional_endpunkte (p. 57)Einstellung.

192

Page 198: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuchals veraltet kennzeichnenecr get-login

AWS CLI Version 2 ersetzt ecr get-login mitecr get-login-password

Die AWS CLI Version 2 ersetzt den Befehl aws ecr get-login mit dem neuen aws ecr get-login-password Befehl, der die automatische Integration mit Containerauthentifizierung verbessert.

Der Befehl aws ecr get-login-password verringert das Risiko, dass Ihre Anmeldeinformationenin der Prozessliste, dem Shellverlauf oder anderen Protokolldateien offengelegt werden. Er verbessertaußerdem die Kompatibilität mit dem Befehl docker login und ermöglicht eine bessere Automatisierung.

Die aws ecr get-login-password Befehl ist im AWS CLI Version 1.17.10 und später und AWSCLI Version 2. Die ältere aws ecr get-login der Befehl ist weiterhin im AWS CLI Version 1 fürRückwärtskompatibilität.

Mit dem Befehl aws ecr get-login-password können Sie den folgenden Code ersetzen, mit dem einPasswort abgerufen wird.

$(aws ecr get-login -no-include-email)

Verwenden Sie stattdessen den folgenden Beispielbefehl, um das Risiko zu verringern, das Passwort fürden Shellverlauf oder die Protokolle offenzulegen. In diesem Beispiel wird das Passwort direkt auf dasdocker login , wo der Kennwortparameter durch den --password-stdin Option.

aws ecr get-login-password | docker login --username AWS --password-stdin MY-REGISTRY-URL

AWS CLI Version 2-Unterstützung für Pluginsändert sich

Plug-in-Unterstützung in der AWS CLI Version 2 ist vollständig provisorisch und soll den Benutzern helfen,AWS CLI Version 1 bis eine stabile, aktualisierte Plugin-Schnittstelle freigegeben wird. Es gibt keineGarantie, dass ein bestimmtes Plugin oder selbst die CLI-Plug-in-Schnittstelle in zukünftigen Versionender unterstützt wird.AWS CLI Version 2. Wenn Sie sich auf Plugins verlassen, stellen Sie sicher, dass Sieeine bestimmte Version der CLI sperren und die Funktionalität Ihres Plugins testen, wenn Sie ein Upgradedurchführen.

Um Plugin-Unterstützung zu aktivieren, erstellen Sie einen [plugins]-Abschnitt in Ihrer ~/.aws/config.

[plugins]cli_legacy_plugin_path = <path-to-plugins>/python3.7/site-packages<plugin-name> = <plugin-module>

Im [plugins] , beginnen Sie mit der Definition des cli_legacy_plugin_path Variablen und setzenSie ihren Wert auf den Python-Standort-Paketpfad, den Ihr Plugin-Modul in leben. Dann können Sieein Plugin konfigurieren, indem Sie einen Namen für das Plugin angeben (plugin-name) und denDateinamen des Python-Moduls (plugin-module), die den Quellcode für Ihr Plugin enthält. Die CLI lädtjedes Plugin durch Importieren plugin-module und rufen Sie ihre awscli_initialize Funktion.

193

Page 199: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface BenutzerhandbuchKeine versteckten Aliase

AWS CLI Version 2 unterstützt keine „versteckten“Aliase mehr

AWS CLI Version 2 unterstützt die folgenden versteckten Aliase nicht mehr, die in Version 1 unterstütztwurden.

In der folgenden Tabelle werden in der ersten Spalte der Service, Befehl und Parameter angezeigt, diein allen Versionen funktionieren, einschließlich AWS CLI Version 2. In der zweiten Spalte wird der Aliasangezeigt, der in nicht mehr funktioniert.AWS CLI Version 2

Funktionierender Service, Befehl und Parameter Veralteter Alias

cognito-identity create-identity-pool open-id-connect-provider-arns open-id-connect-provider-ar-ns

storagegateway describe-tapes tape-arns tape-ar-ns

storagegateway.describe-tape-archives.tape-arns tape-ar-ns

storagegateway.describe-vtl-devices.vtl-device-arns vtl-device-ar-ns

storagegateway.describe-cached-iscsi-volumes.volume-arns volume-ar-ns

storagegateway.describe-stored-iscsi-volumes.volume-arns volume-ar-ns

route53domains.view-billing.start-time start

deploy.create-deployment-group.ec2-tag-set ec-2-tag-set

deploy.list-application-revisions.s3-bucket s-3-bucket

deploy.list-application-revisions.s3-key-prefix s-3-key-prefix

deploy.update-deployment-group.ec2-tag-set ec-2-tag-set

iam.enable-mfa-device.authentication-code1 authentication-code-1

iam.enable-mfa-device.authentication-code2 authentication-code-2

iam.resync-mfa-device.authentication-code1 authentication-code-1

iam.resync-mfa-device.authentication-code2 authentication-code-2

importexport.get-shipping-label.street1 street-1

importexport.get-shipping-label.street2 street-2

importexport.get-shipping-label.street3 street-3

lambda.publish-version.code-sha256 code-sha-256

lightsail.import-key-pair.public-key-base64 public-key-base-64

opsworks.register-volume.ec2-volume-id ec-2-volume-id

194

Page 200: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

Dokumentverlauf für das AWS CLI-Benutzerhandbuch

In der folgenden Tabelle werden wichtige Ergänzungen zum Benutzerhandbuch für AWS CommandLine Interface ab Januar 2019 beschrieben. Um Benachrichtigungen über Aktualisierungen dieserDokumentation zu erhalten, können Sie den RSS-Feed abonnieren.

update-history-change update-history-description update-history-date

AktualisierteVersionsinstallationsinformationen

Die Installationsinformationenfür Linux, macOS und Windowswerden mit Informationen zumHerunterladen und Installierenbestimmter Versionen des AWSCLI Version 2.

May 19, 2020

AktualisierteInstallationsinformationen

Die Installations-,Aktualisierungs- undDeinstallationsinformationenfür Linux, macOS und Windowswurden aktualisiert.

May 19, 2020

Informationen für dieTextdateikodierung auf der AWSCLI Version 2 hinzugefügt

AWS CLI Version 2 verwendetstandardmäßig dieselbeTextdateikodierung wielokal. Sie können jetztUmgebungsvariablen verwenden,um die Textdateikodierungfestzulegen.

May 14, 2020

Offizielles Docker-Image für dieAWS CLI Version 2 veröffentlicht

Das offizielle Support-Docker-Image für die AWS CLI Version2 wird für alle Linux, macOS undWindows veröffentlicht.

March 31, 2020

Informationen über clientseitigePager für AWS CLI Version 2hinzugefügt

Standardmäßig verwendetAWS CLI Version 2 das Pager-Programm less für alleclientseitigen Ausgaben.

February 19, 2020

AWS Command Line Interface(AWS CLI) Version 2 ist offiziellveröffentlicht

Die AWS CLI Version 2 istallgemein verfügbar und ist dieempfohlene Version für Kunden.

February 10, 2020

Das macOS-Installationsprogramm für AWSCLI Version 2 ist jetzt eine .pkg-Apple-Package-Installationsdatei.

Das macOS-Installationsprogramm für AWSCLI Version 2 wurde von einer.zip-Datei mit einem Shell-Skript auf ein vollständigesmacOS-Installer-Paketaktualisiert. Dies vereinfacht dieInstallation und macht sie mitden neuesten macOS-Versionenkompatibel.

February 3, 2020

195

Page 201: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

Es wurde neuer Inhalt für AWSCLI Version 2s verbesserteStandardbehandlung vonregionalen S3- und STS-Endpunkten hinzugefügt.

Standardmäßig leitet AWSCLI Version 2 Anfragen fürdie Amazon S3- und AWSSTS-Services jetzt an denaktuell konfigurierten regionalenEndpunkt statt an den globalenEndpunkt weiter.

January 13, 2020

Wurde aktualisiert, um dieUnterstützung für Python 2.6 und3.3 von AWS CLI Version 1 zuentfernen.

Ab dem 10. Januar 2020unterstützt AWS CLI Version 1nicht mehr die Verwendung vonPython-Version 2.6 oder 3.3.Sie müssen auf eine neuereVersion von Python aktualisieren,um AWS CLI Version 1.17 oderhöher verwenden zu können.

January 10, 2020

Es wurde Unterstützung fürAWS – Einmaliges Anmelden fürbenannte Profile der AWS CLIhinzugefügt.

AWS CLI Version 2 unterstütztnun das Erstellen einesbenannten Profils, das sichdirekt bei einem AWS SSO-Benutzerkonto anmeldenund temporäre AWS-Anmeldeinformationen für dieVerwendung in nachfolgendenAWS CLI-Befehlen abrufen kann.

November 7, 2019

Entwickler-Vorversion für AWSCLI Version 2

Ankündigung der Vorversion vonAWS CLI Version 2. Es wurdenAnweisungen zur Installationvon Version 2 hinzugefügt.Das Migrationsthema wurdehinzugefügt, um Unterschiedezwischen den Versionen 1 und 2zu erläutern.

November 7, 2019

Neuer Abschnitt zur MFA Es wurde ein neuer Abschnitthinzugefügt, in dem beschriebenwird, wie auf die CLI mithilfe vonMulti-Faktor-Authentifizierung undRollen zugegriffen wird.

May 3, 2019

Aktualisierung des Abschnitts"Verwenden des CLI"

Wichtige Verbesserungenund Ergänzungen bei denNutzungsanweisungen und -verfahren.

March 7, 2019

Aktualisierung des Abschnitts"Konfigurieren der CLI"

Wichtige Verbesserungen undErgänzungen bei den CLI-Konfigurationsanweisungen und -verfahren.

March 7, 2019

Aktualisierung des Abschnitts"Installieren der CLI"

Wichtige Verbesserungen undErgänzungen bei den CLI-Installationsanweisungen und -verfahren.

March 7, 2019

196

Page 202: AWS Command Line Interface - Benutzerhandbuch · AWS Command Line Interface Benutzerhandbuch Über Amazon Web Services • Benutzereingabe – Befehlstext, den Sie in der Befehlszeile

AWS Command Line Interface Benutzerhandbuch

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

cxcvii