Установка и использование Azure CLI на Ubuntu

Azure — облачная платформа Microsoft, предоставляющая масштабируемую, доступную и управляемую инфраструктуру и сервисы для разработчиков и организаций. Azure CLI — это удобный инструмент командной строки для управления ресурсами Azure как вручную, так и в автоматизации.
О чём эта инструкция
- Быстрая установка Azure CLI на Ubuntu.
- Базовые команды: вход, выбор подписки, формат вывода, список ресурсов.
- Настройка, обновление и удаление CLI.
- Практики безопасности, чек-листы по ролям, сценарии восстановления.
Почему стоит использовать Azure CLI
Azure CLI — кроссплатформенный инструмент для создания и управления ресурсами Azure через терминал. Ключевые преимущества:
- Подходит для автоматизации задач и скриптов.
- Упрощает DevOps-процессы и интеграцию в CI/CD.
- Полный набор команд, сопоставимый с возможностями портала Azure.
Краткое определение: Azure CLI — это набор команд типа az, которые управляют ресурсами Azure через HTTP API Azure.
Подготовка перед установкой
Важно: перед запуском скриптов из интернета осмотрите их содержимое. Запускать скрипты нужно из-под учётной записи с правами sudo, на системах с актуальными обновлениями пакетов и надёжным интернетом.
Совместимость: инструкция ориентирована на Ubuntu (Debian-подобные дистрибутивы). Для macOS, Windows и Docker существуют отдельные варианты установки.
Установка Azure CLI на Ubuntu
Используем официальный скрипт установки, поддерживаемый командой Azure CLI.
sudo curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bashПосле завершения установки проверьте версию:
az --versionЕсли команда возвращает номер версии и список установленных расширений, установка прошла успешно.
Important: при использовании прокси или корпоративного брандмауэра добавьте настройки прокси в окружение (HTTP_PROXY/HTTPS_PROXY) и убедитесь, что apt может подключаться к репозиториям.
Вход в Azure через CLI
Если у вас нет аккаунта, зарегистрируйтесь в портале Azure и получите подписку (есть пробные подписки).
Войдите в CLI командой:
az loginВ графической среде система откроет браузер для авторизации. В headless-средах вы получите код устройства — откройте https://microsoft.com/devicelogin и введите код.
После успешного входа az выведет JSON со списком подписок, доступных для вашей учётной записи.
Формат вывода: JSON, table, yaml
По умолчанию az выводит JSON. Для компактного представления используйте таблицу:
az login -o tableИли указывайте формат для любой команды, например:
az vm list -o table
az resource list -o json
az group list -o yamlСовет: для парсинга в скриптах удобнее использовать –query с JMESPath и -o json или -o tsv.
Выбор подписки и управление аккаунтами
Список подписок в виде таблицы:
az account list -o tableУстановка подписки по умолчанию (по имени или ID):
az account set --subscription "your_subscription_name_or_id"Проверьте, что в выводе az account list -o table в колонке IsDefault для выбранной подписки стоит True.
Просмотр и управление ресурсами
Ресурсные группы — логические контейнеры для связанных ресурсов. Для получения списка ресурсов в подписке:
az resource list -o tableПримеры базовых операций (удобно использовать в скриптах):
# Список виртуальных машин
az vm list -o table
# Запуск/остановка VM
az vm start --name MyVM --resource-group MyRG
az vm stop --name MyVM --resource-group MyRG
# Создание ресурсной группы
az group create --name MyRG --location eastus
# Удаление ресурсной группы (внимательно)
az group delete --name MyRG --yes --no-waitNotes: команды могут требовать прав RBAC; при недостатке прав используйте учётки с нужными ролями или запросите доступ у администратора подписки.
Получение справки из CLI
Справка встроена в интерфейс:
az
az vm --help
az vm stop --helpКоманда az без аргументов покажет базовый список команд. Каждая команда имеет подкоманды и примеры использования.
Интерактивный режим
Интерактивная оболочка помогает исследовать команды и автодополняет синтаксис. Первый запуск автоматически установит нужные компоненты:
az interactiveОбновление Azure CLI
Обновляйте CLI для безопасности и новых возможностей:
az upgradeNote: функция az upgrade доступна начиная с версии 2.11.0 и выше. Если обновление не работает, обновите пакет через apt:
sudo apt-get update
sudo apt-get install --only-upgrade azure-cliНастройка по умолчанию
Для установки стандартного формата вывода и других параметров выполните:
az configureСледуйте подсказкам и выберите желаемый формат вывода (например, table). Также можно отключить отправку телеметрии.
Выход и удаление
Выйти из текущей сессии:
az logoutУдаление Azure CLI (Ubuntu):
sudo apt-get remove -y azure-cli
sudo rm /etc/apt/sources.list.d/azure-cli.listПрактические сценарии использования
- Автоматическое развертывание тестовой среды в CI: скрипт создает группы ресурсов, сети, ВМ, затем запускает тесты и удаляет ресурсы.
- Миграция конфигураций: экспортите настройки в скрипты и используйте для воспроизводимости.
- Мониторинг и удаление неиспользуемых ресурсов для оптимизации затрат.
Безопасность и лучшие практики
- Раздавайте права по принципу наименьших привилегий (RBAC).
- Используйте управляемые идентичности для сервисов вместо сохранённых ключей.
- Включите многофакторную аутентификацию и политики условного доступа для учетных записей с правами управления.
- Отключите телеметрию, если это требуется политикой предприятия: az configure.
- Храните секреты в Azure Key Vault и обращайтесь к ним через CLI защищённо.
Чек-листы по ролям
Разработчик:
- Установить Azure CLI и az interactive.
- Настроить формат вывода в table или tsv для скриптов.
- Проверить доступы к нужным ресурсным группам.
DevOps-инженер:
- Интегрировать команды az в CI/CD.
- Настроить сервисную учётную запись с минимальными правами.
- Использовать –query и -o tsv для парсинга в пайплайнах.
Администратор облака:
- Настроить RBAC и политики подписки.
- Периодически обновлять CLI и расширения.
- Мониторить использование ресурсов и шаблоны расходов.
Специалист по безопасности:
- Проверить политики условного доступа и MFA.
- Убедиться, что секреты в Key Vault используются безопасно.
- Оценить и ограничить доступ к управляемым идентичностям.
Руководство восстановления и отката (инцидент)
Сценарий: после обновления az появились ошибки или команды не работают.
Шаги:
- Проверить версию: az –version.
- Откатить до предыдущей стабильной версии через apt (если доступна) или переустановить:
sudo apt-get remove -y azure-cli
sudo apt-get update
sudo apt-get install azure-cli- Если проблема связана с расширением, удалите расширение и установите заново:
az extension remove --name
az extension add --source - Временное решение: использовать Docker-образ с известной рабочей версией Azure CLI.
Устранение распространённых проблем
Проблема: az login не открывает браузер (сервер без GUI) Решение: используйте устройство авторизации:
az login --use-device-codeПроблема: недостаточно прав для операции Решение: запросите роль у администратора подписки (Contributor/Owner/Custom) или выполните команду с учётной записью, у которой есть нужные привилегии.
Проблема: ошибки сети/прокси Решение: настройте переменные окружения HTTP_PROXY/HTTPS_PROXY и убедитесь, что apt и curl доступны через прокси.
Советы по автоматизации и тестированию
Малый чек-лист для автоматизации:
- Используйте -o tsv и –query для надёжного парсинга.
- Разделяйте операции: create → validate → apply.
- Пишите тесты, которые проверяют существование ресурсов и их состояние.
Пример автоматического сценария (псевдо-пайплайн):
- az group create
- az network vnet create
- az vm create
- тесты подключения
- az group delete (по завершении тестов)
Совместимость и миграция
- Установка через оф. репозиторий apt подходит для Ubuntu LTS и большинства современных релизов Debian-подобных систем.
- Для контейнерных образов используйте официальный Docker-образ mcr.microsoft.com/azure-cli.
- При миграции скриптов из PowerShell на Bash обратите внимание на разницу в кавычках и передаче параметров.
Краткий глоссарий
- az: команда-оболочка Azure CLI.
- resource group: логический контейнер ресурсов Azure.
- subscription: учётная запись/платёжная сущность Azure.
- RBAC: role-based access control — модель разграничения прав.
Часто задаваемые вопросы
Как войти, если у меня нет GUI?
Выполните az login –use-device-code, затем откройте указанную ссылку на другом устройстве и введите код.
Как отключить телеметрию?
Запустите az configure и выберите соответствующую опцию для отключения отправки телеметрии.
Можно ли использовать Azure CLI в CI/CD?
Да. Используйте сервисные учётные записи (Service Principal) и храните секреты в безопасном хранилище, например, в Azure Key Vault.
Резюме
Azure CLI — мощный и гибкий инструмент для управления ресурсами Azure из терминала. Он ускоряет автоматизацию, упрощает интеграцию в CI/CD и предоставляет полный набор команд для работы с ресурсами. Установите CLI через официальный скрипт, настройте формат вывода и права доступа, следуйте лучшим практикам безопасности и используйте интерактивный режим для изучения команд.
Ключевые действия на старте: установить az, выполнить az login, выбрать subscription, настроить формат вывода и интегрировать команды в автоматизацию.
Социальный предпросмотр (предложение): «Quickstart: Azure CLI на Ubuntu — установка, основные команды и лучшие практики для DevOps».