Поделиться через


Развертывание виртуальных машин 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.

  1. Откройте браузер и перейдите к коллекции PowerShell, а затем нажмите кнопку Deploy to Azure Automation (Развернуть в службе автоматизации Azure).

    AWS PS Module Import

  2. Вы перейдете на страницу входа в Azure. После проверки подлинности откроется следующая страница портала Azure.

    Import Module page

  3. Выберите учетную запись службы автоматизации и нажмите кнопку OK для запуска развертывания.

    Примечание.

    Когда служба автоматизации Azure импортирует модуль PowerShell, она извлекает командлеты. Действия не отображаются, пока служба автоматизации не завершит импорт модуля и извлечение командлетов полностью. Этот процесс может занять несколько минут.

  4. На портале Azure откройте свою учетную запись службы автоматизации.

  5. Щелкните плитку Ресурсы и на странице "Ресурсы" выберите Модули.

  6. На странице "Модули" вы увидите в списке модуль AWSPowerShell.

Создание модуля Runbook для развертывания виртуальной машины в AWS

После развертывания модуля AWS PowerShell можно создать модуль Runbook для автоматизации подготовки виртуальной машины в AWS с помощью сценария PowerShell. Приведенные ниже шаги показывают, как использовать собственный сценарий PowerShell в службе автоматизации Azure.

Примечание.

Дополнительные параметры и сведения, касающиеся этого сценария, можно найти в коллекции PowerShell.

  1. Загрузите сценарий PowerShell New-AwsVM из коллекции PowerShell, открыв сеанс PowerShell и введя следующую команду:

    Save-Script -Name New-AwsVM -Path <path>
    

  2. На портале Azure откройте учетную запись автоматизации и выберите Модули runbook в разделе Автоматизация процессов.

  3. На странице "Модули runbook" выберите Добавить runbook.

  4. На странице "Добавить runbook" выберите Быстрое создание для создания нового модуля runbook.

  5. В области "Свойства runbook" введите имя модуля runbook.

  6. В раскрывающемся списке Тип runbook выберите PowerShell, а затем щелкните Создать.

    Create runbook pane

  7. При открытии страницы "Изменение сценария PowerShell для модуля Runbook" скопируйте и вставьте сценарий PowerShell в область создания модуля Runbook.

    Runbook PowerShell Script

    При работе с примером сценария PowerShell имейте в виду следующее:

    • Модуль Runbook содержит несколько параметров по умолчанию. Проверьте все значения по умолчанию и при необходимости обновите их.
    • Если вы сохранили учетные данные AWS как ресурс учетных данных с именем, отличным от AWScred, потребуется соответствующим образом обновить сценарий в строке 57.
    • При работе с командами AWS в PowerShell, особенно в этом примере модуля Runbook, необходимо указывать регион AWS. В противном случае командлеты завершатся с ошибкой. Дополнительные сведения на сайте AWS см. в разделе Specify AWS Region (Указание региона AWS) документации "AWS Tools for Windows PowerShell" (Инструменты AWS для Windows PowerShell).
  8. Чтобы получить список имен образов из подписки 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
    

    Возвращается следующий результат:

    Get AWS images

  9. Скопируйте и вставьте имя одного из образов в переменную службы автоматизации, которая в модуле runbook указана как $InstanceType. Так как в этом примере используется подписка AWS уровня "Бесплатный", в примере модуля runbook нужно использовать t2.micro.

  10. Сохраните модуль Runbook, нажмите кнопку Опубликовать, чтобы опубликовать модуль Runbook, а затем кнопку Да в появившемся запросе.

Тестирование модуля runbook виртуальной машины AWS

  1. Убедитесь, что модуль runbook создает ресурс с именем AWScred для проверки подлинности в AWS или обновите сценарий, чтобы он ссылался на имя ресурса учетных данных.
  2. Проверьте новый модуль runbook и убедитесь, что все необходимые значения параметров были обновлены. Убедитесь, что модуль PowerShell для AWS импортирован в службу автоматизации Azure.
  3. В службе автоматизации Azure для параметров Подробные записи в журнале и Записи ведения журнала в операции Ведение журналов и трассировка модуля runbook задайте значение Включено.

    Runbook Logging and Tracing.
  4. Чтобы запустить модуль Runbook, щелкните Запустить, а затем, когда откроется страница "Запуск Runbook", нажмите кнопку OK.
  5. На странице "Запуск модуля Runbook" укажите имя виртуальной машины. Примите значения по умолчанию для остальных параметров, которые были указаны в сценарии. Нажмите кнопку ОК, чтобы запустить задание Runbook.

    Start New-AwsVM runbook
  6. Откроется область Задание с созданным заданием Runbook. Закройте эту область.
  7. Ход выполнения задания и потоки вывода можно просмотреть, выбрав плитку Все журналы на странице задания runbook.

    Stream output
  8. Чтобы убедиться, что виртуальная машина подготавливается, войдите в консоль управления AWS, если вы еще не вошли в систему.

    AWS console deployed VM

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