Introducción
Comencemos esta serie de artículos de manejo de azure con scripts de powershell. El punto inicial por comentar es: ¿para que quiero manejar Azure desde un script si tengo el portal que es más amigable?
- Con Azure PowerShell se combinan la velocidad de una herramienta de consola, la flexibilidad de un lenguaje de scripting, y el poder de una interfaz de administrador (mientras tengas los permisos, claro).
- Podes programar tareas rutinarias (es mas fácil y rápido ejecutar un script que haga lo que queres, que hacerlo desde el portal). ¡Pensalo una vez! Después solo ejecutalo y ¡listo!
- Así como en Windows podes hacer con PowerShell todo (incluso más) lo que se puede hacer mediante la interfaz gráfica, con las librerías de Azure podes hacer todo lo que puedas hacer desde el portal.
- ¡Integración con Azure Automation para ejecutar scripts as a service! Con schedules configurables y súper versátiles (haré un post dedicado a esto).
- Puede usarse para ejecutar tareas sencillas (prender algún recurso, escalar una base de datos, etc) y también para tareas más complejas (ejecución de procesos ETL, deploy de recursos, asignación de permisos, etc).
Con algo de suerte, ya te convencí de que es importante al menos tener una idea de que esto existe, que puede facilitarte el trabajo y que no es muy difícil ni lleva mucho tiempo, sobretodo considerando el tiempo que ahorras automatizando tareas aburridas y repetitivas.
Ahora en cuanto a las versiones, ¿cual usar? Si googlean un poco, verán que hay varios nombres de librerías y puede resultar un poco confuso al principio, a continuación un resumen:
- CLI: Azure CLI (por Command Line Interface) es una herramienta 100% cross platform, que tiene la ventaja de que su sintaxis es identica para cualquier sistema operativo. Un script que use Azure CLI puede ejecutarse tanto en PowerShell como en Bash, y funcionara exactamente de la misma manera. No es sobre lo que estaré hablando en los próximos posts, pero sin dudas es una opción a tener en cuenta!! https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
- Azure PowerShell: estas son las librerías hechas específicamente para PowerShell, usa el formato de cmdlets (quienes sepan algo de PowerShell entenderán) y también son cross platform gracias a la existencia y compatibilidad con PowerShell Core! PowerShell Core esta disponible tanto para Windows, Linux o para Mac: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-6. Hay 2 versiones de estas librerías:
- AzureRM: RM se refiere a Resource Manager. Esta versión es la "vieja" de las librerías de Azure PowerShell, pero es la que mas funcionalidades tiene y viene por defecto instalada en Azure Automation. En esta serie de blogs estaré usando esta versión por ser la mas madura.
- Az: Esta es la nueva versión que esta desarrollando Microsoft, que intenta reemplazar completamente a AzureRM. Sin embargo, al día de hoy hay funcionalidades que aun no posee. De todos modos los cmdlets son prácticamente los mismos que los que veremos en adelante, solo hay que reemplazar "AzureRM" por "Az". Por ejemplo, al loguear en Azure usamos "Login-AzAccount" en lugar de "Login-AzureRMAccount".
Listos?? A instalar!!
Para finalizar este post introductorio, vamos a instalar las librerías de Azure PowerShell.
Primero, debemos abrir una terminal de PowerShell con permisos de administrador (no es 100% necesario, pero facilita las cosas).
Segundo, un checkeo de compatibilidad. Escribe:
$PSVersionTable.PSVersion
El resultado debería ser 5.1.0 o mas! Si no es así, actualiza tu versión de PowerShell. https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-6#upgrading-existing-windows-powershell
Tercero, instalamos las librerías. Escribe:
Install-Module AzureRM
Luego de escribirlo, nos pedirá una confirmación a la que respondemos Y (o S, según el idioma del sistema operativo que tengamos).
Por último, probemos hacer un login! Escribe:
Login-AzureRMAccount
Esto debería abrir un ventana para que puedas loguear de forma gráfica en Azure. Hay otras formas 100% como comando. ¡Las veremos más adelante!
¡Listo! Espero haberles despertado interés sobre el tema, próximamente estaré escribiendo sobre la forma de realizar diferentes tareas con esta versátil herramienta.
Escrito por Martin Zurita.
Capítulo Siguiente