Conexión a Azure PowerShell

6 octubre 2015
Josep Ma Solanes 0

Microsoft Azure dispone de un entorno gráfico mediante un portal web para su administración, pero no todo se puede llegar a hacer desde el portal web. Para tareas más avanzadas o automatizaciones dispone de una PowerShell para Windows, que sí permite la gestión al 100% de todo el entorno. Así como una consola de línea de comandos para Windows, Mac y Linux. Tanto la PowerShell como la consola de línea de comandos permiten generar scripts que nos pueden evitar muchos errores de configuración y ahorrar mucho tiempo en despliegues masivos.

Esta entrada trata de como conectarse a Azure mediante la PowerShell y la consola de línea de comandos para gestionar nuestro entorno.

Todas estas herramientas se pueden descargar desde el portal de Azure, accediendo al apartado de recursos o bien directamente con el instalador de aplicaciones Web de Microsoft. Para hacerlo desde el principio, mediante un navegador web, acceder a la página principal de Microsoft Azure: https://www.azure.com.

connexio-azure-powershell-001

En la parte superior del menú, hacer clic en la opción de Recursos y del desplegable que aparece, seleccionar Descargas.

connexio-azure-powershell-002

En primera instancia se encuentran los diferentes SDKs para los lenguajes de programación. Más abajo, se encuentran las opciones de consolas de línea de comandos: PowerShell, consola de línea de comandos, etc…

connexio-azure-powershell-003

En el apartado de Windows PowerShell, hacer clic en la opción Instalar para descargar el instalador de los cmdlets de Azure. Ejecutar el archivo que se descarga, se puede hacer directamente desde el navegador web utilizado.

connexio-azure-powershell-004

Al iniciar la aplicación sale una advertencia de elevación de privilegios para la aplicación Microsoft Web PI. Estad tranquilos. Microsoft Web PI es la plataforma que se utiliza para instalar este complemento y otros en el equipo. Hacer clic en el botón Si.

connexio-azure-powershell-006

Se inicia el instalador, hay que disponer de conexión a Internet para hacer la descarga de los archivos necesarios.

connexio-azure-powershell-007

Cuando la aplicación está completa ya queda seleccionado por defecto el complemento Windows Azure PowerShell. Hacer clic en el botón Instalar para proceder.

connexio-azure-powershell-008

Aceptar los términos de la licencia haciendo clic en el botón Aceptar.

connexio-azure-powershell-009

Esperar a que se complete la instalación. El asistente se encarga de descargar la última versión e instalarla en el sistema.

connexio-azure-powershell-010

Cuando ya haya terminado de todo el proceso, ya se puede hacer clic en el botón Finalizar.

connexio-azure-powershell-011

El instalador Microsoft Web PI muestra la aplicación Windows Azure PowerShell conforme ya está instalada y, debajo mismo, da la posibilidad de añadir la consola de línea de comandos de Azure para Windows. Hacer clic en el botón Agregar para añadirla a la lista de características a instalar.

connexio-azure-powershell-012

Hacer clic en el botón Instalar para proceder.

connexio-azure-powershell-014

Otra vez, aceptamos los términos de la licencia haciendo clic en el botón Aceptar.

connexio-azure-powershell-015

Queda instalada la consola de línea de comandos. Hacer clic en el botón Finalizar.

connexio-azure-powershell-016

Comprobar que ahora están las dos aplicaciones instaladas. Hacer clic en el botón Salir para cerrar el instalador Microsoft Web PI.

connexio-azure-powershell-017

¿Y ahora qué, como se utiliza la Azure PowerShell?

Naturalmente, de entrada no se observa ningún cambio en el sistema, tenemos que ir al menú inicio para encontrar las aplicaciones recientes Microsoft Azure PowerShell. Hacer clic en la aplicación para acceder a la PowerShell.

connexio-azure-powershell-018

Que bonito, es una PowerShell normal y corriente, pero con los cmdlets de Azure.

connexio-azure-powershell-019

Se puede comprobar la ayuda de cmdlets disponibles con el comando:

help azure

Es posible que la primera vez os aparezca un listado conforme se están cargando los cmdlets. Es del todo normal.

connexio-azure-powershell-020

Esperar a visualizar el listado de cmdlets disponibles. Como se puede ver, ¡hay unos cuantos!

connexio-azure-powershell-021

Para ver la lista de cmdlets del pack de Azure con su versión correspondiente:

get-command *wapack*

connexio-azure-powershell-022

De momento no voy a entrar a detallar cada cmdelt, que no tendría mucho sentido en este punto. Más bien se ve como establecer la conexión con nuestro espacio en Azure para después poder ir ejecutando estos comandos. El espacio de Azure se controla a nivel de suscripción y, claro, de entrada aún no hemos configurado ni establecido cuál es esta suscripción donde se lanzarán todos los comandos de PowerShell en Azure.

Por ejemplo, si ejecutamos los siguientes comandos:

get-azureaccount

Para visualizar nuestra cuenta de Azure, o bien un:

get-azuresubscription

Para visualizar la suscripción en la que realizamos las operaciones, el resultado que devuelve es simplemente nada. No hay ninguna conexión hecha. En caso de querer visualizar las máquinas virtuales que hay en la suscripción:

get-azurevm

connexio-azure-powershell-023

Esta última si que devuelve un código de error: no hay ninguna suscripción definida.

Es lo primero que se tendrá que hacer siempre antes de pasar los comandos. Pero antes se tiene que conseguir un pequeño archivo con la suscripción. Iniciad la sesión en el portal de Azure. Más que nada porque cuando se ejecute el comando os reconozca como usuarios y ya baje el archivo automáticamente, en caso contrario, al ejecutar el comando os pedirá las credenciales para entrar en el portal de Azure. Recordad la entrada anterior de primeros pasos con Azure para disponer de una suscripción y entrar en el portal.

Desde la consola Azure PowerShell, escribir el comando:

get-azurepublishsettingsfile

Se inicia una nueva pestaña del navegador con la descarga del archivo solicitado. Este archivo se tiene que guardar en un lugar seguro, ya que es nuestra puerta de entrada en el entorno de Microsoft Azure.

connexio-azure-powershell-025

Otra vez desde la Azure PowerShell, introducir el siguiente comando con la ubicación del archivo que habéis descargado. En mi caso en c:\Azure\Evaluación gratuita-10-3-2015-credentials.publishsettings:

Import-AzurePublishSettingsFile 'c:\Azure\Evaluación gratuita-10-3-2015-credentials.publishsettings'

Tiene que salir algo parecido a vuestro ID de suscripción con los datos principales.

connexio-azure-powershell-026

Ya se ha establecido la suscripción y la conexión por defecto en Azure, ahora ya se pueden enviar todos los comandos que queramos. No obstante, por ahora, todavía no hay nada creado y poca cosa se podrá ver.

connexio-azure-powershell-027

¿Y la consola de línea de comandos de Azure?

Recordad que también se ha instalado la consola de línea de comandos. Esta quedaría más para entornos Microsoft Windows XP al no poder disponer de la PowerShell completa. Para acceder, sólo hay que iniciar una consola de sistema con privilegios de administrador, botón derecho del ratón sobre el menú de inicio y hacer clic en el símbolo del sistema (administrador) y aceptar la solicitud de elevación de privilegios.

connexio-azure-powershell-028

Desde la consola del símbolo de sistema, los comandos de Azure van precedidos por la palabra azure:

azure

connexio-azure-powershell-029

A solas, sin ningún parámetro más, visualizar la ayuda de los comandos disponibles. Por ejemplo, para visualizar la ayuda del comando account es:

azure help account

Al igual que con la Azure PowerShell primero hay que establecer la conexión a la suscripción. ¿Recordáis donde tenéis el archivo con la suscripción, verdad? ¿No? Si no se ha utilizado la Azure PowerShell por el medio y, por lo tanto, aún no disponemos del archivo con la suscripción, se puede realizar la conexión con el comando:

azure login -u nomusuari@domini.com

Introducir la contraseña del usuario para establecer la conexión.

Establecida la comunicación, se puede descargar el archivo de la publicación con el comando:

azure account download

Recordad de cerrar sesión cuando terminéis:

azure logout -u nomusuari@domini.com

Con el archivo de publicación, conseguido por la Azure PowerShell o bien por la consola de línea de comandos, no importa, ejecutar el siguiente comando para establecer la conexión por este método:

azure account import "c:\Azure\Evaluación gratuita-10-3-2015-credentials.publishsettings"

connexio-azure-powershell-030

A partir de aquí se pueden ir llamando el resto de comandos, como el que se ve en la foto anterior para listar la lista de sites:

azure site list

 

Consola de línea de comandos de Mac

También existe la consola de línea de comandos para Mac. Desde el apartado de Recursos de la web de Azure (https://azure.microsoft.com/es-es/downloads), en Herramientas de líneas de comandos, la opción de interfaz de línea de comandos de Azure, hacer clic en Instalación para Mac.

connexio-azure-powershell-035

Una vez descargado el archivo, hacer clic sobre él para montar la imagen y poder acceder a su contenido

connexio-azure-powershell-036

Ya en la aplicación de instalación, hacer clic sobre el icono Instalar interfaz de línea de comandos.

connexio-azure-powershell-037

Se inicia un asistente de instalación. Hacer clic en el botón Continuar.

connexio-azure-powershell-038

Términos de la licencia. Hacer clic en el botón Continuar.

connexio-azure-powershell-039

Aceptar los términos. Hacer clic en el botón Aceptar.

connexio-azure-powershell-040

Resumen de la instalación, hacer clic en el botón Instalar.

connexio-azure-powershell-041

Una vez instalada la consola de línea de comandos, hacer clic en el botón Cerrar del instalador. Ya se puede desmontar la imagen que se ha utilizado para instalar.

connexio-azure-powershell-042

Abrir una consola de terminal. Desde el Spotlight (Cmd + barra de espacio) se puede buscar la aplicación Terminal.

connexio-azure-powershell-043

Con la consola de líneas de comandos iniciada, podemos proceder a ejecutar los comandos de Azure, por ejemplo los que se han visto en el apartado anterior de la consola de línea de comandos para Windows:

azure login -u nomusuari@domini.com
azure account download
azure logout -u nomusuari@domini.com
azure account import ruta_donde_se ha_guardado_el_archivo
azure site list

 

Consola de línea de comandos de Linux

Sí, tranquilos, también está disponible para Linux. Desde el apartado de Recursos de la web de Azure (https://azure.microsoft.com/es-es/downloads), en Herramientas de líneas de comandos, la opción de interfaz de línea de comandos de Azure, hacer clic en Instalación para Linux.

connexio-azure-powershell-032

Guardar el archivo donde creáis oportuno. Hacer clic en el botón Guardar archivo.

connexio-azure-powershell-033

Abrir una consola de línea de comandos. ¡Ojo! antes de instalar la consola de línea de comandos para Linux os tenéis que asegurar que tengáis el Node y Npm instalados para facilitar la vida durante la instalación. Los siguientes comandos se realizan en una distribución Ubuntu, cambiadlas según la distribución que utilizáis. Instalar Node y Npm:

sudo apt-get install node npm

Descomprimir el archivo descargado con la consola de línea de comandos de Azure donde corresponda:

tar -zxvf azure-cli.0.9.9.tar.gz

Localizar los archivos descomprimidos y ejecutar la compilación:

sudo make
sudo make install

Si os da problemas de dependencias o funcionalidad, optad por la instalación mediante npm, con el comando:

sudo npm install -g azure-cli

Al igual que con los otros sistemas que se han visto, Windows y Mac, ya se pueden ejecutar los comandos concretos para Azure:

azure login -u nomusuari@domini.com
azure account download
azure logout -u nomusuari@domini.com
azure account import ruta_donde_se ha_guardado_el_archivo
azure site list

connexio-azure-powershell-034

 

¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!

Similar Posts by The Author: