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


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

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

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

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

Запуск Azure Cloud Shell

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

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

Создание или изменение группы ресурсов

Создайте группу ресурсов Azure с помощью командлета 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-адрес виртуальной машины в качестве веб-адреса.

Screenshot showing the N G I N X default web page.

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

Вы можете удалить ненужную группу ресурсов, виртуальную машину и все связанные с ней ресурсы, выполнив командлет Remove-AzResourceGroup.

Remove-AzResourceGroup -Name 'myResourceGroup'

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

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