patpitchaya - Fotolia

Einsteiger-Tipps zum Arbeiten mit der AWS-Kommandozeile

Über die Kommandozeile lassen sich AWS-Ressourcen effizient automatisieren. Diese Tipps helfen beim Einstieg in die AWS-Kommandozeile.

Die AWS-Kommandozeile bietet einen einfacheren und schnelleren Zugriff auf die AWS-Infrastruktur als Admin-Tools mit grafischer Benutzeroberfläche. Damit lassen sich zum Beispiel laufende Instanzen überprüfen, Konfigurationen anpassen und auch weitere Aufgaben durchführen – ganz ohne langwierige Wege im Menü GUI-basierter Tools gehen zu müssen.

Über die AWS-Kommandozeile kann zudem das Service-Management leichter durchgeführt werden und es lassen sich Skripte zur Automatisierung nutzen. Die AWS-Kommandozeile lässt sich leicht auf Windows-, Mac- oder Unix-Clients installieren. Der Nutzen lässt sich zudem über Shell-Skripte oder JSON-Skeletons für automatisierte Aufgaben noch erhöhen.

Die folgenden Tipps sollen vor allem Einsteigern und Neulingen den Umgang mit der AWS-Kommandozeile erleichtern und Anhaltspunkte für das weitere Arbeiten bieten.

Aws help – Hilfe für die Kommandozeile

Cloud-Infrastrukturen basieren auf einer Ansammlung verschiedener Services, von denen wiederum jeder unterschiedliche Befehle und Optionen unterstützt. Manchmal will man dabei schnell bestimmte Befehle, Einstellungen oder Formate für einen Service herausfinden, was die AWS-Kommandozeile über den Befehl help ermöglicht.

Über aws help erhält man also eine Liste global verfügbarer Befehle. Gibt man stattdessen einen Service-Namen gefolgt von help ein, werden entsprechende Befehle für den jeweiligen Service angezeigt. Im Falle von AWS Elastic Compute Cloud (EC2) würde der help-Befehl  folgendermaßen aussehen: aws ec2 help. Input-Formate und weitere Optionen lassen sich über die angehängte Befehlsbezeichnung nach dem Service-Namen anzeigen, beispielsweise als aws ec2 describe-service help. Über den Befehl aws help topics erhält man zudem eine Liste möglicher Hilfethemen.

Autovervollständigung für Kommandozeilenbefehle aktivieren

Das manuelle Eingeben von Befehlen, jedes Mal wenn sie benötigt werden, ist aufwendig und entsprechend zeitintensiv. Die AWS-Kommandozeile verfügt aber über eine Funktion zur Autovervollständigung für Kommandozeilenbefehle, mit der sich die Eingabe wesentlich beschleunigen lässt. Hierfür muss während der Eingabe lediglich die Tab-Taste gedrückt werden.

Je nach Installationsart der Kommandozeile und Konfiguration von Amazon Linux ist hierfür allerdings etwas Vorarbeit nötig. Auf anderen Plattformen muss zudem der Shell-Name und der Speicherort des AWS_Completer-Skripts spezifiziert werden. Über den Befehl echo $SHELL lässt sich die aktuelle Shell identifizieren, während der Befehl Which AWS_Completer den aktuellen Speicherort des AWS_Completer-Skripts anzeigt. Shells wie Bash, tcsh oder zsh benötigen zum Starten aber jeweils unterschiedliche Befehle.

Standardeinstellungen überschreiben

Während man an ein und demselben Projekt arbeitet, kommt es durchaus vor, dass man hierfür zwischen verschiedenen Profilen, Regionen, Output-Formaten oder Endpunkten hin- und herwechseln muss. Eine Empfehlung hierfür lautet, die Parameter der AWS-Kommandozeile zu nutzen, die mit zwei vorangestellten Bindestrichen eingegeben werden: --profile, --region, --output oder auch --endpoint-url.

Damit wird es deutlich einfacher, Ressourcen in unterschiedlichen Regionen zu überprüfen oder temporär das Output-Format zu ändern, um bestimmte Informationen zu lesen. Ein anderes Beispiel wäre die Nutzung mehrerer Befehle mit jeweils unterschiedlichen Konfigurationseinstellungen, um so zu sehen, wo welche Instanzen laufen.

AWS-Templates mit Skeletons erstellen

Es gibt natürlich mehrere Möglichkeiten, auf der Kommandozeile eine Sammlung komplexer Befehle innerhalb eines Projektes auszuführen. Eine besteht zum Beispiel darin, die Befehle als Textdatei auf dem lokalen Rechner oder einem freigegebenen Verzeichnis abzulegen. Die Nutzung eines Code-Repository bietet dembegenüber aber weitaus mehr Möglichkeiten, was zum Beispiel das Arbeiten mit Änderungen und Updates des ursprünglichen Skripts erleichtert.

Die AWS-Kommandozeile beinhaltet auch eine Sammlung an Tools für die Skeleton-Erstellung, mit denen sich die Input-Parameter für komplexe Befehle modifizieren lassen. Möglich ist dies über den generate-cli-skeleton–Befehl innerhalb von EC2-Instanzen. Damit wird es einfacher, die Parameter mit einer JSON-Datei statt über ein Skript zu modifizieren.

Auch über die AWS-Kommandozeile können aber Befehlsketten implementiert werden, um komplexe Aufgaben durchzuführen. Wenn man beispielsweise Befehle nacheinander abarbeiten lassen möchte, kann das Ergebnis des ersten Befehls problemlos den nächsten Befehl auslösen. In manchen Fällen ist es aber auch besser, das Ergebnis mit Tools zum Text-Processing wie grep, sed oder awk zu verknüpfen.

Bessere Nutzererfahrung mit den aws-shell-Tool

Die AWS-Kommandozeile bietet einfachen Zugriff auf tausende Befehle für Amazon-Services, die Benutzeroberfläche kann aber gerade für längere Outputs etwas schwierig darzustellen und zu lesen sein. Das Tool aws-shell kann hierbei Abhilfe leisten und die Benutzererfahrung deutlich verbessern, indem es zum Beispiel Unterstützung für die Autovervollständigung undeutlicher Befehle oder Identifier für Optionen und Ressourcen bietet, wodurch man lediglich die ersten Buchstaben eines längeren Befehls eingeben muss, um anschließend durch eine Liste der möglichen vollen Befehle scrollen zu können.

Das aws-shell-Tool bietet auch Support für die dynamische In-line-Dokumentation von Befehlen und Optionen. Damit lässt sich noch während des Tippens anzeigen, wie bestimmte Befehle formatiert werden müssen, ohne hierfür eine separate Suche in der Hilfe bemühen zu müssen. Es gibt aber zum Beispiel auch Tools, um das Pipelining von Textdateien und JSON-Dokumenten zu verbessern. Am Ende jeder Sitzung ermöglicht das aws-shell-Tool für die spätere Nutzung zudem das Speichern neuer Befehle in einer Textdatei.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Juni 2016 aktualisiert

Erfahren Sie mehr über Public-Cloud-Infrastruktur

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close