Amazon Command Line Interface zum Laufen bringen – Teil I

Der Titel sagt es schon: Am Ende dieser Postingreihe werdet ihr wissen, wie ihr mit dem Command Line Interface für eure Amazon Cloud Dienste arbeiten könnt.

  • Teil I: AWS-CLI installieren und einrichten
  • Teil II: AWS-CLI Command ausführen

Ich werde hauptsächlich Bezug auf den S3 Storage nehmen. Aber für Teil I ist das vollkommen egal, denn in diesem geht es darum, AWS-CLI soweit zu bekommen, dass ihr auf eure AWS-Cloud zugreifen könnt. In Teil II werde ich auf die Commands eingehen. Das geht dann tiefer um S3. Di Handhabung ist jedoch bei allen Services gleich. Wenn ihr also Teil II verstanden habt, dann könnt ihr euch ganz leicht auch die anderen Services erarbeiten.

Um AWS-CLI zum Laufen zu bringen müsst ihr:

  • AWS-CLI installieren
  • Access Keys generieren
  • Profil(e) einrichten

AWS-CLI installieren

Das ist der leichteste Part. Ich habe es bei mir unter Windows 7 installiert. Es gibt aber auch die Möglichkeit für Mac und Linux.

Geht auf https://aws.amazon.com/de/cli/ (neuer Tab) und installiert euch das Tool. Mit dem .msi installer für Windows müsst ihr nur den Anweisungen folge und könnt danach ohne Neustart sofort loslegen.

Ihr könnt sofort testen, ob es geklappt, wenn ihr in die shell geht (cmd in der Eingabeaufforderung) und dort eingebt:

aws --version

Danach gibt es eine Ausgabe, die etwa so aussieht:

aws-cli/1.16.67 Python/3.7.1 Linux/4.14.77-81.59-amzn2.x86_64 botocore/1.12.57

Mit dem Befehlt

aws configure list

könnt ihr euch gleich noch anschauen, welche Profile ihr für AWS-CLI schon angelegt habt. Bei einer kompletten neuen sauberen Installation sollte hier jetzt überall NONE stehen.

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key                <not set>             None    None
secret_key                <not set>             None    None
    region                <not set>             None    None

Jetz geht es daran Profile zu erstellen. Das kann man aber nur, wenn man die zugehörigen Zugriffschlüssel hat.

Access Keys generieren

Ihr braucht zwei Arten von Zugriffschlüsseln:

  • Access Key
  • und Secret Access Key

Das sind der öffentliche und der geheimen Schlüssel, damit AWS-CLI eine sichere Verbindung mit dem richtigen Profil aufbauen kann.

Diese keys findet ihr, wenn ihr auch in euren AWS account einloggt gleich am Anfang. Die zweite Alternative könnt ihr nehmen, falls ihr schon in AWS angemeldet seit. Dann geht ihr ganz oben auf euren Namen und wählt da im Drop Down „My Security Credentials“ aus. Oder ihr nehmt diesen Direkt link https://console.aws.amazon.com/iam/home#/security_credentials (neuer Tab).

Jetzt unter Zugriffsschlüssel (oder Access Key) könnt ihr die beiden Schlüssel generieren lassen. Aber Achtung speichert die sofort, weil es laut Amazon keine Möglichkeit gibt, sich die wieder anzeigen zu lassen.

Wenn ihr jetzt die beiden Schlüssel habt geht es ans Einrichten der Profile.

Profil(e) einrichten

AWS-CLI speichert die Profile in den Dateien config und credentials ab. Diese beiden Dateien findet ihr in Windows im Folder „%UserProfile%\.aws“. Allerdings erst, nachdem ihr den generiert habt. Das übernimmt aber AWS-CLI automatisch für euch, wenn ihr ein Profil anlegt.

Was ihr machen müsst, ist folgendes. Gebt in der shell ein:

aws configure

Jetzt müsst ihr per command line eure jeweiligen Daten eingeben

AWS Access Key ID:
AWS Secret Access Key:
Default region name:
Default output format:

Die beiden Keys habt ihr ja oben schon generiert, also gehe ich kurz auf die Region und das Format ein.

Region Name

Ich gehe jetzt davon aus, dass ihr schon einen Service von Amazon Web Services nutzt. In dem Fall habt ihr euch ja am Anfang schon für eine Region entschieden. Falls ihr nicht mehr wisst, welche das ist, dann loggt euch in AWS ein, geht in euren Service und in der Übersichtstabelle findet ihr eure Region.

Problem ist nur, ihr braucht nicht den Namen der Region, sonder die ID der Region. Das hat Amazon hier etwas doof gelöst, weil die Begrifflichkeiten durcheinander gewürfelt wurden. Aber Hilfe ist nah in Form einer Übersichtsseite, bereitgestellt von Amazon selber.
Schaut unter https://docs.aws.amazon.com/de_de/general/latest/gr/rande.html (neuer Tab) nach, dort findet neben andern wichtigen Infos auch den Identifier eurer Region. Allerdings nicht Identifier sondern nur Region genannt.

Jetzt habe ihr die Region, die ihr eintragen könnt.

Output format

Das output format gibt an, wie die Ausgabeergebnisse formatiert werden sollen.

Wollt ihr es euch einfach machen, dann tragt nix ein, denn der default ist json. Das ist dann interessant, wenn ihr mit einem eigenen Tool eure Verwaltung betreibt.

Ich habe bei mir text eingegeben. Also reiner Text als feedback, das finde ich am besten, weil keine Steuerbefehle dabei sind und ich per Script damit weiter arbeiten kann.

Es gibt noch table als Option, dann ist zwar alles in menschlich lesbarer Form (obwohl … bei den anderen beiden Ausgaben kann man das auch lesen), aber für die weitere Verabreiteung der Ausgaben ist das einfach Müll.

Test

Jetz habt ihr es (hoffentlich) geschafft, eure AWS_CLI zum laufen zu bringen. das könnt ihr einfach mit dem befehl testen:

aws s3 ls

Hier lasse ich mir den Inhalt meiner S3 Storage einzeigen. Wie die Commands funktioneren, das werde ich näher in Teil II erklären.

Falls ihr auch S3 habt dann habt ihr eine Augabe ähnlich dieser hier:

2015-11-25 22:26:30 artipy.com
2017-08-18 16:01:12 starbackplanetdestroyer-redux.artipy.com
2016-08-03 00:28:02 transistorpuzzler.artipy.com

Hier habe ich jetzt nicht alle meine Storages aufgelistet, aber ihr könnt, denke ich, trotzdem den Zeitpunkt der Estellung und den Namen des Storages erkennen.

Ausblick Teil II

Jetzt seit ihr fit für den nächsten Schritt.

Dort lernt ihr, wie Befehle aufgebaut sind und wie ihr mit der AWS-CLI eure Daten verwalten könnt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.