Die Web-basierte Management-Konsole von Amazon Web Services wird dem Elastizitäts-Prinzip und Automatisierungsgedanken der Public Cloud nicht immer gerecht. Mit AWS CLI gibt es aber eine Kommandozeilen-Integration, die Cloud-Spezialisten bei der Ressourcen-Verwaltung entgegenkommt.
Mit der AWS-Befehlszeilen-Schnittstelle (Command Line Interface, CLI) steht dem Cloud-Admin ein Werkzeug zur Verfügung, mit der er sämtlicher Aspekte seiner AWS-Dienste steuern und verwalten kann. Amazon Web Services stellt die Kommandoschnittstelle für Windows (64- und 32-Bit) sowie für Mac und Linux (diese beiden erfordern Python 2.6.5 oder jünger) zum kostenlosen Download zur Verfügung. Die iX-Installation kann dabei mit Hilfe von pip erfolgen:
pip install awscli
Der Admin findet die Download-Pakete, ein Erste-Schritte-How-To, eine CLI-Befehlsreferenz und den Einstieg ins Community-Form auf der AWS-CLI-Seite. Man kann die AWS-Kommonadozeilen-Schnittstelle auf einem beliebigen Arbeitsplatz im eigenen Rechenzentrum, im Heimbüro und natürlich in jeder beliebigen EC2-Instanz installieren.
Möchte der Admin das AWS-CLI in einer EC2-Instanz verwenden, bietet es sich an, eine Art „Command Host“ in einem Public Subnet bereitzustellen und dazu das Amazon-Linux-AMI zu verwenden, weil die CLI-Tools in diesem bereits vorinstalliert sind. Wurde CLI installiert, muss es noch konfiguriert werden, was man durch Eingeben von
aws configure
erreicht. Unter Windows lässt sich dieser Befehl wahlweise im Kommandozeilentool CMD oder über die Powershell absetzen. Das interaktive Kommando erfragt zunächst einen Access Key und das zugehörige Secret für gewünschten User.
Access Keys
Dieser Anwender kann theoretisch ein root-Benutzer sein. Allerdings wird man zu diesem Zweck üblicherweise einen IAM-Benutzer verwenden, der nicht notwendigerweise eine menschliche Entinität sein muss. Geht es nur um das Verwalten von AWS-Ressourcen per CLI, kann man durchaus einen IAM-User (z. B. zum Berechtigen von EC2-Instanzen) anlegen, der keinen Zugriff auf die Management-Konsole sondern nur programmatischen Zugriff besitzt.
Hierbei hat man jederzeit die Möglichkeit, temporär benötigte Access Keys anzulegen. Dabei liefert IAM die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel zurück. Letzterer lässt sich nur beim Anlegen einmal sichtbar anzeigen und muss dann heruntergeladen und sicher aufbewahrt werden. Geht ein geheimer Zugriffsschlüssel verloren, muss der Admin den Zugriffsschlüssel des zugehörigen IAM-Benutzers löschen und einen neuen Schlüssel erstellen. Allgemein handelt es sich bei Access-Keys um ein symmetrisches AES-Verfahren.
AWS-Benutzer benötigen immer dann eigene Access-Keys, wenn sie AWS-Ressourcen über die AWS-CLI oder die Windows PowerShell Tools erstellen/verwalten möchten oder AWS-Ressourcen z. B. in Skripten oder einer Programmiersprache mit AWS-Support programmgesteuert aufzurufen. Auch werden Access-Keys benötigt, um direkte HTTP-Aufrufe mithilfe der APIs für einzelne AWS-Services auszuführen.