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.