Skip to the main content.

ScriptRunner Blog

5 Tipps für die ersten Schritte mit AWS und PowerShell

Inhaltsverzeichnis

Post Featured Image

Wie oft mussten Sie schon einen Webbrowser öffnen, sich beim Portal anmelden, einen Dienst auswählen, auf eine Reihe von Schaltflächen klicken um schließlich die Informationen erhalten, die Sie über einen AWS-Dienst abrufen wollten? Vielleicht die Metadaten auf einer EC2-Instanz? Jetzt können Sie das alles automatisch machen!

AWS verfügt über viele Software Deployment Toolkits (SDK), die von jedermann verwendet werden können, und das bedeutet die Möglichkeit, die gesamte Cloud-Plattform mit PowerShell zu automatisieren. AWS PowerShell ist eine Möglichkeit für Entwickler und Administratoren, Aufgaben, die früher manuell waren, in Code umzuwandeln. AWS PowerShell ist außerdem plattformübergreifend, d. h. es kann unter Windows, MacOS und Linux ausgeführt werden, wodurch sichergestellt wird, dass AWS PowerShell in jeder Umgebung, in der Sie sich befinden, für die Automatisierung bereit ist.

In diesem Blogbeitrag werden Sie einen praktischen Ansatz verfolgen und direkt in das AWS PowerShell-Modul eintauchen. Sie erfahren nicht nur die Cmdlet-Referenz, sondern auch, wie Sie AWS PowerShell installieren, sich von PowerShell aus bei AWS authentifizieren und mit PowerShell mit Diensten in AWS arbeiten können.

Voraussetzungen

Um diesen Blog-Beitrag aus einer praktischen Perspektive zu verfolgen, benötigen Sie Folgendes:

  • Ein AWS-Konto. Wenn Sie keins haben, können Sie sich für ein kostenloses AWS Konto anmelden.
  • Anfängerkenntnisse in PowerShell.

Erst schauen wir uns die AWS PowerShell-Cmdlets an

Das AWS PowerShell-Modul wurde von AWS erstellt, um IT Pros dabei zu helfen, die Erstellung, Änderung und Auflistung von AWS-Diensten, wie z.B. EC2-Instanzen, zu automatisieren. Die Cmdlets befinden sich in einem standardmäßigen Verb-Noun-Flow, wie Sie nach den Best Practices von PowerShell für die Modulerstellung bereits vermuten würden.

Für Sie als Benutzer sind die AWS PowerShell-Cmdlets sichtbar, aber im Backend verwenden sie verschiedene AWS-Service-HTTP-Abfragen für API-Aufrufe (GET, POST usw.). Das PowerShell-Modul baut auf der Funktionalität auf, die aus dem AWS SDK für .NET Core bereitgestellt wird, wodurch das PowerShell-Modul plattformübergreifend ist.

Sehen wir uns ein Beispiel für die PowerShell-Cmdlets an. Im Folgenden sehen Sie ein Beispiel für das Starten einer EC2-Instanz.

Start-EC2Instance -InstanceId i-12345678

Ein weiteres Beispiel ist der Empfang eines S3-Bodys in einem AWS-Konto.

Get-S3Bucket -BucketName testbucket

Wie Sie sehen, können Sie bereits anhand des Cmdlet-Namen absehen, was das Cmdlet tut, was die Verwendung des PowerShell-Moduls aus Sicht der Lesbarkeit sehr viel einfacher macht.

Installieren des AWS PowerShell-Moduls

Im vorherigen Abschnitt erhielten Sie einen ersten Einblick in die PowerShell-Cmdlets und die Funktionen der Cmdlets. In diesem Abschnitt erfahren Sie, wie Sie das AWS PowerShell-Modul unter Windows 10 und MacOS installieren.

Windows 10

Zur Installation des PowerShell-Moduls unter Windows 10 gibt es zwei primäre Methoden.

Die erste Möglichkeit besteht darin, das Install-Module Cmdlet zu verwenden, mit dem PowerShell-Module installiert werden. Um die Install-Module-Methode zu verwenden, führen Sie den folgenden Befehl aus.

Install-Module -Name AWS.Tools.Installer

Die zweite Option unter Windows 10 wäre die Verwendung von chocolatey, einem Paketmanager für Windows. Um chocolatey zur Installation des AWS PowerShell-Moduls zu verwenden, müssen Sie sicherstellen, dass chocolatey korrekt installiert ist. Anweisungen finden Sie unter chocolatey.org/install.

Sobald chocolatey installiert ist, können Sie PowerShell öffnen und die folgende Zeile ausführen.

choco install awstools.powershell

Sobald das AWS Tools-Modul installiert ist, können Sie das folgende Cmdlet ausführen, um die spezifischen Tools zu installieren, die Sie in PowerShell verwenden möchten.

Install-AWSToolsModule

Wenn Sie z. B. die S3-Tools installieren möchten, führen Sie folgendes Cmdlet aus:

Install-AWSToolsModule AWS.Tools.S3

MacOS

Um das AWS PowerShell-Modul auf MacOS zu installieren und verwenden zu können, stellen Sie sicher, dass PowerShell Core installiert ist. Um PowerShell Core zu installieren, besuchen Sie die folgende Github-Seite oder verwenden Sie Homebrew, einen Paketmanager für MacOS.

Es gibt eine primäre Option für die Installation des AWS PowerShell-Moduls auf MacOS, nämlich die Verwendung der Install-Module und Install-AWSToolsModule Cmdlets, wie wir sie im Abschnitt „Windows10“ gesehen haben.

Authentifizierung mit dem AWS PowerShell-Modul

Im vorherigen Abschnitt haben Sie gelernt, wie das AWS PowerShell-Modul unter Windows 10 und MacOS installiert wird. Nun, da es installiert ist, ist es an der Zeit, sich bei AWS mit PowerShell zu authentifizieren.

Die primäre Methode zur Authentifizierung ist die Verwendung von AWS-Anmeldeinformationen. Jedes im AWS PowerShell-Modul verwendete Cmdlet enthält einen Satz von AWS-Anmeldeinformationen, bei denen es sich um kryptografische Signaturen handelt, die dem Dienst entsprechen, mit dem Sie in AWS interagieren.

Die Berechtigungsnachweise werden je nach Betriebssystem an einer primären Stelle festgelegt.

Auf Windows 10:

C:<.aws

Auf MacOS:

~/.aws/credentials

Hinzufügen eines neuen Profils

Bevor Sie ein neues Profil hinzufügen können, benötigen Sie einen Access Key und einen Secret Key. Um diese Werte mithilfe von AWS IAM zu erstellen, folgen Sie dem diesem Tutorial.

Um ein neues AWS-Credential Profil mit PowerShell hinzuzufügen, öffnen Sie die PowerShell-Konsole und führen Sie das folgende Cmdlet aus.

Set-AWSCrednetial -AccessKey access_key_value -SecretKey -secret-key-value -StoreAs name_to_store_creds_as

Erstellen eines S3-Buckets mit AWS PowerShell

Da Sie nun wissen, wie Sie sich mit PowerShell sowohl unter Windows als auch unter MacOS bei AWS authentifizieren können, ist es an der Zeit, mit der Erstellung einiger Ressourcen zu beginnen. Bei der Erstellung von Ressourcen in AWS PowerShell kann es sich um eine PowerShell-Funktion, eine erweiterte Funktion oder einfach um einen simplen Einzeiler handeln. Sehen wir uns an, wie man einen S3-Bucket mit AWS PowerShell erstellt.

Als Erstes öffnen Sie die PowerShell-Konsole öffnen.

Führen Sie nach dem Öffnen das folgende Cmdlet aus, um einen S3-Bucket zu erstellen.

New-S3Bucket -BucketName mynewbucket92 -Region us-west-2

Sie sehen nun auf dem Screenshot unten, dass der neue S3-Bucket erfolgreich erstellt wurde (Abbildung 1).

Screenshot: the new S3 bucket

Abbildung 1: Der neue S3-Bucket „mynewbucket92“ wurde erfolgreich erstellt.

Wenn Sie einen Webbrowser öffnen und zu den S3-Buckets wechseln, sehen Sie nun den S3-Bucket aufgelistet (Abbildung 2).

Screenshot:

Abb. 2: „mynewbucket92“ ist in der Buckets-Liste aufgelistet

Listung eines S3-Buckets mit AWS PowerShell

Jetzt, wo Sie einen S3-Bucket erstellt haben, was wäre, wenn Sie diesen zu Lesezwecken auflisten möchten? Zum Beispiel, um den Namen oder die Eigenschaften zu überprüfen. In diesem Abschnitt lernen Sie das passende Cmdlet kennen.

Öffnen Sie die PowerShell-Konsole, um den AWS-Bucket über PowerShell aufzulisten.

Führen Sie im Terminal den folgenden Befehl aus, um die Eigenschaften des mynewbucket92 S3-Bucket abzurufen.

Get-S3Bucket -BucketName mynewbucket92

Wie in Abbildung 3 unten dargestellt, können Sie nun die S3-Bucket-Eigenschaften aufgelistet sehen.

Screenshot: Bucket properties in PowerShell

Abb. 3: Auflistung der Bucket-Eigenschaften in PowerShell

Fazit

In diesem Blogbeitrag haben Sie die fünf besten Tipps für den Einstieg in die Nutzung des AWS PowerShell-Moduls zur Interaktion mit AWS und zur Erstellung von Ressourcen in AWS kennengelernt. Sie haben zunächst etwas über die Cmdlets und ihre Struktur erfahren und gingen dann zur Installation des PowerShell-Moduls für AWS über. Nachdem das Modul installiert wurde, haben Sie sich bei AWS über PowerShell authentifiziert. Schließlich haben Sie einen S3-Bucket erstellt und den Bucket aufgelistet, um seine Eigenschaften anzuzeigen.

Über den Autor: