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

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

В этом кратком руководстве показано, как с помощью Azure CLI развернуть в Azure виртуальную машину Linux. Azure CLI используется для создания ресурсов Azure и управления ими с помощью командной строки или скриптов.

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

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

Запуск Azure Cloud Shell

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

Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/bash. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить его.

Если вы решили установить и использовать CLI локально, для выполнения инструкций из этого руководства вам потребуется Azure CLI 2.0.30 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

Определение переменных среды

Переменные среды обычно используются в Linux для централизации данных конфигурации для повышения согласованности и удобства обслуживания системы. Создайте следующие переменные среды, чтобы указать имена ресурсов, которые будут созданы далее в этом руководстве:

export RESOURCE_GROUP_NAME=myResourceGroup
export LOCATION=eastus
export VM_NAME=myVM
export VM_IMAGE=debian
export ADMIN_USERNAME=azureuser

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

Создайте группу ресурсов с помощью команды az group create. Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

az group create --name $RESOURCE_GROUP_NAME --location $LOCATION

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

Создайте виртуальную машину с помощью команды az vm create.

В следующем примере создается виртуальная машина и добавляется учетная запись пользователя. Параметр --generate-ssh-keys автоматически создает ключ SSH и сохраняет его в стандартное расположение ( ~/.ssh). Чтобы использовать определенный набор ключей, примените параметр --ssh-key-values.

az vm create \
  --resource-group $RESOURCE_GROUP_NAME \
  --name $VM_NAME \
  --image $VM_IMAGE \
  --admin-username $ADMIN_USERNAME \
  --generate-ssh-keys \
  --public-ip-sku Standard

Создание виртуальной машины и вспомогательных ресурсов занимает несколько минут. В следующем примере выходных данных показано, что виртуальная машина успешно создана.

{
  "fqdns": "",
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Запишите publicIpAddress для последующего использования.

Вы можете получить и сохранить IP-адрес в переменной IP_ADDRESS с помощью следующей команды:

export IP_ADDRESS=$(az vm show --show-details --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME --query publicIps --output tsv)

Установка веб-сервера

Чтобы проверить работу виртуальной машины, установите веб-сервер NGINX. Обновите источники пакетов, а затем установите последнюю версию пакета NGINX. Следующая команда использует run-command для запуска sudo apt-get update && sudo apt-get install -y nginx на виртуальной машине:

az vm run-command invoke \
   --resource-group $RESOURCE_GROUP_NAME \
   --name $VM_NAME \
   --command-id RunShellScript \
   --scripts "sudo apt-get update && sudo apt-get install -y nginx"

Открытие порта 80 для веб-трафика

По умолчанию при создании виртуальной машины Linux в Azure открыты только SSH-подключения. Откройте TCP-порт 80, который понадобится для веб-сервера NGINX, с помощью команды az vm open-port.

az vm open-port --port 80 --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME

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

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

Снимок экрана: веб-сайт NGINX по умолчанию.

Кроме того, выполните следующую команду, чтобы увидеть страницу приветствия NGINX в терминале

 curl $IP_ADDRESS

В следующем примере показан веб-сайт NGINX по умолчанию в терминале как успешный результат:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

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

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

az group delete --name $RESOURCE_GROUP_NAME --no-wait --yes --verbose

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

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