Краткое руководство. Создание виртуальной машины Linux с помощью Azure CLI в Azure
Область применения: ✔️ виртуальные машины Linux
В этом кратком руководстве показано, как с помощью 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.
Вход в Azure с помощью интерфейса командной строки
Чтобы выполнить команды в Azure с помощью интерфейса командной строки, сначала необходимо войти в систему. Войдите с помощью az login
команды.
Создание или изменение группы ресурсов
Группа ресурсов — это контейнер для связанных ресурсов. Все ресурсы должны быть помещены в группу ресурсов. Команда az group create создает группу ресурсов с ранее определенными параметрами $MY_RESOURCE_GROUP_NAME и $REGION.
export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=EastUS
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
образ.
Все остальные значения настраиваются с помощью переменных среды.
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"
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