Развертывание виртуальных машин Amazon Web Services с помощью модуля runbook
В этой статье вы узнаете, как с помощью службы автоматизации Azure подготовить виртуальную машину в подписке Amazon Web Service (AWS) и присвоить виртуальной машине конкретное имя, которое в AWS называется "тегом" виртуальной машины.
Необходимые компоненты
Для выполнения инструкций из этой статьи вам понадобится учетная запись службы автоматизации Azure и подписка Amazon Web Services (AWS). Дополнительные сведения о настройке учетной записи службы автоматизации Azure и об указании в ней учетных данных подписки AWS см. в статье Проверка подлинности модулей Runbook с помощью Amazon Web Services. Перед выполнением дальнейших действий необходимо создать эту учетную запись с учетными данными подписки AWS или указать в ней эти учетные данные, так как вы будете ссылаться на нее при выполнении действий в разделах ниже.
Развертывание модуля PowerShell для Amazon Web Services
В процессе работы ваш модуль runbook для подготовки виртуальной машины использует модуль PowerShell для AWS. Выполните следующие действия, чтобы добавить в учетную запись службы автоматизации модуль, настроенный с учетными данными подписки AWS.
Откройте браузер и перейдите к коллекции PowerShell, а затем нажмите кнопку Deploy to Azure Automation (Развернуть в службе автоматизации Azure).
Вы перейдете на страницу входа в Azure. После проверки подлинности откроется следующая страница портала Azure.
Выберите учетную запись службы автоматизации и нажмите кнопку OK для запуска развертывания.
Примечание.
Когда служба автоматизации Azure импортирует модуль PowerShell, она извлекает командлеты. Действия не отображаются, пока служба автоматизации не завершит импорт модуля и извлечение командлетов полностью. Этот процесс может занять несколько минут.
На портале Azure откройте свою учетную запись службы автоматизации.
Щелкните плитку Ресурсы и на странице "Ресурсы" выберите Модули.
На странице "Модули" вы увидите в списке модуль AWSPowerShell.
Создание модуля Runbook для развертывания виртуальной машины в AWS
После развертывания модуля AWS PowerShell можно создать модуль Runbook для автоматизации подготовки виртуальной машины в AWS с помощью сценария PowerShell. Приведенные ниже шаги показывают, как использовать собственный сценарий PowerShell в службе автоматизации Azure.
Примечание.
Дополнительные параметры и сведения, касающиеся этого сценария, можно найти в коллекции PowerShell.
Загрузите сценарий PowerShell New-AwsVM из коллекции PowerShell, открыв сеанс PowerShell и введя следующую команду:
Save-Script -Name New-AwsVM -Path <path>
На портале Azure откройте учетную запись автоматизации и выберите Модули runbook в разделе Автоматизация процессов.
На странице "Модули runbook" выберите Добавить runbook.
На странице "Добавить runbook" выберите Быстрое создание для создания нового модуля runbook.
В области "Свойства runbook" введите имя модуля runbook.
В раскрывающемся списке Тип runbook выберите PowerShell, а затем щелкните Создать.
При открытии страницы "Изменение сценария PowerShell для модуля Runbook" скопируйте и вставьте сценарий PowerShell в область создания модуля Runbook.
При работе с примером сценария PowerShell имейте в виду следующее:
- Модуль Runbook содержит несколько параметров по умолчанию. Проверьте все значения по умолчанию и при необходимости обновите их.
- Если вы сохранили учетные данные AWS как ресурс учетных данных с именем, отличным от
AWScred
, потребуется соответствующим образом обновить сценарий в строке 57. - При работе с командами AWS в PowerShell, особенно в этом примере модуля Runbook, необходимо указывать регион AWS. В противном случае командлеты завершатся с ошибкой. Дополнительные сведения на сайте AWS см. в разделе Specify AWS Region (Указание региона AWS) документации "AWS Tools for Windows PowerShell" (Инструменты AWS для Windows PowerShell).
Чтобы получить список имен образов из подписки AWS, запустите PowerShell ISE и импортируйте модуль AWS PowerShell. Аутентификация в AWS путем замены
Get-AutomationPSCredential
в среде ISE наAWScred = Get-Credential
. Этот оператор выдаст запрос на ввод учетных данных. Идентификатор ключа доступа можно указать в качестве имени пользователя, а секретный ключ доступа в качестве пароля.#Sample to get the AWS VM available images #Please provide the path where you have downloaded the AWS PowerShell module Import-Module AWSPowerShell $AwsRegion = "us-west-2" $AwsCred = Get-Credential $AwsAccessKeyId = $AwsCred.UserName $AwsSecretKey = $AwsCred.GetNetworkCredential().Password # Set up the environment to access AWS Set-AwsCredentials -AccessKey $AwsAccessKeyId -SecretKey $AwsSecretKey -StoreAs AWSProfile Set-DefaultAWSRegion -Region $AwsRegion Get-EC2ImageByName -ProfileName AWSProfile
Возвращается следующий результат:
Скопируйте и вставьте имя одного из образов в переменную службы автоматизации, которая в модуле runbook указана как
$InstanceType
. Так как в этом примере используется подписка AWS уровня "Бесплатный", в примере модуля runbook нужно использовать t2.micro.Сохраните модуль Runbook, нажмите кнопку Опубликовать, чтобы опубликовать модуль Runbook, а затем кнопку Да в появившемся запросе.
Тестирование модуля runbook виртуальной машины AWS
- Убедитесь, что модуль runbook создает ресурс с именем
AWScred
для проверки подлинности в AWS или обновите сценарий, чтобы он ссылался на имя ресурса учетных данных. - Проверьте новый модуль runbook и убедитесь, что все необходимые значения параметров были обновлены. Убедитесь, что модуль PowerShell для AWS импортирован в службу автоматизации Azure.
- В службе автоматизации Azure для параметров Подробные записи в журнале и Записи ведения журнала в операции Ведение журналов и трассировка модуля runbook задайте значение Включено.
.
- Чтобы запустить модуль Runbook, щелкните Запустить, а затем, когда откроется страница "Запуск Runbook", нажмите кнопку OK.
- На странице "Запуск модуля Runbook" укажите имя виртуальной машины. Примите значения по умолчанию для остальных параметров, которые были указаны в сценарии. Нажмите кнопку ОК, чтобы запустить задание Runbook.
- Откроется область Задание с созданным заданием Runbook. Закройте эту область.
- Ход выполнения задания и потоки вывода можно просмотреть, выбрав плитку Все журналы на странице задания runbook.
- Чтобы убедиться, что виртуальная машина подготавливается, войдите в консоль управления AWS, если вы еще не вошли в систему.
Следующие шаги
- Сведения о поддерживаемых модулях Runbook см. в служба автоматизации Azure типах runbook.
- Сведения о работе с модулями runbook см. в статье Управление модулями runbook в службе автоматизации Azure.
- Дополнительные сведения о PowerShell см. в документации PowerShell.
- Сведения о поддержке сценариев см. в Встроенная поддержка скриптов PowerShell в службе автоматизации Azure.
- Справочник по командлетам PowerShell см. в документации по Az.Automation.