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
Jak wykorzystasz ten samouczek?
Jak oceniasz swoje doświadczenia z Google Cloud Platform?
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:
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.
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.
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.
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.
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
- Dowiedz się więcej o narzędziach Cloud dla PowerShell.
- Dowiedz się więcej o systemie Windows w Google Cloud Platform.
- Dowiedz się więcej o .NET w Google Cloud Platform.
- Dowiedz się więcej o SQL Server w Google Cloud Platform.
- Dowiedz się więcej o narzędziach Cloud dla Visual Studio.