AWS & PowerShell – Katz und Maus oder doch ein harmonisches Duo?

Wer die Cloud im vollen Umfang nutzen will, kommt um das Thema Automatisierung nicht herum. Jedoch ist meist der Start in dieses Thema kein ganz leichter. Sehen Sie, wie hier Amazon Web Services und PowerShell zusammenspielen.

Autor Rinon Belegu
Datum 11.10.2016
Lesezeit 5 Minuten

Wer die Cloud im vollen Umfang nutzen will, kommt um das Thema Automatisierung nicht herum. Jedoch ist meist der Start in dieses Thema kein ganz leichter.

Warum PowerShell in Verbindung mit Amazon Web Services (AWS)?

Eigentlich eine sehr naheliegende Kombination – haben doch heutzutage sehr viele Administratoren mindestens Grundwissen in PowerShell. AWS selbst verfügt seit längerem über ein Support-Kit für PowerShell. Warum also nicht mit etwas Bekanntem in die Welt der Cloud-Automatisierung einsteigen?

Der Einstieg

Dieser Beitrag dient als Einstieg in ebendiese Automatisierung der AWS-Cloud mit PowerShell. Der erste Schritt besteht darin, seine AWS-Umgebung für die Arbeit mit PowerShell einzurichten.

Als Erstes laden wir uns die «AWS-Tools für PowerShell» herunter und installieren diese. Zum Download

Starten Sie danach den Installations-Wizard und führen die Installation durch. Die Auswahl der Features können Sie wie vorgeschlagen belassen und die Installation abschliessen.

PowerShell und AWS einrichten

Wenn Sie nun in Windows nach «PowerShell» suchen, finden Sie die Option «Windows PowerShell for AWS»:

aws-und-powershell-automatisierung_09

Beim ersten Start der Anwendung werden Sie nach dem AWS Access Key gefragt. Diesen konnten Se beim Erstellen des Benutzers herunterladen. Ebenfalls müssen Sie danach noch den AWS Secret Key eingeben sowie eine AWS-Region auswählen. Folgende Regionen stehen zur Auswahl:

Code Name
us-east-1 US East (N. Virginia)
us-west-2 US West (Oregon)
us-west-1 US West (N. California)
eu-west-1 EU (Ireland)
eu-central-1 EU (Frankfurt)
ap-southeast-1 Asia Pacific (Singapore)
ap-northeast-1 Asia Pacific (Tokyo)
ap-southeast-2 Asia Pacific (Sydney)
ap-northeast-2 Asia Pacific (Seoul)
ap-south-1 Asia Pacific (Mumbai)
sa-east-1 South America (São Paulo)

 

Da ich in der Region Frankfurt arbeiten möchte, wähle ich «eu-central-1».

aws-und-powershell-automatisierung_12

Los geht’s

Nun kann das Vergnügen beginnen. Mit dem Befehl «Clear-Host» entferne ich den Verlauf in der PowerShell-Konsole, sodass nur noch eine Zeile zu sehen ist:

aws-und-powershell-automatisierung_13

Im AWSPowerShell-Modul (in meinem Fall v.3.3.0.0 ModuleType: Binary) habe ich jetzt vereinfacht gesagt 2078 Befehle zur Verfügung. Mit «Get-EC2Instance» versuche ich, alle Instanzen aufzurufen, muss aber feststellen, dass keine vorhanden sind:

aws-und-powershell-automatisierung_15

Dies kann ich auch noch im GUI prüfen – und komme auf dasselbe Ergebnis.

aws-und-powershell-automatisierung_16

Als Erstes muss ich also eine EC2-Instanz erstellen. Diese Funktionalität einer virtuellen Maschine ist den meisten aus der On-Premise-Umgebung bekannt.

In PowerShell ist der Befehl wie folgt definiert: «VerbNomen», wie im obigen Beispiel gut ersichtlich: «GetEC2Instance». Mit dem Befehl «Get-Command -Noun EC2*» kann ich mir alle Befehle ansehen, bei denen im Nomen «EC2» vorkommt.

Hier ein kleiner Auszug:

aws-und-powershell-automatisierung_18

Weiter eingrenzen lässt sich die Auswahl, wenn man auch das Verb definiert und so z.B. nur Befehle anzeigen lässt, die im Nomen «EC2» und im Verb «Get» beinhalten. Get-Command -Verb Get -Noun EC2*

aws-und-powershell-automatisierung_19

Mit diesem Wissen über die Befehle kann ich in der Auswahl eine Möglichkeit suchen, eine neue EC2-Instanz zu erstellen:

aws-und-powershell-automatisierung_20

Für den Anfang empfiehlt es sich, die AMI ID, die das Image darstellt, über das GUI ausfindig zu machen. Starten Sie dafür im GUI das Erstellen einer Instanz.

aws-und-powershell-automatisierung_21

In meinem Fall ist die AMI-Image-ID «ami-1db84972». Diese ID kann ich nun in PowerShell zur Erstellung der EC2-Instanz verwenden:

aws-und-powershell-automatisierung_22

Die erste Instanz ist erstellt – wie ich auf dem GUI sehen kann.

aws-und-powershell-automatisierung_23

Würde das ganze im Web-Front nicht viel schneller gehen?

Jein. Ich erinnere Sie daran, dass Sie von den Vorteilen der Cloud nur profiteren, wenn Sie vollumfänglich automatisieren.

Ein Beispiel: Sie haben ein Projekt, in dem Sie eine komplette Test- oder Dev-Umgebung mit PowerShell erstellen, die Applikationen installieren und konfigurieren – und möchten jetzt in die Cloud auslagern. Dank AWS und PowerShell können Sie alle Einheiten, die dazu in der Cloud verwendet werden, im selben PowerShell einheitlich abbilden. Sie nutzen also eine Plattform für die Automatisierung, obwohl Sie über eine heterogene Umgebung verfügen.


Über den Autor

Rinon Belegu

Bereits während seiner Ausbildung zum Informatiker Systemtechnik hat sich Rinon Belegu konsequent mit den neusten Technologien von Microsoft und VEEAM auseinandergesetzt und sich unter anderem als einer der ersten Personen in der Schweiz als MCSE 2012 Private Cloud zertifiziert. Seine Spezialität sind Virtualisierung und System Center, wobei er auch auf die Backup-Problematik stiess. Hier hat er bereits einige Projekte mit VEEAM umgesetzt. Sein umfangreiches Wissen gibt er heute einerseits in verschiedensten Kundenprojekten, andererseits als MCT (Microsoft), VMCT (Veeam) und als erster AWS Certified Instructor weiter.