Administración de servicios de Azure mediante CLI

Hoy voy a a hablar de la interfaz de línea de comandos de Azure, o CLI de Azure. Dicha CLI provee al usuario de una serie de comandos de código abierto basados en shell que permiten crear y administrar recursos de Azure. Esto supone la gestión de servicios y aplicaciones utilizando scripts desde la línea de comandos.

La CLI de Azure está escrita en javascript y necesita de Node.js, tecnología que permite trabajar con javascript desde el lado del servidor, empleando un modelo asíncrono y controlado por eventos.

Cabe destacar que una de las cosas hacen interesante a esta herramienta es su carácter multiplataforma. De esta forma, existen instaladores para cada una de las tres plataformas soportadas:

  • Windows
  • Mac
  • Linux

Otras dos métodos de instalación serían las siguientes:

  • Instalación previa de Node.js y npm, para posteriormente instalar Azure CLI.
  • Ejecución de la CLI de Azure como contenedor de Docker. Consistiría simplemente en ejecutar en un host de Docker ‘docker run -it microsoft/azure-cli’.

Ahondando más en la segunda forma de instalación y tomando como referencia para este post la versión para Linux, (en concreto, Xubuntu 14.04), la misma vendría dada con la instalación de tres paquetes:

Instalados estos tres paquetes, Azure CLI ya estará disponible en el sistema.
Por lo tanto, desde una ventana de consola, escribiendo ‘azure help’ mostrará información de ayuda diversa:

azure help

  • Versión de la herramienta. En este caso, la versión es 0.9.12
  • Comandos disponibles, agrupados según temática. Así, por ejemplo, para ver todos los comandos relacionados con la gestión de máquinas virtuales y las opciones aplicables, habría que indicarlo mediante el siguiente comando:

azure help vm

  • Modo de implementación seleccionado actualmente. Azure cuenta con dos modelos de implementación distintos para crear y gestionar recursos: el Administrador de Recursos (‘Azure Resource Management‘) y el Administrador de Servicios (‘Azure Service Management‘) o módo clásico. Por defecto, está seleccionado el modo clásico. Para cambiar de un modo a otro, se emplea el comando ‘azure config mode <arm|asm>’. Ambos modos son excluyentes entre sí, de manera que los recursos creados en un modo no se pueden administrar desde el otro. Entonces, si se quiere cambiar al modo de Administrador de Recursos, el comando sería:

El primer paso que hay que llevar a cabo para poder gestionar los recursos es poder acceder a los mismos. Para ello, se cuenta con tres formas de acceder a una cuenta y sus subscripciones:

  1. Accediendo a una subscripción, utilizando para ello el Directorio Activo (AD) o una Cuenta Microsoft (Microsoft Account).
  2. Mediante un archivo ‘publishsettings‘ de una subscripción descargado del portal de Azure.
  3. Mediante un certificado.

Tomando como ejemplo la segunda forma, habría que descargar el archivo publishsettings con un navegador e importarlo. Para llevar a cabo esto, se ejecutaría lo siguiente:

Con lo que se abriría la página del navegador (si no lo hiciera, basta con seguir el enlace que se indica), se introducirían las credenciales de la cuenta y se descargaría el archivo. A continuación, se importaría con el comando:

Una vez importado, el archivo se puede eliminar. Si hay otros archivos publishsettings que importar, los pasos a seguir son los mismos. Para ver todas las subscripciones que han sido importadas:

donde se mostrarán el nombre de la subscripción, su id, si está o no actualmente seleccionada, y el estado.

Para seleccionar una subscripción determinada y así poder gestionarla:

Y a partir de este momento, ya se pueden administrar los recursos de esa subscripción seleccionada. Por ejemplo, para ver una lista de las máquinas virtuales:

O se quiere crear un regla de firewall para una base de datos:

Por supuesto, todos los comandos de Azure CLI son susceptibles de ser incluidos en un script, con lo cual posibilita la automatización de ciertas tareas que pueden resultar pesadas, sobre todo si no se tiene acceso a Powershell.

Y esto es todo por ahora. Espero que este post haya servido para, por lo menos, dar una rápida visión de esta interesante herramienta.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *