Escolher a ferramenta de linha de comandos do Azure correta
Quando se trata de gerenciar o Azure, você tem muitas opções. Este artigo compara a linguagem da CLI do Azure e do Azure PowerShell e fornece uma comparação dos ambientes de shell nos quais eles são executados.
Azure CLI, Azure PowerShell e Azure Cloud Shell têm funcionalidade sobreposta. Cada um opera de forma diferente, e a linguagem às vezes é confundida com o ambiente. Use este guia para determinar qual é a ferramenta certa para você.
Qual é a vantagem de usar uma ferramenta de linha de comando do Azure?
O Azure é executado em automação. Cada ação que você realiza dentro do portal se traduz em algum lugar em código que está sendo executado para ler, criar, modificar ou excluir recursos.
Mover sua carga de trabalho para o Azure elimina parte da carga administrativa, mas não toda. À medida que sua taxa de adoção com o Azure aumenta, a sobrecarga também aumenta. Mesmo que você não precise se preocupar com o data center, ainda precisa corrigir e solucionar problemas de VMs do Azure, bancos de dados de failover e configurar redes virtuais.
Usando a automação existente que executa o Azure, as ferramentas de linha de comando reduzem essa sobrecarga.
O que são ferramentas de linha de comando do Azure?
As ferramentas de linha de comando do Azure automatizam operações de rotina, padronizam failovers de banco de dados e extraem dados que fornecem informações poderosas. As ferramentas de linha de comando não só oferecem a capacidade de dimensionar suas tarefas no Azure, mas também facilitam muito o compartilhamento. Compartilhar um script é muito mais fácil do que uma longa página wiki com capturas de tela demoradas.
Usar uma ferramenta de linha de comando do Azure nem sempre é necessário, mas é uma habilidade útil de se ter.
Azure CLI vs Azure PowerShell
A CLI do Azure e o Azure PowerShell são ferramentas de linha de comando que permitem criar e gerenciar recursos do Azure. Ambos são multiplataforma, instaláveis no Windows, macOS e Linux.
CLI do Azure
- Interface de linha de comando multiplataforma, instalável no Windows, macOS, Linux
- É executado no Windows PowerShell, Cmd ou Bash e outros shells Unix.
Azure PowerShell
- Módulo PowerShell multiplataforma, executado em Windows, macOS, Linux
- Requer o Windows PowerShell ou PowerShell
Diferentes ambientes de shell
Ambiente Shell | CLI do Azure | Azure PowerShell |
---|---|---|
Cmd | Sim | |
Bash | Sim | |
Windows PowerShell | Sim | Sim |
PowerShell | Sim | Sim |
Windows PowerShell, PowerShell, Cmd e Bash são ambientes de shell. O ambiente de shell não só determina quais as ferramentas que pode utilizar, como também altera a sua experiência de linha de comandos.
Por exemplo, para o caractere de continuação de linha, Bash usa a barra invertida \
enquanto o Windows PowerShell usa o backtick `
. As diferenças no ambiente shell não alteram a forma como a CLI do Azure e o Azure PowerShell funcionam. No entanto, alteram a sua experiência de linha de comandos.
A CLI do Azure tem um instalador que torna os comandos executáveis nos quatro ambientes shell.
O Azure PowerShell é um conjunto de cmdlets empacotados como um módulo do PowerShell chamado Az
; não um executável. O Windows PowerShell ou PowerShell deve ser usado para instalar o Az
módulo.
O Windows PowerShell é a shell de scripts padrão que vem pré-instalada com a maioria dos sistemas operativos do Windows. O PowerShell é uma instalação autónoma que utiliza o .NET Core como runtime, ao permitir que seja instalado no macOS, Linux e Windows.
Pontos principais:
- O AzureRM é um módulo do PowerShell que ainda é referenciado para a administração do Azure com o PowerShell. No entanto, ele foi substituído pelo Azure PowerShell e tem uma data de aposentadoria oficial de 29 de fevereiro de 2024.
Se você estiver usando o AzureRM, poderá migrar o Azure PowerShell do AzureRM para Az.
E o Azure Cloud Shell?
O Azure Cloud Shell é um ambiente de shell hospedado que é executado em um contêiner do Ubuntu.
O Cloud Shell fornece dois ambientes de shell: Bash (com a CLI do Azure pré-instalada) e PowerShell (com o Azure PowerShell pré-instalado). Uma lista suspensa na parte superior da janela do Cloud Shell permite alternar facilmente entre os dois ambientes.
O Cloud Shell é acessível em um navegador da Web e tem integrações para o Terminal do Windows e o Visual Studio Code.
Nota
O Azure Cloud Shell nem sempre reflete imediatamente as versões mais recentes do Azure PowerShell e da CLI do Azure, pois o cronograma de publicação para todas as três ferramentas é diferente. No entanto, geralmente pensa-se que o Azure Cloud Shell sempre contém as versões mais recentes de ambas as ferramentas.
Qual ferramenta de linha de comando do Azure é ideal para você?
Ao escolher a ferramenta certa, considere sua experiência passada e o ambiente de trabalho atual.
A sintaxe da CLI do Azure é semelhante à do script Bash. Se você trabalha principalmente com sistemas Linux, a CLI do Azure parece mais natural.
O Azure PowerShell é um módulo do PowerShell. Se você trabalha principalmente com sistemas Windows, o Azure PowerShell é uma opção natural. Os comandos seguem um esquema de nomenclatura verbo-substantivo e os dados são retornados como objetos.
Escolha a ferramenta que utiliza a sua experiência e encurta a sua curva de aprendizagem. Aproveite o aprendizado da Microsoft para se tornar proficiente no gerenciamento do Azure na linha de comando.
Dito isto, ter a mente aberta só irá melhorar as suas capacidades. Use uma ferramenta diferente quando fizer sentido.
Pontos principais:
- A paridade de recursos para os serviços do Azure nem sempre existe entre a CLI do Azure e o Azure PowerShell.
CLI do Azure vs Azure PowerShell: comparação de comandos lado a lado
Comandos de Início, Subscrição e Localização:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Entrar com o navegador da Web | az login | Connect-AzAccount |
Obter subscrições disponíveis | Lista de contas AZ | Get-AzSubscription |
Definir Subscrição | az account set –-subscription <SubscriptionId> | Set-AzContext -Subscription <SubscriptionID> |
Listar locais do Azure | Localizações da lista de contas AZ | Get-AzLocalização |
Encontre versões, obtenha ajuda e veja a ajuda do comando:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Localizar versão | az --versão | Get-InstalledModule -Name Az |
Obter Ajuda | az --ajuda | Get-Help |
Ver Ajuda do Comando | az vm --ajuda | Get-Help -Name New-AzVM |
Crie um grupo de recursos, VM e conta de armazenamento:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Criar Grupo de Recursos | az group create --name <ResourceGroupName> --location eastus | New-AzResourceGroup -Name <ResourceGroupName> -Localização eastus |
Criar Máquina Virtual do Azure | az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password 'Senha>'< | New-AzVM -ResourceGroupName ResourceGroupName <> -Name myVM -Image UbuntuLTS -Credential (Get-Credential) |
Criar uma Conta de Armazenamento do 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 |
Gerenciar Máquinas Virtuais do Azure:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Listar VM | az vm list | Get-AzVM |
Reiniciar VM | az vm restart --name myVM --resource-group <ResourceGroupName> | Restart-AzVM -Name myVM -ResourceGroupName ResourceGroupName <> |
Parar VM | az vm stop --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName ResourceGroupName <> |
Parar & Desalocar VM | az vm deallocate --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName ResourceGroupName <> |
Iniciar VM | az vm start --name myVM --resource-group <ResourceGroupName> | Start-AzVM -Name myVM -ResourceGroupName ResourceGroupName <> |
Excluir VM | az vm delete --name myVM --resource-group <ResourceGroupName> | Remove-AzVM -Name myVM -ResourceGroupName ResourceGroupName <> |
Selecione Propriedades e Alterar formatos de saída:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Mostrar todas as informações da subscrição | lista de contas az --todos | Get-AzSubscription | Select-Object -Property * |
Saída como uma tabela | az account list -o tabela | Get-AzSubscription | Formatar-Tabela |
Saída como JSON | az account show | Get-AzSubscription | ConvertTo-Json |
Pontos principais:
- O padrão da CLI do Azure é a saída de uma cadeia de caracteres JSON. Outras opções de formato podem ser encontradas nos formatos de saída para comandos da CLI do Azure.
- O Azure PowerShell assume como padrão objetos de saída. Para saber mais sobre formatação no PowerShell, leia Usando comandos de formato para alterar o modo de exibição de saída.
Próximos passos
CLI do Azure:
Azure PowerShell: