Выбор программы командной строки Azure

Для работы с Azure есть целый ряд инструментов и средств. В этой статье сравниваются Azure CLI и язык Azure PowerShell, а также среды, в которых работают эти два инструмента.

Функции Azure CLI, Azure PowerShell и Azure Cloud Shell пересекаются. Каждое из этих средств работает по-своему, а язык иногда путают со средой. Это руководство поможет вам разобраться, какой именно инструмент вам подходит.

Каковы преимущества программы командной строки Azure?

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

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

Благодаря технологиям автоматизации, на базе которых работает Azure, средства командной строки помогают справиться с этими задачами.

Что представляют собой программы командной строки Azure?

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

Работа с программами командной строки не всегда обязательна, но это полезный навык.

Azure CLI и Azure PowerShell

Azure CLI и Azure PowerShell — это средства командной строки, позволяющие создавать ресурсы Azure и управлять ими. Оба инструмента являются кроссплатформенными и устанавливаются в Windows, macOS и Linux.

Azure CLI

  • Кроссплатформенный интерфейс командной строки, устанавливаемый в Windows, macOS, Linux
  • Работает в Windows PowerShell, Cmd, а также Bash и других оболочках Unix.

Azure PowerShell

  • Кроссплатформенный модуль PowerShell, работает в Windows, macOS, Linux
  • Требуется Windows PowerShell или PowerShell

Различные командные среды

Командная среда Azure CLI Azure PowerShell
Cmd Да
Bash Да
Windows PowerShell Да Да
PowerShell Да Да

Windows PowerShell, PowerShell, Cmd и Bash — это командные среды. От командной среды зависит не только то, какие инструменты можно использовать, но и особенности интерфейса командной строки.

Например, в качестве символа продолжения строки Bash использует обратную косую черту \, а Windows PowerShell — обратный апостроф `. Различия в командной среде не влияют на работу Azure CLI и Azure PowerShell. Однако они влияют на интерфейс командной строки.

Для Azure CLI есть установщик, который позволяет выполнять соответствующие команды во всех четырех командных средах.

Azure PowerShell представляет собой набор командлетов, упакованных в виде модуля PowerShell под названием Az; это не исполняемый файл. Для установки модуля Az следует использовать Windows PowerShell или PowerShell.

Windows PowerShell — это стандартная оболочка сценариев, которая предустановлена в большинстве операционных систем Windows. PowerShell — это автономное приложение, которое использует .NET Core в качестве среды выполнения и устанавливается в macOS, Linux и Windows.

Основные моменты:

  • AzureRM — это модуль PowerShell, который по-прежнему упоминается в материалах по администрированию Azure с помощью PowerShell. Однако этот продукт заменен средой Azure PowerShell, и его поддержка будет официально прекращена 29 февраля 2024 г.

Если вы используете AzureRM, вы можете перенести Azure PowerShell из AzureRM в AZ.

Что такое Azure Cloud Shell?

Azure Cloud Shell — это размещенная командная среда, которая работает в контейнере Ubuntu.

В Cloud Shell есть два варианта среды: Bash (с предварительно установленным Azure CLI) и PowerShell (с предварительно установленным Azure PowerShell). Переключаться между двумя средами легко можно с помощью раскрывающегося списка в верхней части окна Cloud Shell.

Cloud Shell работает через веб-браузер и интегрируется с терминалом Windows и Visual Studio Code.

Azure CloudShell Bash and PowerShell environments

Примечание.

Azure Cloud Shell может не всегда сразу отражать самые последние выпуски Azure PowerShell и Azure CLI, так как график публикации для всех трех средств отличается. Но обычно считается, что Azure Cloud Shell всегда содержит самые последние версии обоих инструментов.

Какую программу командной строки Azure следует выбрать?

При выборе подходящего инструмента следует учесть имеющийся опыт работы и текущую рабочую среду.

Синтаксис Azure CLI схож с синтаксисом скриптов Bash. Если вы работаете в основном с системами Linux, Azure CLI покажется вам более знакомым инструментом.

Azure PowerShell — это модуль PowerShell. Если вы работаете в основном с системами Windows, подходящим вариантом будет Azure PowerShell. В названиях команд используется схема "глагол-существительное", а данные возвращаются в виде объектов.

Следует выбирать инструмент, который соответствует вашему опыту и не потребует большого переобучения. Эффективно управлять Azure в командной строке вам помогут учебные материалы Microsoft Learning.

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

Основные моменты:

  • Функциональность Azure CLI и Azure PowerShell в службах Azure не всегда эквивалентна.

Сравнение команд Azure CLI и Azure PowerShell

Команды для управления входом, подписками и расположениями:

Команда Azure CLI Azure PowerShell
Вход с помощью веб-браузера az login Connect-AzAccount
Получение доступных подписок az account list Get-AzSubscription
Выбор подписки az account set –-subscription SubscriptionId <> Set-AzContext -Subscription <SubscriptionID>
Получение списка расположений Azure az account list-locations Get-AzLocation

Поиск версий, получение справки и просмотр справки по командам:

Команда Azure CLI Azure PowerShell
Поиск версии az --version Get-InstalledModule -Name Az
Справка az --help Get-Help
Просмотр справки по командам az vm --help Get-Help -Name New-AzVM

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

Команда Azure CLI Azure PowerShell
Создание группы ресурсов az group create --name <ResourceGroupName> --location eastus New-AzResourceGroup -Name <ResourceGroupName> -Location eastus
Создание виртуальной машины Azure az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Password>' New-AzVM -ResourceGroupName <ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential)
Создание учетной записи хранения Azure az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2

Управление виртуальными машинами Azure

Команда Azure CLI Azure PowerShell
Получение списка виртуальных машин az vm list Get-AzVM
Перезапуск виртуальной машины az vm restart --name myVM --resource-group <ResourceGroupName> Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Остановка виртуальной машины az vm stop --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Остановка и освобождение виртуальной машины az vm deallocate --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Запустить ВМ az vm start --name myVM --resource-group <ResourceGroupName> Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Удаление виртуальной машины az vm delete --name myVM --resource-group <ResourceGroupName> Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>

Выбор свойств и изменение формата вывода

Команда Azure CLI Azure PowerShell
Вывод всех сведений о подписке az account list --all Get-AzSubscription | Select-Object -Property *
Вывод в виде таблицы az account list -o table Get-AzSubscription | Format-Table
Вывод в виде JSON-файла az account show Get-AzSubscription | ConvertTo-Json

Основные моменты:

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

Azure CLI:

Azure PowerShell: