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


Краткое руководство. Создание виртуальной машины Linux в Azure с помощью PowerShell

Область применения: ✔️ виртуальные машины Linux

Модуль PowerShell используется для создания ресурсов Azure и управления ими с помощью командной строки PowerShell или скриптов. В этом кратком руководстве показано, как использовать модуль Azure PowerShell для развертывания виртуальной машины Linux в Azure. В этом кратком руководстве используется последний образ Debian маркетплейса. Чтобы увидеть виртуальную машину в действии, вы также подключитесь по SSH к виртуальной машине и установите веб-сервер NGINX.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Запуск Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Он содержит стандартные средства Azure, предварительно установленные и настроенные для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу "ВВОД", чтобы выполнить его.

Создайте группу ресурсов

Создайте группу ресурсов Azure с помощью командлета PowerShell New-AzResourceGroup. Группа ресурсов — это логический контейнер, в котором развертываются и управляются ресурсы Azure:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

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

Мы автоматически создадим пару ключей SSH для подключения к виртуальной машине. Открытый ключ, созданный с помощью -GenerateSshKey, будет храниться в Azure в качестве ресурса с именем, которое вы укажете, как SshKeyName. Ресурс ключа SSH можно повторно использовать для создания дополнительных виртуальных машин. Для вас также будут загружены открытые и закрытые ключи. При создании пары ключей SSH с помощью Cloud Shell ключи хранятся в учетной записи хранения, которая автоматически создается Cloud Shell. Не удаляйте учетную запись хранения или общую папку в ней, пока вы не получили ключи или потеряете доступ к виртуальной машине.

Вам будет предложено ввести имя пользователя для подключения к виртуальной машине. Вам также будет предложено ввести пароль, но вы можете оставить это поле пустым. Вход паролей для виртуальной машины отключен при использовании ключа SSH.

В этом примере вы создадите виртуальную машину с именем myVM в восточной части США с помощью размера Standard_B2s виртуальной машины.

New-AzVm `
    -ResourceGroupName 'myResourceGroup' `
    -Name 'myVM' `
    -Location 'East US' `
    -image Debian11 `
    -size Standard_B2s `
    -PublicIpAddressName myPubIP `
    -OpenPorts 80 `
    -GenerateSshKey `
    -SshKeyName mySSHKey

Выходные данные дают расположение локальной копии ключа SSH. Рассмотрим пример.

Private key is saved to /home/user/.ssh/1234567891
Public key is saved to /home/user/.ssh/1234567891.pub

Сведения о затратах не представлены во время процесса создания виртуальной машины для PowerShell, например для портала Azure. Дополнительные сведения о том, как работает стоимость виртуальных машин, см. на странице обзора оптимизации затрат.

Развертывание виртуальной машины может занять несколько минут. По завершении развертывания перейдите к следующему разделу.

Установка nginx

Чтобы проверить работу виртуальной машины, установите веб-сервер NGINX.

Invoke-AzVMRunCommand `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -CommandId 'RunShellScript' `
   -ScriptString 'sudo apt-get update && sudo apt-get install -y nginx'

Для параметра -ScriptString требуется версия 4.27.0 или более поздняя версия модуля Az.Compute.

Проверка работы веб-сервера

Получите общедоступный IP-адрес виртуальной машины:

Get-AzPublicIpAddress -Name myPubIP -ResourceGroupName myResourceGroup | select "IpAddress" 

Страницу приветствия NGINX по умолчанию можно просмотреть в любом веб-браузере. Введите общедоступный IP-адрес виртуальной машины в качестве веб-адреса.

Снимок экрана: веб-страница N G I N X по умолчанию.

Очистка ресурсов

При отсутствии необходимости можно использовать командлет Remove-AzResourceGroup для удаления группы ресурсов, виртуальной машины и всех связанных ресурсов:

Remove-AzResourceGroup -Name 'myResourceGroup'

Дальнейшие действия

В этом кратком руководстве вы развернули простую виртуальную машину, создали группу безопасности сети и правило и установили базовый веб-сервер. Дополнительные сведения о виртуальных машинах Azure см. в руководстве для виртуальных машин Linux.