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

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

Развернуть в Azure

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

Если у вас нет подписки 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 RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=EastUS
export MY_VM_NAME="myVM$RANDOM_ID"
export MY_USERNAME=azureuser
export MY_VM_IMAGE="Canonical:0001-com-ubuntu-minimal-jammy:minimal-22_04-lts-gen2:latest"

Вход в Azure с помощью интерфейса командной строки

Чтобы выполнить команды в Azure с помощью интерфейса командной строки, сначала необходимо войти в систему. Войдите с помощью az login команды.

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

Группа ресурсов — это контейнер для связанных ресурсов. Все ресурсы должны быть помещены в группу ресурсов. Команда az group create создает группу ресурсов с ранее определенными параметрами $MY_RESOURCE_GROUP_NAME и $REGION.

az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION

Результаты.

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myVMResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

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

Чтобы создать виртуальную машину в этой группе ресурсов, используйте vm create команду.

В следующем примере создается виртуальная машина и добавляется учетная запись пользователя. Параметр --generate-ssh-keys приводит к тому, что интерфейс командной строки ищет доступный ключ SSH в ~/.ssh. Если он найден, используется этот ключ. Если нет, он создается и хранится в ~/.ssh. Параметр --public-ip-sku Standard гарантирует, что компьютер доступен через общедоступный IP-адрес. Наконец, мы развернем последний Ubuntu 22.04 образ.

Все остальные значения настраиваются с помощью переменных среды.

az vm create \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --name $MY_VM_NAME \
    --image $MY_VM_IMAGE \
    --admin-username $MY_USERNAME \
    --assign-identity \
    --generate-ssh-keys \
    --public-ip-sku Standard

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

Результаты.

{
  "fqdns": "",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-10-4F-70",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.147.208.85",
  "resourceGroup": "myVMResourceGroup",
  "zones": ""
}

Включение входа Azure AD для виртуальной машины Linux в Azure

В следующем примере кода развертывается виртуальная машина Linux, а затем устанавливается расширение для включения входа Azure AD для виртуальной машины Linux. Расширения виртуальных машин — это небольшие приложения, которые выполняют задачи настройки и автоматизации после развертывания виртуальных машин Azure.

az vm extension set \
    --publisher Microsoft.Azure.ActiveDirectory \
    --name AADSSHLoginForLinux \
    --resource-group $MY_RESOURCE_GROUP_NAME \
    --vm-name $MY_VM_NAME

Хранение IP-адреса виртуальной машины для SSH

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

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

SSH в виртуальной машине

Теперь вы можете выполнить SSH-подключение к виртуальной машине, выполнив следующую команду в выбранном клиенте SSH:

ssh -o StrictHostKeyChecking=no $MY_USERNAME@$IP_ADDRESS

Next Steps