HowTo: AWS und PowerShell

Um Amazon Web Services (AWS) mittels PowerShell abzufragen, müssen erst ein paar Voraussetzungen erfüllt werden. Hier der Links zur HowTo von Amazon:
http://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html#pstools-getting-set-up

Jedoch verkürze ich in diesem Beitrag das Vorgehen.

  1. AWS Tools herunterladen und installieren: https://aws.amazon.com/de/powershell/
  2. AccessKey und SecretKey erstellen, bzw. herunterladen/dokumentieren
    1. In AWS anmelden und auf den eigenen Account gehen –> My Security Credentials
    2. Den entsprechenden User suchen und anklicken
    3. Den Reiter „Security Credentials“ auswählen (und wenn nicht bereits geschehen, auf „Create Access Key“ klicken)
    4. Die „Access key ID“ und „Secret access key“ notieren oder einfach das CSV-File herunterladen
  3. In PowerShell muss die Ausführung von Skripten erlaubt werden: Ausführung von Skripten erlauben
  4. Nun kann man eine PowerShell öffnen und das AWS-Modul importieren:
    Import-Module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"
  5. Credentials für AWS einstellen
    Hier den AccessKey sowie den SecretKey von oben nehmen. Der Profilname kann frei gewählt werden

    Set-AWSCredentials -AccessKey "AccessKey" -SecretKey "SecretKey" -StoreAs "ProfileName"
  6. Je nach Befehl muss noch eine Region gewählt werden. Die Regionen können wir folgt abgefragt werden:
    Get-AWSRegion
    
    Region         Name                      IsShellDefault
    ------         ----                      --------------
    ap-northeast-1 Asia Pacific (Tokyo)      False
    ap-northeast-2 Asia Pacific (Seoul)      False
    ap-south-1     Asia Pacific (Mumbai)     False
    ap-southeast-1 Asia Pacific (Singapore)  False
    ap-southeast-2 Asia Pacific (Sydney)     False
    ca-central-1   Canada (Central)          False
    eu-central-1   EU Central (Frankfurt)    False
    eu-west-1      EU West (Ireland)         False
    eu-west-2      EU West (London)          False
    sa-east-1      South America (Sao Paulo) False
    us-east-1      US East (Virginia)        False
    us-east-2      US East (Ohio)            False
    us-west-1      US West (N. California)   False
    us-west-2      US West (Oregon)          False

    Sollte der Befehl also eine Region brauchen, kann diese wie folgt definiert werden. Wobei die Region von o.g. Befehl entnommen wird. Der Profilname muss dann der Profilname sein, der ebenfalls weiter oben gewählt wurde:

    Initialize-AWSDefaults -ProfileName "ProfileName" -Region "eu-central-1"
  7. Nun können z.B. die EC2 Instanzen dieser Region abgefragt werden:
    Get-EC2Instance
  8. Zum Wechseln der Region, wieder die AWSDefaults wie oben initialisieren, jedoch mit einer anderen Region.
  9. Um anschließend wieder alles aufzuräumen, können folgenden Befehle genutzt werden:
    Clear-DefaultAWSRegion
    Remove-AWSCredentialProfile -ProfileName $ProfileName -Force