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 Cloud Platform?
2. Настройка и требования
Для этой лаборатории кода вам понадобится проект Google Cloud для взаимодействия с PowerShell. Если у вас есть существующий проект, вы можете либо использовать его, либо создать новый проект, выполнив следующие действия.
Самостоятельная настройка среды
Если у вас еще нет учетной записи Google (Gmail или GSuite), вам необходимо ее создать . Войдите в консоль Google Cloud ( console.cloud.google.com ) и создайте новый проект:
Запомните идентификатор проекта — уникальное имя для всех проектов 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.
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.
Чтобы убедиться, что командлеты Google Cloud установлены правильно, запустите командлет Get-GceInstance
. Здесь должен быть перечислен экземпляры Compute Engine, которые есть в вашем проекте.
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
Вы должны увидеть всплывающее окно сетки с именем и размером.
Чтение данных
Для чтения данных можно использовать командлет 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.
Следующие шаги
- Узнайте больше об облачных инструментах для PowerShell .
- Узнайте больше о Windows в Google Cloud Platform .
- Узнайте больше о .NET на Google Cloud Platform .
- Узнайте больше о SQL Server на Google Cloud Platform .
- Узнайте больше об облачных инструментах для Visual Studio .