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

1. Обзор

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

Cloud Tools for 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 Cloud Platform.
  • Браузер, например Chrome или Firefox .
  • Компьютер под управлением Windows.

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

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

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

Новичок Средний Профессионал

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

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

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

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

aa2b71cbc7c28c59.png

60b154eb0fd9569a.png

Запомните идентификатор проекта (Project ID), уникальное имя для всех проектов Google Cloud Platform. В дальнейшем в этом практическом занятии он будет обозначаться как PROJECT_ID .

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

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

3. Установка

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

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

d6df1af5b5b08e41.png

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

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

Аутентификация среды в самостоятельном темпе

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

gcloud init

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

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

В браузере войдите в свою учетную запись Google, когда появится соответствующий запрос, и нажмите «Разрешить», чтобы предоставить разрешение на доступ к ресурсам Google 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 for 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 . Поскольку имя экземпляра может быть не уникальным для разных проектов или зон, можно указать параметр Project или Zone, чтобы сузить область поиска. По умолчанию командлет использует значения, указанные в активной конфигурации 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 Storage с помощью Cloud Tools for PowerShell.

Создайте корзину

Перед загрузкой файлов в Cloud Storage необходимо создать корзину (bucket). Для создания новой корзины используйте командлет 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.

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