Instalowanie i używanie narzędzi Cloud Tools dla PowerShell

1. Omówienie

PowerShell to powłoka wiersza poleceń i powiązany język skryptów stworzony w technologii .NET Framework. To domyślne narzędzie do automatyzacji i zarządzania konfiguracją używane w świecie systemu Windows. Polecenie cmdlet PowerShell to proste polecenie wywoływane w PowerShell.

Cloud Tools for PowerShell to zbiór cmdletów, które umożliwiają dostęp do zasobów Google Cloud, takich jak Google Compute Engine, Google Cloud Storage, Google Cloud SQL i Google Cloud DNS, oraz zarządzanie nimi. Wkrótce dodamy kolejne.

W trakcie tego modułu dowiesz się, jak korzystać z zasobów Google Cloud w PowerShell.

Czego się nauczysz

  • Jak zainstalować Cloud Tools for PowerShell.
  • Jak uwierzytelnić się za pomocą pakietu SDK Google Cloud.
  • Dowiedz się, jak utworzyć Google Compute Engine i zarządzać nim z poziomu PowerShell.
  • Jak tworzyć kopie zapasowe danych z PowerShell w Google Cloud Storage.

Czego potrzebujesz

  • Projekt Google Cloud Platform.
  • Przeglądarka, np. Chrome lub Firefox.
  • Komputer z systemem Windows.

Jak wykorzystasz ten samouczek?

Tylko do przeczytania Przeczytaj go i wykonaj ćwiczenia

Jak oceniasz swoje doświadczenia z Google Cloud Platform?

Początkujący Poziom średnio zaawansowany Biegły
.

2. Konfiguracja i wymagania

Aby móc korzystać z tego ćwiczenia w programie, potrzebujesz projektu Google Cloud do interakcji z PowerShell. Jeśli masz istniejący projekt, możesz go użyć lub utworzyć nowy projekt, wykonując czynności opisane poniżej.

Samodzielne konfigurowanie środowiska

Jeśli nie masz jeszcze konta Google (Gmaila lub G Suite), musisz je utworzyć. Zaloguj się w konsoli Google Cloud ( console.cloud.google.com) i utwórz nowy projekt:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Zapamiętaj identyfikator projektu, unikalną nazwę we wszystkich projektach Google Cloud Platform. W dalszej części tego ćwiczenia w Codelabs będzie ona określana jako PROJECT_ID.

Następnie musisz włączyć płatności w konsoli Google Cloud, aby móc korzystać z zasobów Google Cloud Platform, takich jak Google Cloud Datastore i Cloud Storage.

Nowi użytkownicy Google Cloud Platform mogą skorzystać z bezpłatnego okresu próbnego o wartości 300 USD. Ukończenie tego ćwiczenia w Codelabs nie powinno kosztować więcej niż kilka dolarów, ale może być droższe, jeśli zdecydujesz się użyć więcej zasobów lub nie chcesz ich uruchamiać (patrz sekcja „Czyszczenie” na końcu tego dokumentu).

3. Instalacja

Instalacja środowiska we własnym tempie

Polecenia cmdlet PowerShell wchodzą w skład pakietu SDK Cloud dla systemu Windows. Pobierz i zainstaluj pakiet Google Cloud SDK dla systemu Windows zgodnie z opisem w krótkim przewodniku dla systemu Windows. Upewnij się, że podczas instalowania pakietu SDK Cloud zaznaczona została opcja PowerShell.

d6df1af5b5b08e41.png

4. Uwierzytelnianie

Cloud Tools for PowerShell używa danych logowania i ustawień zapisanych w pakiecie SDK Cloud. Aby zacząć korzystać z cmdletów, musisz najpierw zalogować się za pomocą pakietu SDK Cloud.

Samodzielne uwierzytelnianie w środowisku

Uruchom Google Cloud SDK Shell i wykonaj następujące polecenie.

gcloud init

Zaakceptuj opcję logowania się przy użyciu konta użytkownika Google.

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

W przeglądarce zaloguj się na swoje konto użytkownika Google, gdy pojawi się taka prośba, i kliknij Zezwól, aby przyznać uprawnienia dostępu do zasobów Google Cloud Platform.

W wierszu poleceń wybierz projekt Cloud Platform z listy tych, w przypadku których masz uprawnienia właściciela, edytującego lub wyświetlającego.

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

5. Uruchamianie poleceń cmdlet Google Cloud w PowerShell

Po uwierzytelnieniu możesz korzystać z cmdletów Google Cloud w PowerShell. Znajdź i otwórz powłokę wiersza poleceń PowerShell.

66b0c5d9b1cd7c68.png

Aby upewnić się, że polecenia cmdlet Google Cloud są prawidłowo zainstalowane, uruchom polecenie cmdlet Get-GceInstance. Powinna wyświetlić się lista instancji Compute Engine, które znajdują się w Twoim projekcie.

3ffd420f66f76b06.png

6. Tworzenie instancji Google Compute Engine i zarządzanie nimi

W tej sekcji utworzysz usługę Google Compute Engine i zarządzasz nią z poziomu narzędzi Google Cloud dla PowerShell.

Tworzenie konfiguracji instancji

Przed utworzeniem instancji musisz utworzyć jej konfigurację. Wymaga to co najmniej nazwy, typu maszyny i obrazu dysku rozruchowego lub istniejącego dysku rozruchowego. Użyj narzędzia Get-GceImage, aby utworzyć obraz dysku, a New-GceInstanceConfig, aby utworzyć konfigurację.

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

W tej chwili masz konfigurację, której możesz użyć do utworzenia instancji.

Utwórz instancję

Utwórz nową instancję Compute Engine za pomocą polecenia cmdlet Add-GceInstance. Możesz podać projekt i strefę, ale jeśli ich pominiesz, domyślne wartości parametrów będą takie same jak w bieżącej aktywnej konfiguracji pakietu SDK Cloud. Jeśli wskażesz projekt, pamiętaj, aby zastąpić PROJECT_ID identyfikatorem własnego projektu.

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

Zarządzanie instancją

Aby pobrać instancje maszyn wirtualnych projektu, możesz użyć polecenia cmdlet Get-GceInstance. Nazwa instancji może nie być niepowtarzalna w projektach lub strefach, więc możesz określić parametr projektu lub strefy, aby zawęzić wyszukiwanie. Domyślnie polecenie cmdlet używa wartości znajdujących się w aktywnej konfiguracji pakietu SDK Cloud.

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

Po utworzeniu instancji przy użyciu polecenia cmdlet Set-GceInstance możesz ustawić tagi instancji, dyski, dostęp do konfiguracji i inne metadane. Dodaj metadane, a potem usuń je w ten sposób.

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

Teraz dodaj tag, którego użyjesz później do usunięcia instancji.

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

Możesz uruchamiać, zatrzymywać i ponownie uruchamiać instancję za pomocą różnych poleceń cmdlet. Aby odwołać się do instancji, użyj jej nazwy lub obiektu o silnie wpisanym kodzie zwróconym z cmdletu Get-GceInstance. Poeksperymentuj z niektórymi z tych poleceń.

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

Na koniec, po zakończeniu pracy z instancją usuń ją z Compute Engine, używając polecenia cmdlet Remove-GceInstance i dostarczając podany wcześniej tag.

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

7. Tworzenie kopii zapasowej danych w Google Cloud Storage

W tej części ćwiczenia z programowania utworzysz kopię zapasową danych z maszyny lokalnej w Google Cloud Storage przy użyciu narzędzi Cloud dla PowerShell.

Tworzenie zasobnika

Zanim prześlesz pliki do Cloud Storage, musisz utworzyć zasobnik. Utwórz nowy zasobnik za pomocą polecenia cmdlet New-GcsBucket.

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

Przesyłanie plików do zasobnika

Za pomocą New-GcsObject możesz przesyłać pliki lub całe foldery do zasobnika.

Aby przesłać zawartość pliku lokalnego do Cloud Storage, użyj parametru -File i podaj ścieżkę pliku. Możesz też przekazać zawartość obiektu jako ciąg znaków za pomocą potoku PowerShell lub użyć parametru -Value.

Wybierz plik lokalny na komputerze i prześlij go do zasobnika w podany niżej sposób.

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

Możesz przesłać do Cloud Storage cały katalog z dysku lokalnego, używając parametru -UploadFolder i podając ścieżkę folderu. Jeśli nie chcesz, aby folder był przesyłany bezpośrednio do katalogu głównego zasobnika Cloud Storage, użyj -ObjectNamePrefix, aby określić prefiks, który będzie stosowany do każdego przesłanego obiektu.

Wybierz lokalny folder na komputerze i prześlij go do swojego zasobnika w następujący sposób.

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

Wyszukiwanie danych

Dane możesz wyszukiwać za pomocą polecenia cmdlet lub dostawcy przy użyciu popularnych cmdletów do wyszukiwania plików. Spróbuj z zasobnikiem wykonać to polecenie.

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

Powinno się pojawić wyskakujące okienko z siatką z nazwą i rozmiarem.

59d92a6bfec86f89.png

Odczyt danych

Do odczytu danych możesz użyć polecenia cmdlet Read-GcsObject. Możesz na przykład użyć tego polecenia, by odczytać na komputer plik o nazwie hello.txt.

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

Usuwanie danych

Możesz też usunąć dane za pomocą polecenia cmdlet Remove-GcsObject. Za pomocą tego polecenia usuń całą zawartość zasobnika.

Get-GcsObject $bucket | Remove-GcsObject

8. Gratulacje!

Dzięki tym ćwiczeniom w Codelabs wiesz, jak zarządzać instancjami Compute Engine i zasobnikami Cloud Storage w PowerShell, ale to nie wszystko. Możesz też zarządzać zasobami Cloud SQL i Cloud CDN za pomocą PowerShell. Aby dowiedzieć się więcej, zapoznaj się z listą kolejnych kroków poniżej.

Omówione zagadnienia

  • Jak zainstalować Cloud Tools for PowerShell.
  • Jak uwierzytelnić się za pomocą pakietu SDK Google Cloud.
  • Dowiedz się, jak utworzyć Google Compute Engine i zarządzać nim z poziomu PowerShell.
  • Jak tworzyć kopie zapasowe danych z PowerShell w Google Cloud Storage.

Następne kroki