101 COSAS QUE PUEDES HACER CON CLOUD OS – Cosa 17
Hola amigos, en la última entrega de esta serie hablé acerca de Azure Powershell que es una plataforma muy robusta que me permite administrar una o varias suscripciones de Azure usando comandos Powershell, de modo que puedo realizar toda clase de tareas usando Azure Powershell y sacando provecho de toda su potencia. ¿Qué se puede hacer con esta herramienta? TODO simplemente, desde encender/apagar máquinas, agregar discos, cambiar las redes virtuales, crear sitios web… por sólo citar unos pocos ejemplos.
Pues bien, resulta que también es posible usar otra herramienta que también usa línea de comandos y se denomina “Azure Cross-Platform Command-Line Interface” o simplemente XPLAT-CLI. Con ella podemos interactuar con Azure de una manera que vamos a ver a continuación.
Posteriormente ustedes pueden escoger aquella con la que se sientan más cómodos entre Azure Powershell y xplat-cli.
xplat-cli está hecha en JavaScript y requiere Node.js. Está implementada usando el SDK de Azure para Node.js y se encuentra bajo la licencia Apache 2.0. Si quieren consultar el repositorio del proyecto se encuentra en https://github.com/WindowsAzure/azure-sdk-tools-xplat
¿Cómo instalarla? En el caso de las máquinas Windows hay que descargar el instalador que se encuentra Aquí el instalador se denomina WindowsAzureXPlatCLI.3f.3f.3fnew.exe. Una vez descargado procedemos ejecutarlo.
Seleccionamos Install
Luego I Accept
Espero que el proceso se complete
Presiono Finish
¡Ya quedó instalado!
Ahora debo ejecutar una línea de comandos CMD como administrador
Una vez se esté en la línea de comandos, hay que ir a la ruta C:\Program Files (x86)\Microsoft SDKs\Azure\CLI que es la ruta por defecto de la instalación de la plataforma xplat-cli
Estando allí podemos escribir azure para ver los comandos y opciones disponibles:
Ahora al igual que en el caso de Azure Powershell hay que establecer conexión hacia la suscripción de Azure, esto se puede hacer de dos maneras: Haciendo login con un usuario autorizado para ingresar a la suscripción o descargando las credenciales de dicha suscripción.
Vamos a usar el segundo método, que me ofrece la ventaja de que una vez tenga descargadas las credenciales me basta con abrir la línea de comandos con privilegios en la ruta -C:\Program Files (x86)\Microsoft SDKs\Azure\CLI- y ya puedo interactuar con mi suscripción.
Lo primero que debo hacer es tener abierto mi portal de Azure en la suscripción que quiero conectar, y una vez estando allí debo escribir lo siguiente:
azure account download
Inmediatamente se abre una página wen en donde se indica que se va a descargar un archivo, el cual corresponde a las credenciales que vamos a usar para establecer nuestra conexión:
Ahora hay que importar ese archivo usando el comando azure account import
En mi caso el comando completo –Desde xplat-cli- es:
azure account import "d:\tmp\Windows Azure MSDN - Visual Studio Ultimate-12-29-2014-credentials.publishsettings"
Mis credenciales las descargué en la ruta D:\TMP y el archivo de mi ejemplo se denomina Windows Azure MSDN - Visual Studio Ultimate-12-29-2014-credentials.publishsettings
Si todo salió bien verán un mensaje similar al siguiente. Observen los mensajes en donde se indica que se descargaron las credenciales y que se importaron:
Ahora, ¡Estamos listos para interactuar con Azure!
Empecemos con ver las máquinas que tengo en mi suscripción, eso se hace con azure vm list
Observen que tengo 2 VMs en mi suscripción y se encuentran apagadas en este momento. También observen que la ruta de xplat-cli es D:\Program Files\Microsoft SDKs\Azure, lo que indica que también puedo instalar el producto en la ruta que yo desee.
También observen que si bien ambas VMs están apagadas, una de ellas tiene dirección IP y la otra no. Ello se debe a que una de ellas fue apagada de manera que mantuviera su dirección de manera persistente y la otra no, lo cual puede tener implicaciones en los costos si la IP es pública y se reserva de manera permanente así la máquina está apagada.
Si quiero encender la máquina server01 uso el comando azure vm start server01 (Si ya lo notaron, toda acción debe empezar con la palabra “azure”)
Empezó el proceso… y ya terminó, la máquina está encendida:
Si la quiero apagar uso azure vm shutdown server01
Y si de nuevo listo mis VMs observen que server01 ya no tiene IP asignada, pues se apagó por defecto sin persistencia
Si quisiera que la VM conservara su dirección IP debo usar al final la opción –p o --stay-provisioned, es decir:
azure vm shutdown server01 –p
o
azure vm shutdown server01 --stay-provisioned
Ahora voy a crear un sitio web en blanco denominado website01ab00. Recuerden que todo sitio web creado por defecto en Azure tiene el sufijo .azurewebsites.net, de modo que antes de crearlo debo verificar que no exista ya un sitio web con ese nombre público o FQDN, es decir website01ab00.azurewebsites.net no debe existir al momento de su creación.
Voy a usar el comando azure site create website01ab00
Como no le especifiqué la región en donde va a ser creado el sitio debo hacerlo, para este ejemplo voy a seleccionar East US
Observen que ya se creó sin problema el sitio web
Este sitio es un sitio que yo puedo actualizar usando FTP, FTPS o Visual Studio entre otras opciones.
Por último voy a crear otro sitio indicando la ubicación en la misma línea. Como no sé cuál es la sintaxis del comando puedo usar azure site create –h o azure site create –help para ver la ayuda
De ahí concluyo que puedo usar por ejemplo azure site create mywebsite01ab99 --location "North Central US" para crear un sitio denominado mynewwebsite01ab99.azurewebsites.net en la región "North Central US"
Observen que mi sitio recién creado ya abre: (Esto es un esqueleto o sitio en blanco, debo poblarlo posteriormente)
En realidad las posibilidades son enormes y aquí vimos unos pocos ejemplos para que se animen a usar esta herramienta. Por supuesto el siguiente paso es hacer scripts que permitan tener flujos de trabajo complejos para administrar de manera eficiente la plataforma.
Si quieren consultar más información acerca de los comandos y ver una completa guía de los mismos pueden consultar el siguiente link
Ojalá les haya gustado este último post del 2014, les deseo un Feliz Año 2015 para ustedes y sus familias, mucha felicidad y propónganse metas realizables y concretas.
Espero nos sigamos encontrando en este espacio y ¡Que viva Azure! Esto es el presente y futuro mis amigos.
Comments
- Anonymous
January 01, 2003
Definitivamente Alfredo que artículos tan bacanos!!
X-Plat para mi es mi consola por defecto para trabajar con Azure, aunque tengo entendido que no se puede haer todo lo que si se puede hacer con PowerShell. Y aunque creo que es posible, me queda una duda: se puede utilizar PowerShell y Xplat en conjunto? es decir generar operaciones powershell apalancadas en operaciones o resultados de XPlat? - Anonymous
January 02, 2015
Hola JuanK gracias por los comentarios... la verdad es que no sabría decirte eso con exactitud pues al fin y al cabo cada ambiente -Azure Powershell y Xplat-CLI- corre en un subsistema por separado y tiene como finalidad interactuar con Azure, de modo que pienso que se podría siempre y cuando una parte del script haga algo con Azure y la otra a su vez tome los resultados de la primera para continuar con la tarea...