Cloud Tools for PowerShell installieren und verwenden

1. Übersicht

PowerShell ist eine Befehlszeilen-Shell und die zugehörige Skriptsprache, die auf .NET Framework basiert. Es ist das standardmäßige Tool zur Aufgabenautomatisierung und Konfigurationsverwaltung, das in der Windows-Welt verwendet wird. Ein PowerShell-Cmdlet ist ein einfacher Befehl, der in PowerShell aufgerufen wird.

Cloud Tools for PowerShell ist eine Sammlung von Cmdlets, mit denen Sie auf Google Cloud-Ressourcen wie Google Compute Engine, Google Cloud Storage, Google Cloud SQL und Google Cloud DNS zugreifen und diese bearbeiten können. Weitere werden folgen.

In diesem Lab erfahren Sie, wie Sie über PowerShell mit Google Cloud-Ressourcen interagieren.

Lerninhalte

  • Cloud Tools for PowerShell installieren
  • So authentifizieren Sie sich beim Google Cloud SDK.
  • Google Compute Engine über PowerShell erstellen und verwalten
  • Daten über PowerShell in Google Cloud Storage sichern

Voraussetzungen

  • Ein Google Cloud Platform-Projekt.
  • Ein Browser, z. B. Chrome oder Firefox
  • Windows-Computer

Wie möchten Sie diese Anleitung nutzen?

<ph type="x-smartling-placeholder"></ph> Nur bis zum Ende lesen Lies sie dir durch und absolviere die Übungen

Wie würden Sie Ihre Erfahrung mit der Google Cloud Platform bewerten?

<ph type="x-smartling-placeholder"></ph> Neuling Mittel Kompetent

2. Einrichtung und Anforderungen

Für dieses Codelab benötigen Sie ein Google Cloud-Projekt, um mit PowerShell zu interagieren. Wenn Sie bereits ein Projekt haben, können Sie es verwenden oder anhand der folgenden Schritte ein neues Projekt erstellen.

Umgebung für das selbstbestimmte Lernen einrichten

Wenn Sie noch kein Google-Konto (Gmail oder G Suite) haben, müssen Sie eines erstellen. Melden Sie sich in der Google Cloud Console an ( console.cloud.google.com) und erstellen Sie ein neues Projekt:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Notieren Sie sich die Projekt-ID, also einen eindeutigen Namen in allen Google Cloud Platform-Projekten. Sie wird in diesem Codelab später als PROJECT_ID bezeichnet.

Als Nächstes müssen Sie in der Google Cloud Console die Abrechnung aktivieren, um Google Cloud Platform-Ressourcen wie Google Cloud Datastore und Cloud Storage verwenden zu können.

Neue Nutzer der Google Cloud Platform haben Anspruch auf eine kostenlose Testversion mit 300$Guthaben. Dieses Codelab sollte nicht mehr als ein paar Euro kosten. Wenn Sie sich jedoch dazu entschließen, mehr Ressourcen zu verwenden oder diese laufen zu lassen, kann es mehr sein. Weitere Informationen dazu finden Sie im Abschnitt „Bereinigen“ am Ende dieses Dokuments.

3. Installation

Selbstbestimmte Umgebungsinstallation

PowerShell-Cmdlets sind im Cloud SDK for Windows enthalten. Falls noch nicht geschehen, laden Sie das Google Cloud SDK für Windows herunter und installieren Sie es, wie in der Kurzanleitung für Windows beschrieben. Achten Sie darauf, dass Sie bei der Installation des Cloud SDK die PowerShell-Option aktiviert haben.

d6df1af5b5b08e41.png

4. Authentifizierung

Cloud Tools for PowerShell verwendet die im Cloud SDK gespeicherten Anmeldedaten und Einstellungen. Damit Sie die Cmdlets verwenden können, müssen Sie sich also zuerst mit dem Cloud SDK anmelden.

Selbstbestimmte Umgebungsauthentifizierung

Starten Sie Google Cloud SDK Shell und führen Sie den folgenden Befehl aus.

gcloud init

Akzeptieren Sie die Option zur Anmeldung mit Ihrem Google-Nutzerkonto.

To continue, you must log in. Would you like to log in (Y/n)? Y

Melden Sie sich bei entsprechender Aufforderung über den Browser in Ihrem Google-Nutzerkonto an. Klicken Sie auf Zulassen, um die Berechtigung für den Zugriff auf Google Cloud Platform-Ressourcen zu gewähren.

Wählen Sie in der Eingabeaufforderung aus der Liste der Cloud Platform-Projekte, für die Sie Inhaber-, Bearbeiter- oder Betrachterberechtigungen haben, ein Projekt aus.

Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:

5. Google Cloud-Cmdlets in PowerShell ausführen

Nach der Authentifizierung können Sie Google Cloud-Cmdlets in PowerShell verwenden. Suchen und öffnen Sie die PowerShell-Befehlszeilen-Shell.

66b0c5d9b1cd7c68.png

Um sicherzustellen, dass Google Cloud-Cmdlets korrekt installiert sind, führen Sie Get-GceInstance cmdlet aus. Daraufhin sollten die Compute Engine-Instanzen aufgelistet werden, die sich in Ihrem Projekt befinden.

3ffd420f66f76b06.png

6. Google Compute Engine-Instanzen erstellen und verwalten

In diesem Abschnitt erstellen und verwalten Sie Google Compute Engine in Google Cloud Tools für PowerShell.

Instanzkonfiguration erstellen

Bevor Sie eine Instanz erstellen, müssen Sie zuerst eine Instanzkonfiguration erstellen. Dafür benötigen Sie mindestens einen Namen, einen Maschinentyp und ein Bootlaufwerk-Image bzw. ein vorhandenes Bootlaufwerk. Verwenden Sie Get-GceImage, um ein Laufwerk-Image zu erstellen, und New-GceInstanceConfig, um eine Konfiguration zu erstellen.

$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
    -MachineType "n1-standard-4" `
    -DiskImage $disk

Sie haben jetzt eine Konfiguration, mit der Sie eine Instanz erstellen können.

Instanz erstellen

Verwenden Sie das Add-GceInstance-Cmdlet, um eine neue Compute Engine-Instanz zu erstellen. Sie können ein Projekt und eine Zone angeben. Werden keine Werte angegeben, werden standardmäßig die Parameterwerte in Ihrer aktuell aktiven Cloud SDK-Konfiguration verwendet. Wenn Sie ein Projekt angeben, müssen Sie PROJECT_ID durch Ihre eigene Projekt-ID ersetzen.

$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b

Instanz verwalten

Mit dem Cmdlet Get-GceInstance können Sie die VM-Instanzen eines Projekts abrufen. Da der Instanzname möglicherweise projekt- oder zonenübergreifend nicht eindeutig ist, können Sie einen Projekt- oder Zonenparameter angeben, um die Suche einzugrenzen. Standardmäßig verwendet das Cmdlet die Werte aus der aktiven Cloud SDK-Konfiguration.

$instance = Get-GceInstance "my-vm-1"

Sie können Instanz-Tags und Laufwerke festlegen, auf Konfigurationen und andere Metadaten zugreifen, nachdem Sie Ihre Instanz mit dem Set-GceInstance-Cmdlet erstellt haben. Fügen Sie einige Metadaten hinzu und entfernen Sie sie dann wie folgt.

Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"

Fügen Sie nun ein Tag hinzu, das Sie später zum Entfernen der Instanz verwenden.

Set-GceInstance $instance -AddTag "to-be-removed"

Sie können eine Instanz mithilfe verschiedener Cmdlets starten, beenden oder neu starten. Sie können auf eine Instanz verweisen, indem Sie den Namen oder das stark typisierte Objekt verwenden, das vom Get-GceInstance-Cmdlet zurückgegeben wurde. Probiere einige dieser Befehle aus.

Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"

Wenn Sie die Instanz nicht mehr benötigen, entfernen Sie sie mithilfe des Remove-GceInstance-Cmdlets aus Compute Engine und geben Sie das zuvor angegebene Tag an.

Get-GceInstance -Project $project |
    Where { $_.Tags.Items -contains "to-be-removed" } |
    Remove-GceInstance -WhatIf

7. Daten in Google Cloud Storage sichern

In diesem Teil des Codelabs sichern Sie Daten von Ihrem lokalen Computer mithilfe von Cloud Tools for PowerShell in Google Cloud Storage.

Bucket erstellen

Bevor Sie Dateien in Cloud Storage hochladen, müssen Sie einen Bucket erstellen. Verwenden Sie das Cmdlet New-GcsBucket, um einen neuen Bucket zu erstellen.

$bucket = "my-gcs-bucket"
New-GcsBucket $bucket

Dateien in den Bucket hochladen

Mit New-GcsObject können Sie Dateien oder ganze Ordner in den Bucket hochladen.

Sie können den Inhalt einer lokalen Datei mithilfe des Parameters -File unter Angabe eines Dateipfads in Cloud Storage hochladen. Alternativ können Sie den Inhalt des Objekts als String über die PowerShell-Pipeline übergeben oder den Parameter -Value verwenden.

Wählen Sie eine lokale Datei auf Ihrem Computer aus und laden Sie sie wie unten beschrieben in Ihren Bucket hoch.

New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"

Sie können ein ganzes Verzeichnis vom lokalen Laufwerk in Cloud Storage hochladen, indem Sie den Parameter -UploadFolder verwenden und den Ordnerpfad angeben. Wenn Sie nicht möchten, dass der Ordner direkt in das Stammverzeichnis des Cloud Storage-Buckets hochgeladen wird, verwenden Sie -ObjectNamePrefix, um ein Präfix anzugeben, das für alle hochgeladenen Objekte gilt.

Wählen Sie einen lokalen Ordner auf Ihrem Computer aus und laden Sie ihn so in den Bucket hoch.

New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"

Suchdaten

Sie können Daten mithilfe von Cmdlets oder dem Provider durch gewöhnliche Dateisuch-Cmdlets durchsuchen. Führen Sie den folgenden Befehl mit Ihrem Bucket aus.

Get-GcsObject $bucket | Select Name, Size | Out-GridView

Nun sollte ein Raster-Pop-up mit Name und Größe angezeigt werden.

63d92a6bfec86f89.png

Daten lesen

Mit dem Cmdlet Read-GcsObject können Sie Daten lesen. Mit dem folgenden Befehl können Sie beispielsweise eine Datei namens hello.txt auf Ihrem Desktop lesen.

Read-GcsObject $bucket "hello.txt" `
    -OutFile "$Env:UserProfile\Desktop\hello.txt"

Daten löschen

Nicht zuletzt können Sie Daten mit dem Remove-GcsObject-Cmdlet löschen. Löschen Sie mit dem folgenden Befehl den gesamten Inhalt des Buckets.

Get-GcsObject $bucket | Remove-GcsObject

8. Glückwunsch!

In diesem Codelab haben Sie gelernt, wie Sie Compute Engine-Instanzen und Cloud Storage-Buckets über PowerShell verwalten. Das ist aber noch nicht alles. Sie können Cloud SQL- und Cloud CDN-Ressourcen auch mit PowerShell verwalten. Unten findest du eine Liste mit den nächsten Schritten.

Behandelte Themen

  • Cloud Tools for PowerShell installieren
  • So authentifizieren Sie sich beim Google Cloud SDK.
  • Google Compute Engine über PowerShell erstellen und verwalten
  • Daten über PowerShell in Google Cloud Storage sichern

Nächste Schritte