Comenzando con Azure CLI

Si tienes una cuenta de Microsft Azure y aún estás administrando los recursos solo a través del Portal de Azure, te estás perdiendo algo. Una de las mejores formas de reducir los clics y aumentar la productividad es utilizando la CLI de Azure.

La CLI de Azure es un conjunto de herramientas multiplataforma escritas en Python que te permite administrar casi todos tus recursos de Azure desde la línea de comandos. No importa en qué sistema operativo estés, la CLI de Azure ofrece una experiencia consistente en todas las plataformas.

En este tutorial, aprenderás cómo empezar a utilizar la CLI de Azure. Aprenderás cómo realizar una configuración inicial, crear y eliminar algunos recursos comunes utilizando varios comandos de la CLI de Azure.

Requisitos previos

Este artículo será un tutorial. Si planeas seguir paso a paso, necesitarás al menos uno de los siguientes:

  • CLI de Azure: Este tutorial utilizará la versión 2.20.0 en un contenedor de Docker, pero los comandos funcionarán de la misma manera en otras plataformas.
  • Permisos para crear recursos en Azure a través de una cuenta de Microsoft, tal vez utilizando un principal de servicio.

Obteniendo ayuda con az help

Antes de ejecutar cualquier comando en la CLI de Azure, aprende cómo usar el comando az help. La CLI de Azure tiene una ayuda rica y abundante. Este tutorial no puede cubrir todos los comandos, por lo que aprender a usar az help es crítico.

Para comenzar, naveguemos por el sistema de ayuda y veamos cómo encontrar más información sobre varios comandos.

Navegando un Ejemplo Típico de Ayuda

Los ejemplos son el mejor material de aprendizaje. Cubramos cómo usar el sistema de ayuda de la CLI de Azure a través de un ejemplo de encontrar el comando necesario para crear un grupo de recursos en Azure.

Con tu terminal abierta:

1. Ejecuta el comando az help. Este comando devuelve dos tipos de resultados: grupos y subgrupos.

Los comandos están organizados en grupos. Típicamente verás tutoriales (e incluso documentación) referirse a los grupos como “comandos”. Los grupos están organizados de forma jerárquica, con cada grupo representando un servicio de Azure.

output of az help

2. Desplázate hacia abajo hasta encontrar el subgrupo llamado group. Puedes ver por la descripción a continuación que este subgrupo es responsable de administrar grupos de recursos. Los grupos están ordenados alfabéticamente.

scrolling down to find group

3. Una vez que hayas encontrado el comando que buscas, ejecútalo utilizando el parámetro --help. El uso del parámetro --help no realiza cambios; devuelve toda la documentación de ayuda para un grupo o comando.

az group --help

A continuación puedes ver el grupo group y un subgrupo único (lock) con varios comandos dentro.

output of az group help

4. Dado que quieres crear un grupo de recursos, el comando create parece ser el indicado. Ahora continúa siendo más específico añadiendo un comando más granular a la referencia original de az group y buscando ayuda.

az group create --help

Consulta el parámetro --help en cualquier comando para ver la documentación de ayuda.

El parámetro --help ahora muestra información sobre el comando create. Los comandos tienen argumentos como se muestra a continuación. En este ejemplo, ahora tienes los argumentos necesarios para especificar un grupo de recursos y la location requerida.

help parameter

Encontrar Ejemplos de Sintaxis con az find

Si no puedes encontrar fácilmente el grupo o comando que buscas con el parámetro --help, echa un vistazo al comando az find. Este comando busca ejemplos de sintaxis utilizando referencias de grupo/comando como se muestra a continuación.

Por ejemplo, en lugar de navegar por el sistema de ayuda con --help como se muestra arriba, realiza la misma tarea con una sola línea con az find.

az find "az group create"
output of find command

Asignar una Configuración Predeterminada con az configure

El Azure CLI tiene muchos comandos y características. Cada una de estas características tiene varias configuraciones a las que hacen referencia, como preferencias de registro y recopilación de datos. Una de las primeras tareas que debes completar al configurar el Azure CLI por primera vez es ejecutar el comando az configure.

En un solo comando, el comando az configure te guía a través de tres configuraciones diferentes:

  • Formato de salida: siete formas diferentes en que Azure CLI devuelve la salida
  • Registro: la capacidad de registrar toda la actividad de Azure CLI en un archivo
  • Telemetría: para habilitar o deshabilitar el envío de información a Microsoft sobre cómo utilizas Azure CLI

Para empezar, asumiendo que ya tienes el CLI de Azure instalado:

1. Abre una terminal (Bash o PowerShell).

2. Escribe el comando az configure. Se te pedirá con un menú simple que te informará que todas las configuraciones se almacenarán en el archivo .azure/config. Presiona Y para continuar.

output from azconfigure

3. El comando primero te pedirá el formato de salida predeterminado deseado. Aquí, elige tu salida deseada. El formato de salida predeterminado establece cómo aparecerá tu salida en la pantalla después de ejecutar un comando o recibir un mensaje de error.

If you’re unsure, below you’ll find some examples.

Los siguientes ejemplos utilizan el parámetro output. Independientemente del formato que elijas como predeterminado, siempre puedes anular la salida predeterminada con el parámetro output.

JSON (Java Object Notation)

json output

JSONC (Java Object Notation con comentarios/colorización)

jsonc output

Tabla

table output

TSV (Valores Separados por Tabulaciones)

tsv output

YAML (YAML No Es un Lenguaje de Marcado)

yaml output

YAMLC (YAML con comentarios/colorización)

yamlc output

Ninguno: El Azure CLI solo devolverá errores o advertencias.

4. Una vez que haya configurado el formato de salida, el Azure CLI le pedirá habilitar el registro. Aquí, seleccione Y para habilitar el registro de todos los comandos y la salida en un archivo.

Output Format

Seleccionar Y aquí creará un registro que contiene todos los comandos y la salida recopilada al usar el CLI. Este registro se encuentra en el directorio $HOME/.azure/logs en Linux y macOS, y %USERPROFILE%\.azure\logs en Windows.

A continuación, puedes ver un ejemplo de cómo se vería el registro.

Log file contents after executing az login

5. Luego, el Azure CLI te preguntará si deseas enviar datos de telemetría a Microsoft. Seleccionar Y aquí enviará información anónima a Microsoft sobre cómo utilizas el Azure CLI.

Telemetry Data

Para obtener más información sobre la información que recopila Microsoft, consulta la información de privacidad de Microsoft sobre la recopilación de datos anónimos de Azure CLI.

Finalmente, az configure solicitará establecer el valor de tiempo de vida de la caché del objeto CLI. Debes dejar esto configurado en el valor predeterminado de 10.

cli object cache setting

Solo cambia el TTL del objeto CLI si Microsoft lo recomienda al solucionar un problema con Azure CLI.

Configuración de valores predeterminados de parámetros

El Azure CLI tiene varios comandos con los mismos parámetros como ubicación y grupo. En lugar de ingresar los valores de estos parámetros cada vez para cada comando, puedes establecer valores predeterminados de parámetros.

Para establecer valores predeterminados de parámetros, usa el parámetro --defaults en az configure. Este parámetro te permite definir un parámetro y su valor predeterminado. Por ejemplo, tal vez estás cansado de escribir una ubicación y un grupo para varios comandos. No hay problema. Establece un par de valores predeterminados.

El siguiente ejemplo establece la región predeterminada (ubicación) en westus2 y el grupo de recursos (grupo) en MyResourceGroup. Ahora, cada vez que ejecutes cualquier comando de Azure CLI que tenga un parámetro de ubicación o grupo, Azure CLI pasará automáticamente valores a esos parámetros.

az configure --defaults location=westus2 group=MyResourceGroup

Si estás utilizando contenedores, podrías establecer contenedores individuales para gestionar regiones específicas, suscripciones o grupos de recursos configurando los valores predeterminados en cada instancia del contenedor. Podrías crear 4 contenedores en cada instancia utilizando `az configure` para establecer una región predeterminada y un grupo de recursos predeterminado con el comando anterior.

Autenticación con un Navegador

Ahora has aprendido los conceptos básicos de cómo usar la CLI de Azure, pero aún no has hecho nada. ¡Vamos a dar el paso de crear algunos recursos! Pero primero, debes iniciar sesión en Azure usando el comando az login.

Si tienes varias suscripciones de Azure, ejecuta el comando az account list para encontrar todas las suscripciones. Cuando encuentres la suscripción, ejecuta az account set --subscription <nombre de la suscripción> para establecer la suscripción que se usará en la sesión. También puedes usar el parámetro global subscription para especificar explícitamente una suscripción.

1. Abre una terminal y ejecuta az login. Este comando abre una ventana del navegador que te lleva a una página para ingresar tu nombre de usuario y contraseña.

az login in Powershell session

2. Ingresa las credenciales de tu cuenta de Azure o haz clic en una cuenta de usuario existente, como se muestra a continuación.

authenticate with Microsoft

3. Una vez que Azure autentica tu cuenta, cierra tu navegador web y regresa a tu sesión de Azure CLI. El comando az login mostrará información sobre tu suscripción para confirmar que ahora tienes un token de autenticación.

Output from az login, once authenticated

Autenticación Utilizando un Código de Dispositivo

Si te encuentras en un sistema sin navegador o deseas descargar un token de autenticación en otra computadora, utiliza el parámetro --use-device-code. Este parámetro permite al usuario utilizar un código suministrado desde otro dispositivo para autenticarse.

Para autenticarte mediante un código de dispositivo, abre una terminal y:

Ejecuta az login utilizando el parámetro --use-device-code. El comando az login, en este caso, no abrirá un navegador. En cambio, proporcionará un código para ingresar en la página de inicio de sesión del dispositivo en otra computadora.

az login --use-device-code
output of az-login —use-device-code

2. En una computadora diferente, accede a https://microsoft.com/devicelogin, pega el código suministrado y haz clic en Siguiente.

Enter code to authenticate

3. Ahora ingresa tus credenciales para autenticarte en Azure y cierra tu navegador, si no es necesario.

choosing an account to authenticate with

De vuelta en la sesión de Azure CLI, az login te mostrará información sobre tu suscripción.

verification your session is logged on to azure

Opciones de Salida de Azure CLI

Como se mencionó, Azure CLI puede devolver la salida de diferentes maneras. Puedes definir la salida predeterminada y cambiarla sobre la marcha con el parámetro output. Pero el parámetro output no es el único que modifica el comportamiento de la salida.

Para cambiar la verbosidad, filtrar la salida o modificar el comportamiento de la salida de errores, utiliza los siguientes parámetros.

  • consulta – Utiliza el lenguaje de consulta JMESPath para filtrar la salida de todos los comandos. Consulta este artículo para obtener más información.
  • detallado – Devuelve información sobre los recursos creados en Azure y una información extendida sobre esos recursos.
  • depuración – Devuelve una cantidad detallada de información sobre las operaciones de la CLI utilizadas para depuración.
  • solo-mostrar-errores – Muestra errores y suprime advertencias.

Creación de un Grupo de Recursos

Ahora que estás autenticado en Azure, puedes gestionar libremente todos los recursos a los que tienes permiso. Primero, veamos un ejemplo común de creación de un grupo de recursos.

Suponiendo que estás en un ordenador con la CLI de Azure instalada y ya te has autenticado en Azure con la CLI:

Crea un grupo de recursos utilizando el comando az group create como se muestra a continuación. Este comando está creando un grupo-de-recursos llamado TESTGrp en la ubicación de Europa del Norte y devuelve toda la salida detallada.

az group create --location northeurope --resource-group TESTGrp --verbose
output of az group create

2. Ahora confirma que Azure creó el recurso. az group list

az group list

Observa que has creado el grupo de recursos TESTGrp.

output of az group list

Quizás tengas muchos grupos de recursos para revisar. En lugar de desplazarte, utiliza el parámetro query para reducir la lista. El siguiente comando solo devuelve grupos de recursos en la ubicación de Europa del Norte utilizando JMESPath.

az group list --query "[?location=='northeurope']"
output of a JMESPath query

Creación de una Máquina Virtual Linux

Para este último ejemplo, aprende cómo crear una MV de Azure con la CLI de Azure. Crear máquinas virtuales y la configuración a su alrededor es una habilidad útil para aprender. Crear MV de Azure es una tarea común que puedes realizar repetidamente durante tu viaje por la nube.

En este ejercicio, crearás una MV de Azure Linux con la configuración predeterminada y la implementarás en el grupo de recursos creado en la sección anterior.

Una MV de Azure consta de muchos recursos de Azure que trabajan juntos como una imagen de disco, adaptador de red virtual, máquina virtual, etc.

Para crear una MV de Azure con la CLI de Azure:

1. Ejecuta el comando az vm image list para encontrar todas las imágenes de MV disponibles para la MV. Este comando devuelve todas las imágenes en caché/fuera de línea. az vm image list

az vm image list

Para esta demostración, elige la imagen UbuntuLTS como se destaca a continuación.

Cached list of images available

La CLI de Azure mantiene una lista en caché de todas las imágenes de MV. Si la imagen UbuntuLTS no aparece, utiliza el parámetro all para obtener una lista actualizada.

2. Una vez que conozcas la imagen del disco a usar para la máquina virtual, crea la VM con az vm create. El fragmento de código a continuación crea una VM con nombre ATAVM1 utilizando la imagen UbuntuLTS image en el grupo de recursos resource-group TESTGrp. Cuando Azure crea la VM, generará las claves SSH (generate-ssh-keys) para conectarse más tarde y devolverá la salida en JSON (output).

az vm create --resource-group TESTGrp \
   --name ATAVM1 \ ## nombre de host para la máquina virtual
   --image UbuntuLTS \ ## Nombre de imagen obtenido con az vm image list
   --generate-ssh-keys \ ## Genera automáticamente claves SSH para usar con la VM
   --output json \ ## anulación para formatear la salida y devolver JSON
   --verbose ## salida adicional

Divide un solo comando largo de Azure CLI en líneas separadas usando una barra invertida al final.

El comando az vm create tiene muchas más formas de configurar la creación de una VM. ¡Recuerda que el sistema de ayuda es tu amigo! az vm create --help

Si el comando se inició correctamente, deberías ver algo similar a la captura de pantalla a continuación.

VM being created

Usando el parámetro verbose, verás el método y los parámetros reales de la API REST utilizados en verde.

3. Cuando se complete el despliegue, la última sección de la salida mostrará información sobre tu VM. Sobre todo para esta demostración, copia la dirección IP pública. La necesitarás para conectarte a la VM a través de Internet.

output from vm creation

En este punto, ahora conéctate a la VM de Ubuntu a través de SSH utilizando la dirección IP pública de la VM que se encuentra arriba. Para hacerlo, abre tu cliente SSH favorito y conéctate a la VM como el usuario azureuser como se muestra a continuación. Por defecto, el comando az vm create crea un usuario local llamado azureuser.

connected to the vm created

Pudiste conectarte a la VM a través de SSH sin una contraseña porque usaste el parámetro generate-ssh-keys al crear la VM. Esto descarga la clave privada a tu directorio ~/.ssh y carga la clave pública a la VM, lo que te permite autenticarte.

5. Ahora limpia la VM y el grupo de recursos.

az group delete --name TestGRP

Pasos siguientes

Ahora deberías tener listo el Azure CLI. ¡Estás listo para gestionar algunos recursos! ¿Qué sigue?

Source:
https://adamtheautomator.com/azure-cli/