Selección de la herramienta de la línea de comandos de Azure adecuada
En lo que respecta a la administración de Azure, tiene muchas opciones. En este artículo se comparan el lenguaje de la CLI de Azure y de Azure PowerShell y se proporciona una comparación de los entornos de shell en los que se ejecutan.
La CLI de Azure, Azure PowerShell y Azure Cloud Shell tienen una funcionalidad superpuesta. Cada uno funciona de forma diferente y el lenguaje a veces se confunde con el entorno. Use esta guía para determinar cuál es la herramienta adecuada para usted.
¿Cuál es la ventaja de usar una herramienta de la línea de comandos de Azure?
Azure se ejecuta en automatización. Cada acción que se realiza dentro del portal se traduce en algún lugar al código que se ejecuta para leer, crear, modificar o eliminar recursos.
El traslado de la carga de trabajo a Azure libera parte de la carga administrativa, pero no toda. A medida que aumente la tasa de adopción con Azure, también lo hará la sobrecarga. Aunque no tenga que preocuparse por el centro de datos, tendrá que aplicar revisiones y solucionar problemas de máquinas virtuales de Azure, realizar conmutaciones por error de bases de datos y configurar redes virtuales.
Al usar la automatización existente que ejecuta Azure, las herramientas de la línea de comandos reducen esa sobrecarga.
¿Qué son las herramientas de la línea de comandos de Azure?
Las herramientas de la línea de comandos de Azure automatizan las operaciones rutinarias, estandarizan las conmutaciones por error de base de datos y extraen datos que proporcionan información eficaz. Las herramientas de la línea de comandos no solo le dan la capacidad de escalar las tareas en Azure, sino que también facilitan mucho el uso compartido. Compartir un script es mucho más fácil que una larga página de la wiki con capturas de pantalla que consumen mucho tiempo.
No siempre es necesario usar una herramienta de la línea de comandos de Azure, pero es una aptitud útil.
La CLI de Azure frente a Azure PowerShell
La CLI de Azure y Azure PowerShell son herramientas de la línea de comandos que permiten crear y administrar recursos de Azure. Ambos son multiplataforma y se pueden instalar en Windows, macOS y Linux.
CLI de Azure
- Interfaz de la línea de comandos multiplataforma que se puede instalar en Windows, macOS y Linux
- Se ejecuta en Windows PowerShell, el símbolo del sistema, Bash y otros shells de Unix.
Azure PowerShell
- Módulo multiplataforma de PowerShell que se ejecuta en Windows, macOS y Linux
- Requiere Windows PowerShell o PowerShell
Diferentes entornos de shell
Entorno de shell | CLI de Azure | Azure PowerShell |
---|---|---|
Cmd | Sí | |
Bash | Sí | |
Windows PowerShell | Sí | Sí |
PowerShell | Sí | Sí |
Windows PowerShell, PowerShell, el símbolo del sistema y Bash son entornos de shell. El entorno de shell no solo determina qué herramientas puede usar, sino que también cambia la experiencia de la línea de comandos.
Por ejemplo, para el carácter de continuación de línea, Bash usa la barra diagonal inversa \
, mientras que Windows PowerShell usa el carácter de acento grave `
. Las diferencias en el entorno de shell no cambian el funcionamiento de la CLI de Azure y Azure PowerShell. Sin embargo, cambian la experiencia de la línea de comandos.
La CLI de Azure tiene un instalador que hace que sus comandos se puedan ejecutar en los cuatro entornos de shell.
Azure PowerShell es un conjunto de cmdlets empaquetados como un módulo de PowerShell llamado Az
; no un archivo ejecutable. Se deben utilizar Windows PowerShell o PowerShell para instalar el módulo Az
.
Windows PowerShell es el shell de scripting estándar que viene preinstalado con la mayoría de los sistemas operativos Windows. PowerShell es una instalación independiente que usa .NET Core como entorno de ejecución, lo que permite instalarlo en macOS, Linux y Windows.
Puntos clave:
- AzureRM es un módulo de PowerShell al que todavía se hace referencia para la administración de Azure con PowerShell. Sin embargo, se ha reemplazado por Azure PowerShell y tiene fecha de retirada oficial el 29 de febrero de 2024.
Si usa AzureRM, puede migrar Azure PowerShell de AzureRM a Az.
¿Qué es Azure Cloud Shell?
Azure Cloud Shell es un entorno de shell hospedado que se ejecuta en un contenedor de Ubuntu.
Cloud Shell proporciona dos entornos de shell: Bash (con la CLI de Azure preinstalada) y PowerShell (con Azure PowerShell preinstalado). Una lista desplegable en la parte superior de la ventana de Cloud Shell le permite cambiar fácilmente entre los dos entornos.
Cloud Shell es accesible en un explorador web y tiene integraciones para terminal de Windows y Visual Studio Code.
Nota:
Es posible que Azure Cloud Shell no siempre refleje inmediatamente las versiones más recientes de Azure PowerShell y la CLI de Azure, ya que la programación de publicaciones de las tres herramientas es diferente. No obstante, por lo general, Azure Cloud Shell suele contener las versiones más recientes de ambas herramientas.
¿Qué herramienta de la línea de comandos de Azure es la adecuada?
Al seleccionar la herramienta adecuada, tenga en cuenta su experiencia anterior y el entorno de trabajo actual.
La sintaxis de la CLI de Azure es similar a la del scripting de Bash. Si trabaja principalmente con sistemas Linux, la CLI de Azure parece más natural.
Azure PowerShell es un módulo de PowerShell. Si trabaja principalmente con sistemas Windows, Azure PowerShell es una opción natural. Los comandos siguen un esquema de nomenclatura verbo-sustantivo y los datos se devuelven como objetos.
Elija la herramienta que se adapte a su experiencia y acorte la curva de aprendizaje. Aproveche las ventajas de Microsoft Learn para convertirse en un experto en la administración de Azure desde la línea de comandos.
Dicho esto, tener una mente abierta solo mejorará sus capacidades. Use otra herramienta cuando tenga sentido.
Puntos clave:
- No siempre existe una paridad de características de los servicios de Azure entre la CLI de Azure y Azure PowerShell.
Comparación de comandos de la CLI de Azure y Azure PowerShell en paralelo
Comandos de inicio de sesión, suscripción y ubicación:
Get-Help | Azure CLI | Azure PowerShell |
---|---|---|
Iniciar sesión con un explorador web | az login | Connect-AzAccount |
Obtener las suscripciones disponibles | az account list | Get-AzSubscription |
Establecer la suscripción | az account set –-subscription <SubscriptionId> | Set-AzContext -Subscription <SubscriptionID> |
Enumerar las ubicaciones de Azure | az account list-locations | Get-AzLocation |
Buscar versiones, obtener ayuda y ver la ayuda sobre los comandos:
Get-Help | Azure CLI | Azure PowerShell |
---|---|---|
Buscar versión | az --version | Get-InstalledModule -Name Az |
Obtener ayuda | az --help | Get-Help |
Ver la ayuda sobre los comandos | az vm --help | Get-Help -Name New-AzVM |
Crear un grupo de recursos, una máquina virtual y una cuenta de almacenamiento:
Get-Help | Azure CLI | Azure PowerShell |
---|---|---|
Crear grupo de recursos | az group create --name <ResourceGroupName> --location eastus | New-AzResourceGroup -Name <ResourceGroupName> -Location eastus |
Creación de una máquina virtual de 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) |
Creación de una cuenta de Azure Storage | 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 |
Administrar máquinas virtuales de Azure:
Get-Help | Azure CLI | Azure PowerShell |
---|---|---|
Enumerar las máquinas virtuales | az vm list | Get-AzVM |
Reinicio de la máquina virtual | az vm restart --name myVM --resource-group <ResourceGroupName> | Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Detención de la máquina virtual | az vm stop --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Detener o desasignar una máquina virtual | 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> |
Eliminación de la máquina virtual | az vm delete --name myVM --resource-group <ResourceGroupName> | Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Seleccionar propiedades y cambiar formatos de salida:
Get-Help | Azure CLI | Azure PowerShell |
---|---|---|
Mostrar toda la información de las suscripciones | az account list --all | Get-AzSubscription | Select-Object -Property * |
Salida como tabla | az account list -o table | Get-AzSubscription | Format-Table |
Salida como JSON | az account show | Get-AzSubscription | ConvertTo-Json |
Puntos clave:
- El valor predeterminado para la CLI de Azure es generar una cadena JSON. Puede encontrar otras opciones de formato en Formatos de salida para los comandos de la CLI de Azure.
- El valor predeterminado para Azure PowerShell es que la salida sean objetos. Para más información sobre los formatos en PowerShell, consulte Usar comandos de formato para cambiar la vista de salida.
Pasos siguientes
CLI de Azure:
Azure PowerShell: