Установите и используйте Cloud Tools для PowerShell

1. Обзор

PowerShell — это оболочка командной строки и связанный с ней язык сценариев, созданный на основе .NET Framework. Это инструмент автоматизации задач и управления конфигурацией по умолчанию, используемый в мире Windows. Командлет PowerShell — это упрощенная команда, вызываемая внутри PowerShell.

Cloud Tools для PowerShell — это набор командлетов для доступа к ресурсам Google Cloud и управления ими, таких как Google Compute Engine, Google Cloud Storage, Google Cloud SQL и Google Cloud DNS — и это еще не все!

Следуйте инструкциям этой лабораторной работы, чтобы узнать, как взаимодействовать с ресурсами Google Cloud из PowerShell.

Что вы узнаете

  • Как установить Cloud Tools для PowerShell.
  • Как пройти аутентификацию с помощью Google Cloud SDK.
  • Как создать Google Compute Engine и управлять им из PowerShell.
  • Как сделать резервную копию данных в Google Cloud Storage из PowerShell.

Что вам понадобится

  • Проект облачной платформы Google.
  • Браузер, например Chrome или Firefox .
  • Машина с Windows.

Как вы будете использовать этот урок?

Прочтите только до конца Прочитайте его и выполните упражнения.

Как бы вы оценили свой опыт работы с Google Cloud Platform?

Новичок Средний Опытный

2. Настройка и требования

Для этой лаборатории кода вам понадобится проект Google Cloud для взаимодействия с PowerShell. Если у вас есть существующий проект, вы можете либо использовать его, либо создать новый проект, выполнив следующие действия.

Самостоятельная настройка среды

Если у вас еще нет учетной записи Google (Gmail или GSuite), вам необходимо ее создать . Войдите в консоль Google Cloud ( console.cloud.google.com ) и создайте новый проект:

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Запомните идентификатор проекта — уникальное имя для всех проектов Google Cloud Platform. Позже в этой лаборатории он будет называться PROJECT_ID .

Затем вам необходимо включить выставление счетов в Google Cloud Console, чтобы использовать ресурсы Google Cloud Platform, такие как Google Cloud Datastore и Cloud Storage.

Новые пользователи Google Cloud Platform имеют право на бесплатную пробную версию стоимостью 300 долларов США . Выполнение этой кодовой лаборатории не должно стоить вам больше нескольких долларов, но может стоить больше, если вы решите использовать больше ресурсов или оставите их включенными (см. раздел «Очистка» в конце этого документа).

3. Установка

Установка среды для самостоятельного обучения

Командлеты PowerShell входят в состав Cloud SDK для Windows . Если вы еще этого не сделали, загрузите и установите Google Cloud SDK для Windows, как описано в руководстве «Краткий старт для Windows» . Убедитесь, что вы выбрали опцию PowerShell при установке Cloud SDK.

d6df1af5b5b08e41.png

4. Аутентификация

Cloud Tools for PowerShell использует учетные данные и настройки, хранящиеся в Cloud SDK. Поэтому, чтобы начать использовать командлеты, сначала необходимо войти в систему с помощью Cloud SDK.

Аутентификация среды для самостоятельного обучения

Запустите Google Cloud SDK Shell и выполните следующую команду.

gcloud init

Примите возможность войти в систему, используя свою учетную запись Google.

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

В браузере войдите в свою учетную запись Google при появлении соответствующего запроса и нажмите «Разрешить», чтобы предоставить разрешение на доступ к ресурсам Google Cloud Platform.

В командной строке выберите проект Cloud Platform из списка проектов, для которых у вас есть разрешения владельца, редактора или зрителя.

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

5. Запустите командлеты Google Cloud в PowerShell.

После аутентификации вы готовы использовать командлеты Google Cloud в PowerShell. Найдите и откройте оболочку командной строки PowerShell.

66b0c5d9b1cd7c68.png

Чтобы убедиться, что командлеты Google Cloud установлены правильно, запустите командлет Get-GceInstance . Здесь должен быть перечислен экземпляры Compute Engine, которые есть в вашем проекте.

3ffd420f66f76b06.png

6. Создание экземпляров Google Compute Engine и управление ими.

В этом разделе вы создадите Google Compute Engine и будете управлять им из Google Cloud Tools для PowerShell.

Создайте конфигурацию экземпляра

Прежде чем создавать экземпляр, необходимо сначала создать конфигурацию экземпляра. Как минимум для этого требуются имя, тип машины и образ загрузочного диска или уже существующий загрузочный диск. Используйте Get-GceImage для создания образа диска и New-GceInstanceConfig для создания конфигурации.

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

На этом этапе у вас есть конфигурация, которую вы можете использовать для создания экземпляра.

Создать экземпляр

Используйте командлет Add-GceInstance чтобы создать новый экземпляр Compute Engine. Вы можете указать проект и зону, но если они опущены, значения параметров по умолчанию будут такими же, как в текущей активной конфигурации Cloud SDK. Если вы указываете проект, обязательно замените PROJECT_ID своим собственным идентификатором проекта.

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

Управление экземпляром

Вы можете использовать командлет Get-GceInstance для получения экземпляров виртуальных машин проекта. Поскольку имя экземпляра может не быть уникальным в разных проектах или зонах, вы можете указать параметр «Проект» или «Зона», чтобы сузить поиск. По умолчанию командлет использует все значения, имеющиеся в активной конфигурации Cloud SDK.

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

Вы можете установить теги экземпляра, диски, конфигурации доступа и другие метаданные после создания экземпляра с помощью командлета Set-GceInstance . Добавьте некоторые метаданные, а затем удалите их следующим образом.

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

Теперь добавьте тег, который вы будете использовать позже для удаления экземпляра.

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

Вы можете запустить, остановить или перезапустить экземпляр с помощью различных командлетов. Вы можете обратиться к экземпляру, используя имя или строго типизированный объект, возвращаемый командлетом Get-GceInstance . Поиграйтесь с некоторыми из этих команд.

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

Наконец, когда вы закончите работу с экземпляром, удалите его из Compute Engine, используя командлет Remove-GceInstance и указав тег, который вы указали ранее.

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

7. Резервное копирование данных в облачное хранилище Google.

В этой части лабораторной работы вы создадите резервную копию данных с вашего локального компьютера в облачном хранилище Google с помощью Cloud Tools для PowerShell.

Создать сегмент

Прежде чем загружать файлы в Cloud Storage, вам необходимо создать корзину. Используйте командлет New-GcsBucket чтобы создать новый сегмент.

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

Загрузить файлы в корзину

Вы можете использовать New-GcsObject для загрузки файла или целых папок в корзину.

Вы можете загрузить содержимое локального файла в Cloud Storage, используя параметр -File и указав путь к файлу. Альтернативно вы можете передать содержимое объекта в виде строки через конвейер PowerShell или использовать параметр -Value .

Выберите локальный файл на своем компьютере и загрузите его в корзину следующим образом.

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

Вы можете загрузить весь каталог с локального диска в Cloud Storage, используя параметр -UploadFolder и указав путь к папке. Если вы не хотите, чтобы папка загружалась непосредственно в корень сегмента Cloud Storage, используйте -ObjectNamePrefix , чтобы указать префикс, который будет применяться к каждому загружаемому объекту.

Выберите локальную папку на своем компьютере и загрузите ее в корзину следующим образом.

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

Поиск данных

Вы можете искать данные с помощью командлетов или у поставщика с помощью обычных командлетов поиска файлов. Попробуйте следующую команду со своим ведром.

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

Вы должны увидеть всплывающее окно сетки с именем и размером.

59d92a6bfec86f89.png

Чтение данных

Для чтения данных можно использовать командлет Read-GcsObject . В качестве примера вы можете использовать следующую команду, чтобы прочитать файл с именем hello.txt на рабочем столе.

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

Удалить данные

И последнее, но не менее важное: вы можете удалить данные с помощью командлета Remove-GcsObject . Используйте следующую команду, чтобы удалить все содержимое корзины.

Get-GcsObject $bucket | Remove-GcsObject

8. Поздравляем!

В этой лабораторной работе вы узнали, как управлять экземплярами Compute Engine и сегментами Cloud Storage из PowerShell, но это не только! Вы также можете управлять ресурсами Cloud SQL и Cloud CDN с помощью PowerShell. Чтобы узнать больше, ознакомьтесь со списком следующих шагов ниже.

Что мы рассмотрели

  • Как установить Cloud Tools для PowerShell.
  • Как пройти аутентификацию с помощью Google Cloud SDK.
  • Как создать Google Compute Engine и управлять им из PowerShell.
  • Как сделать резервную копию данных в Google Cloud Storage из PowerShell.

Следующие шаги