¿Qué es la CLI de Azure?

Completado

Azure Command-Line Interface (CLI) es una herramienta de línea de comandos multiplataforma diseñada para conectarse a Azure y ejecutar comandos administrativos en recursos de Azure. Proporciona una interfaz coherente y scriptable para administrar la infraestructura en la nube, independientemente de si está trabajando de forma interactiva en un terminal o automatizando tareas a través de scripts.

¿Qué es la CLI de Azure?

La CLI de Azure le permite:

  • Ejecute comandos de forma interactiva: Escriba comandos en el terminal y vea resultados inmediatamente.
  • Automatizar a través de scripts: Combine comandos en Bash, PowerShell u otros scripts de shell para tareas repetitivas.
  • Administración de todos los servicios de Azure: Cree, configure, elimine y supervise recursos de Azure mediante una sintaxis coherente.
  • Trabajar en cualquier lugar: Instale en Linux, macOS, Windows, contenedores de Docker o use Azure Cloud Shell.

Opciones de instalación y ejecución

Compatibilidad con la plataforma:

Plataforma Opciones de Shell Método de instalación
Linux Bash, PowerShell 7 Administrador de paquetes (apt, yum) o script
macOS Bash, Zsh, PowerShell 7 Homebrew o instalador
Windows cmd.exe, PowerShell, PowerShell 7 Instalador MSI
Docker Bash Imagen de contenedor pregenerada
Azure Cloud Shell Bash, PowerShell Integrado (sin necesidad de instalación)

Entornos recomendados:

  • Azure Cloud Shell: Preinstalado con la CLI de Azure siempre actualizada y la autenticación automáticamente configurada.
  • Bash en Linux/macOS: Shell natural para la CLI de Azure con excelentes funcionalidades de scripting.
  • PowerShell 7: PowerShell multiplataforma que proporciona una experiencia coherente en todos los sistemas operativos.
  • Símbolo del sistema de Windows (cmd.exe): Shell básico de Windows para la ejecución sencilla de comandos.

Los detalles de instalación y los patrones de ejecución de comandos se explican en profundidad más adelante en este módulo. Antes de continuar, vamos a comprender la arquitectura de la CLI de Azure y la estructura de comandos.

Tipos de referencia de la CLI de Azure

Los comandos de la CLI de Azure se organizan en dos categorías: referencias principales y extensiones. Comprender la diferencia le ayuda a administrar la instalación de la CLI de Azure y acceder a las características más recientes.

Referencias principales

Las referencias principales son comandos integrados permanentes que se instalan automáticamente con la CLI de Azure:

  • Siempre disponible: Instalación con la CLI de Azure; no se requiere ninguna configuración adicional.
  • Listo para producción: Comandos estables y bien probados para la administración diaria de Azure.
  • Actualización automática: Cuando se usa Azure Cloud Shell, las referencias principales siempre están actualizadas.
  • Cobertura completa: Incluye comandos para la mayoría de los servicios de Azure y las tareas comunes.

Ejemplos de grupos de referencia principales:

  • az account - Administración de suscripciones de Azure.
  • az group - Administrar grupos de recursos.
  • az storage - Administración de cuentas de Azure Storage.
  • az vm - Administrar máquinas virtuales.
  • az network - Administrar recursos de red.

Extensiones

Las extensiones proporcionan funcionalidades opcionales y especializadas que se ejecutan como comandos de la CLI de Azure:

  • Instalación opcional: No se incluye por defecto; instálelo cuando sea necesario.
  • Acceda a nuevas características: Obtenga la versión preliminar y las funcionalidades experimentales de Azure antes de convertirse en disponibilidad general (disponible con carácter general).
  • Actualizaciones flexibles: Actualice las extensiones independientemente de la CLI de Azure principal.
  • Aviso automático: La CLI de Azure le pide que instale una extensión en primer uso.

Casos de uso comunes para extensiones:

  • Características en versión preliminar de los servicios de Azure.
  • Herramientas especializadas para escenarios específicos (por ejemplo, Azure IoT, Azure Machine Learning).
  • Comandos proporcionados por el proveedor para integraciones de terceros.

Ejemplo: La primera vez que ejecute un comando de extensión, la CLI de Azure le pedirá lo siguiente:

$ az aks create --resource-group myResourceGroup --name myAKSCluster
The command requires the extension aks-preview. Do you want to install it now? (Y/n): Y

Estado de referencia de la CLI de Azure

Los comandos de la CLI de Azure tienen fases de ciclo de vida que indican su nivel de estabilidad y soporte técnico. El estado (no el tipo) determina si un comando está listo para producción.

Tres categorías de estado

Estado Estabilidad Uso en producción Nivel de soporte técnico
Disponibilidad general Permanente Soporte técnico completo de Microsoft
Versión preliminar pública Puede cambiar en función de los comentarios Use con precaución Sujeto a los términos de la versión preliminar de Azure
Obsoleto Será eliminado No Migración a reemplazo

Detalles de estado:

  • Disponibilidad general (disponible con carácter general):

    • Comandos estables listos para producción.
    • Cambios importantes solo en las actualizaciones de versiones principales.
    • Soporte técnico completo de Microsoft y cobertura del Acuerdo de Nivel de Servicio.
    • Se recomienda para cargas de trabajo de producción.
  • Versión preliminar pública:

    • Nuevas características disponibles para pruebas y comentarios.
    • Puede tener cambios importantes sin previo aviso.
    • Soporte limitado; notificar problemas a través de GitHub o canales de comentarios.
    • Pruebe en entornos de desarrollo antes del uso de producción.
  • Obsolescente:

    • Comando programado para la eliminación en versión futura.
    • Normalmente, se reemplaza por un comando más reciente y mejor.
    • Ruta de migración proporcionada en la documentación.
    • Evite el uso en nuevos scripts o automatización.

Importante: Los comandos de núcleo y extensión pueden tener cualquier estado. Un comando principal podría estar en versión preliminar y un comando de extensión podría ser ga.

Patrón de referencia de la CLI de Azure

La CLI de Azure usa una estructura de comandos jerárquica coherente que facilita la predicción y el recuerdo de comandos. Una vez que comprenda el patrón, puede trabajar con cualquier servicio de Azure.

Estructura de comandos

Patrón de sintaxis:

az <reference-group> <subgroup> <command> --<parameter> <value>

Desglose de componentes:

Componente Description Example
az Comando base (siempre necesario) az
Grupo de referencia Servicio o categoría de Azure account, group, , storage, vm
Subgrupo Tipo de recurso específico (opcional) blob, , container, disk
Comando Acción que se va a realizar create, list, , delete, show
Parameter Opciones que modifican el comportamiento --name, , --resource-group, --location
Valor Datos proporcionados al parámetro myStorageAccount, eastus

Ejemplo práctico: Cambio de la suscripción de Azure

Escenario: Cambie la suscripción de Azure predeterminada.

Desglose del comando:

az account set --subscription "my subscription name"
  • Grupo de referencia:az account (administra las suscripciones de Azure).
  • Mandar:set (cambia la suscripción activa).
  • Parámetro:--subscription (especifica qué suscripción).
  • Valor del parámetro:"my subscription name" (el nombre o el identificador de la suscripción).

Más ejemplos de comandos

Cree un grupo de recursos:

az group create --name myResourceGroup --location eastus
  • Grupo de referencia:az group
  • Comando:create
  • Parámetros:--name (nombre del grupo de recursos), --location (región de Azure)

Enumerar cuentas de almacenamiento:

az storage account list --resource-group myResourceGroup --output table
  • Grupo de referencia:az storage
  • Subgrupo:account
  • Comando:list
  • Parámetros:--resource-group (filtrar por grupo), --output (dar formato a los resultados)

Reinicie una máquina virtual:

az vm restart --name myVM --resource-group myResourceGroup
  • Grupo de referencia:az vm
  • Comando:restart
  • Parámetros:--name (nombre de máquina virtual), --resource-group (grupo contenedor)

Sugerencia de reconocimiento de patrones: Los comandos siguen patrones de lenguaje natural. Si quiere "crear una cuenta de almacenamiento en un grupo de recursos", usaría az storage account create --resource-group.

Ejecución de comandos de la CLI de Azure

La CLI de Azure admite dos modos de ejecución: uso interactivo de la línea de comandos y ejecución automatizada de scripts. Elija el enfoque que mejor se adapte al flujo de trabajo.

Ejecución interactiva

El modo interactivo permite escribir comandos en un símbolo del sistema y ver resultados inmediatos. Este enfoque es ideal para:

  • Aprendizaje de comandos y sintaxis de la CLI de Azure.
  • Exploración de los recursos de Azure y sus propiedades.
  • Tareas rápidas de un solo uso (creación de un recurso de prueba, comprobación del estado).
  • Solución de problemas y depuración.

Funcionamiento:

  1. Abra el shell preferido (Bash, PowerShell, cmd.exe, Azure Cloud Shell).
  2. Escriba el comando de la CLI de Azure en la terminal.
  3. Presione Intro para ejecutar.
  4. Vea los resultados inmediatamente.

Ejemplo: Reinicie una máquina virtual de forma interactiva:

az vm restart --resource-group MyResourceGroup --name MyVm

Flujo de trabajo interactivo:

# Check current subscription
$ az account show --output table

# List all resource groups
$ az group list --output table

# Create a storage account
$ az storage account create --name mystorageacct --resource-group myRG --location eastus

Ejecución con scripts

El modo scripted combina varios comandos de la CLI de Azure en un archivo de script para la automatización. Este enfoque es esencial para:

  • Tareas repetitivas (crear entornos de desarrollo diariamente).
  • Operaciones complejas en varios pasos (implementación de aplicaciones completas).
  • Tuberías de CI/CD (despliegues automatizados).
  • Implementaciones de infraestructura como código (IaC).

Funcionamiento:

  1. Escriba comandos de la CLI de Azure en un archivo de script (.sh para Bash, .ps1 para PowerShell).
  2. Agregue variables, bucles y lógica condicional según sea necesario.
  3. Hacer que el script sea ejecutable (Bash: chmod +x script.sh).
  4. Ejecute el script con parámetros.

Ejemplo: Script de Bash que crea varias cuentas de almacenamiento:

#!/bin/bash
# File: myScriptFile.sh

resourceGroup=$1
location="eastus"
accountCount=3

for i in $(seq 1 $accountCount); do
    accountName="storage${i}${RANDOM}"
    echo "Creating storage account: $accountName"
    az storage account create \
        --name $accountName \
        --resource-group $resourceGroup \
        --location $location \
        --sku Standard_LRS
done

Ejecute el script:

# Make script executable
chmod +x myScriptFile.sh

# Run script with resource group parameter
./myScriptFile.sh myResourceGroupName

Ejemplo de script de PowerShell:

# File: myScript.ps1

param (
    [Parameter(Mandatory=$true)]
    [string]$ResourceGroupName
)

$location = "eastus"
$storageCount = 3

for ($i = 1; $i -le $storageCount; $i++) {
    $storageAccount = "storage$i$(Get-Random)"
    Write-Host "Creating storage account: $storageAccount"
    az storage account create `
        --name $storageAccount `
        --resource-group $ResourceGroupName `
        --location $location `
        --sku Standard_LRS
}

Ejecute el script de PowerShell:

.\myScript.ps1 -ResourceGroupName "myResourceGroupName"

Elección del modo de ejecución correcto

Caso de uso Interactivo Guión
Aprendizaje Óptima No se recomienda
Tareas únicas Óptima No se recomienda
Solución de problemas Óptima A veces
Tareas repetitivas No se recomienda Óptima
Operaciones en varios pasos A veces Óptima
Canalizaciones de CI/CD No se recomienda Óptima
Infraestructura como código No se recomienda Óptima

Ahora que comprende la arquitectura de la CLI de Azure y la estructura de comandos, vamos a elegir el entorno adecuado e instalar la CLI de Azure.