Automatización: Programar encendido y apagado de máquinas virtuales en Azure

martes, 15 de septiembre de 2015


En este artículo veremos como utilizar la potente herramienta de automatización que incorpora Microsoft Azure, la cual utilizaremos para apagar y encender todas las máquinas virtuales en una suscripción de Azure, el apagar todas las máquinas sin ir una por una y hacerlo a determinadas horas, resulta especialmente útil en escenarios donde deseamos ahorrar créditos y no queremos que nuestras máquinas queden encendidas durante largas jornadas de tiempo consumiendo de nuestra tarjeta y máxime si las máquinas no están haciendo nada, así que veamos como automatizar la tediosa tarea de apagar las máquinas, y de paso también veremos como automatizar el encendido.

Lo primero que debemos hacer es crear una cuenta de organización del tipo @algo.onmicrosoft.com, esta cuenta debe tener permisos de co-administrador


En este caso cree una cuenta llamada auto cuyo nombre de usuario es auto@cesarherrada.onmicrosoft.com, La vamos a necesitar más adelante.

Ahora seleccionamos la característica Automatización del panel de la izquierda en el portal.


Nos indica  que no existe ninguna cuenta de automatización, entonces hacemos clic en Crear una cuenta de automatización

Indicamos el nombre de la cuenta y la región donde deseamos crearla.


Una vez creada, ingresamos a la misma y veremos varias opciones en el menú de la parte superior, seleccionamos Activos


En las opciones de la parte inferior del portal hacemos clic en Agregar Configuración


En Agregar Configuración seleccionamos la opción Agregar Credenciales 


Esto nos permitirá crear y almacenar las credenciales que utilizaremos para ejecutar los flujos de PowerShell que se encargan de encender y apagar las máquinas (recordemos que la cuenta a utilizar fue lo primero que creamos).

En Tipo de Credenciales seleccionamos Credenciales de Windows PowerShell del cuadro desplegable

Y en el cuadro Nombre ponemos el nombre que llevará este activo y a el cual debemos referirnos más adelante, en este caso lo he llamado Azurecloud


En el siguiente paso es donde debemos especificar la cuenta que hemos creado al inicio y su respectiva contraseña.


Al finalizar, veremos que el nuevo activo ha sido creado satisfactoriamente.


Ahora, volvemos a la página principal de automatización, y veremos que como parte de la introducción a esta característica tenemos la posibilidad de importar runbooks desde una galería, estos runbooks son como los scripts o flujos de trabajo de PowerShell que hacen posible la automatización.



Presten especial atención a la lista de la izquierda, existe una gran variedad de categorías para explorar, en nuestro caso vamos a seleccionar la categoría VM Lifecycle Management y de la lista de runbooks trabajaremos con los dos que se encuentran encerrados con rojo, se trata de los runbooks para programar el encendido y apagado de máquinas virtuales, voy a empezar con el de apagado, el que tiene la palabra "stopping"



Al seleccionarlo, nos mostrará la definición del runbook, es decir, el código de PowerShell básicamente.


Ahora nos solicita un nombre, dejaré el nombre por defecto Stop-AllAzureVM, en Cuenta de Automatización seleccionar la recién creada, luego la suscripción y región deseadas.


Finalizamos, y veremos en la barra de notificaciones el siguiente mensaje:



En el mensaje podemos hacer clic en el botón Editar Runbook para configurarlo


Vamos a la opción Autor donde encontraremos otras dos opciones Publicado y Borrador, todos los runbooks permanecen en estado de borrador hasta que no los revisemos, ajustemos y una vez ajustados e incluso probados podemos publicarlos para que sean puestos en producción, así que por ahora haremos clic en Borrador


En el borrador debemos cambiar dos partes y ajustarlas a nuestros datos, estas son Name y SubscriptionName, específicamente las líneas 32 y 39 donde debemos poner el nombre del activo que creamos con las credenciales y el nombre de la suscripción.



Ya editado, podemos probarlo antes de publicarlo, para ello hacemos clic en prueba en laparte inferior.


Se debe producir la siguiente salida indicando que la operación fue exitosa.


Nota importante: Mientras realizaba las pruebas del runbook estaba obteniendo el siguiente mensaje de error:

Error: Select-AzureSubscription : The subscription name VISUAL STUDIO PREMIUM CON MSDN doesn't exist.



Claramente, la suscripción existe, escribí el nombre tal como lo noté en la parte superior de portal donde aparecen los créditos disponibles.


Si observan en la edición del runbook esta es la suscripción que indique, así que decidí conectarme desde PowerShell y verificar la información, pensé que tal vez era por no ser la suscripción actual.



Y como se puede observar, la suscripción es la adecuada y además es la suscripción por defecto, lo único que noté diferente es la forma en que escribí, en el runbook tengo todo el texto en mayúsculas, tal como aparece en el estado del crédito, sin embargo podemos ver que el resultado del cmdlet Get-AzureSubscription no lo muestra todo en mayúscula, así que decidí hacer la prueba y cambiar esto en el código.

También pude haber observado este nombre sin necesidad de PowerShell, simplemente es el mismo que aparece junto a las VMs


A continuación el código modificado.



Después de este cambio, la prueba funcionó correctamente.

Bien, de este modo ha quedado listo el primer runbook para apagar las máquinas, ahora vamos a configurar el de inicio, omitiré los pasos ya que es exactamente igual al de apagado, solo mostraré la pantalla final.


Al finalizar, veremos los dos runbooks creados.


Antes de poder realizar la programación, debemos publicar los runbooks, encontramos la opción en la parte inferior.


Vemos que ahora tenemos el código en la opción Publicado


Una vez publicado, en cada uno de los runbooks vamos a la opción Programar y hacemos clic en Vincular a una programación nueva


Debemos hacerlo por cada runbook.

Vamos con el de encendido, ponemos el nombre que llevará la programación.


Y configuramos la programación, en este caso la dejé diaria a las 7:00 am y con repetición todos los días.


Este será el resultado


Ahora hacemos lo mismo con el runbook de apagado


También diariamente pero a las 18:00


El resultado



En el tab Runbooks podemos ver los dos recién creados y columnas donde se indica el estado de los trabajos, la última vez que se ejecutó  y la cantidad de trabajos ejecutados.


A continuación pongo dos días después de haber creado las tareas de automatización, se observa la cantidad de trabajos que se ha realizado, si fue exitoso y la fecha y hora en que se ejecutó, la cual corresponde claramente a la programación que definimos previamente.




De esta forma hemos terminado de automatizar el encendido y apagado de todas las máquinas virtuales de una suscripción de Azure.

Espero esta información sea de utilidad. Hasta la próxima!

No es posible eliminar directorio en Azure Active Directory - Office 365 Management APIs

martes, 8 de septiembre de 2015


En este artículo explicaré cómo eliminar un directorio en Azure Active Directory en especial porque la eliminación no es del todo tan transparente.

Todo empezó cuando intenté eliminar un directorio y me encontré con el siguiente mensaje:


El motivo: El directorio tiene una o varias aplicaciones que añadió un usuario o administrador

Al revisar las aplicaciones en el directorio me encuentro con la siguiente: Office 365 Management APIs



Esta aplicación estaba impidiendo la eliminación del directorio, y desde el portal no existe opción alguna para eliminarla, consultando en al web encontré que la forma de hacerlo era mediante una cuenta de organización diferente, así que lo primero es crear la cuenta, en Usuarios y haciendo clic en la opción Agregar Usuario


Seleccionamos un usuario de tipo "Nuevo usuario de la organización" le ponemos un nombre y seleccionamos el dominio *.onmicrosoft.com



Completamos los datos del perfil del usuario.


Por último creamos la contraseña temporal, con la cual ingresaremos al portal de Azure, hacemos clic en el botón Crear



Copiamos la contraseña temporal generada.




Ingresamos al portal de Azure y ponemos la cuenta que hemos creado con la contraseña temporal que acabamos de crear.



Una vez ingresemos la contraseña temporal se solicitará el cambio de clave (que es realmente el propósito de estos pasos).


Después de hacer clic en el botón Actualizar contraseña e iniciar sesión es probable que recibas un mensaje de error indicando que no cuentas con una suscripción de Azure, no hay que preocuparse, es un comportamiento esperado, el objetivo en nuestro caso es cambiar la contraseña.

Para el paso siguiente vamos a necesitar de PowerShell, para lo cual es necesario tener instalado Microsoft Online Services Sign-in Assistant for IT Professionals así como también el módulo de PowerShell para Azure Active Directory

Abrimos la consola con el módulo de PowerShell para Active Directory y cargamos las credenciales (del usuario que recién creamos) con el siguiente comando:

$msolcred = get-credential  





Cuando aparezca el cuadro de diálogo ponemos nombre de usuario y contraseña, luego hacemos clic en Aceptar 

Ahora nos conectamos al servicio usando las credenciales que hemos almacenado en la variable $msolcred

connect-msolservice -credential $msolcred




Con el siguiente comando podemos listar las aplicaciones que contiene el directorio actualmente.

Get-MsolServicePrincipal | Select DisplayName



Ahora vamos a borrar todas las aplicaciones para luego si poder borrar el directorio de Azure Active Directory con el siguiente comando:

Get-MsolServicePrincipal | Remove-MsolServicePrincipal 


Es normal que obtengamos algunos mensajes de error como los que se muestran en la imagen anterior, pues no todas las aplicaciones pueden ser eliminadas del directorio, Azure las necesita, así que si volvemos a ejecutar el comando Get-MsolServicePrincipal | Select DisplayName obtendremos el siguiente resultado:


Los anteriores son SPs que Azure no permite eliminar, pero tampoco nos impiden eliminar el directorio, para mi caso lo importante fue la eliminación del SP Microsoft.Office365.Configure

Después de realizar este procedimiento, volvemos al portal de Azure e intentamos eliminar nuevamente el directorio, oh sorpresa! otra vez lo impide, pero esta vez la razón para evidente, el directorio aún contiene usuarios, pues claro el que creamos para poder eliminar el directorio.


Así que no queda más remedio que eliminar el usuario que creamos en el directorio.


Luego,, volvemos a intentar eliminar el directorio, y vemos que ahora si lo permite, muestra una casilla de verificación para eliminar el directorio.


Al final veremos el mensaje de confirmación.


Bien, y esto es todo.

Espero la información sea de utilidad.

Subir archivos a la nube de Microsoft - Azure Storage Explorer

domingo, 30 de agosto de 2015


Actualización 26/03/2017: Consulte el artículo con la versión de la herramienta a marzo de 2017 AQUÍ

En la entrada anterior expliqué cómo subir archivos a Microsoft Azure utilizando la línea de comando, específicamente la herramienta AzCopy (vea el artículo aquí), ahora vamos a ver cómo podemos subir información e incluso descargar haciendo uso de una herramienta bastante útil llamada Azure Storage Explorer la cual se puede descargar de forma gratuita desde Codeplex, el enlace a continuación: https://azurestorageexplorer.codeplex.com/

Una vez en el sitio, hacemos clic en Downloads

Hacemos clic en archivo zip para comenzar la descarga


Al terminar la descarga descomprimimos el ejecutable e iniciamos la instalación.

En la ventana inicial hacemos clic en Next para empezar el proceso de instalación


Aceptamos los términos de la licencia y hacemos clic en Next


Seleccionamos la ruta donde deseamos que se instale la aplicación y hacemos clic en Next


Ahora, clic en Install


Para terminar hacemos clic en el botón Finish y nos aseguramos de tener marcada la opción Launch the program para iniciar la aplicación inmediatamente.


Al iniciar la aplicación, veremos una ventana con unas opciones en la parte superior derecha, tal como se muestra en la siguiente imagen:


Aún no debemos usar ninguna, ya que para empezar nos solicita el nombre de la cuenta de almacenamiento en Azure y la clave de acceso, por lo cual debemos ingresar al portal de Azure para obtener ésta información, sin embargo, la herramienta es tan cool que incorpora una opción para llevarnos directamente hacia el portal de administración de Azure, basta con hacer clic en el engranaje en la parte superior derecha de la ventana, allí podemos ver la opción del menú que se despliega.


Una vez en el portal seleccionamos Storage del panel de la izquierda


Allí podemos observar y seleccionar el nombre de la cuenta de almacenamiento que deseemos, en mi caso solo tengo una y se llama azurecloudla, la cual cree en un artículo anterior.

Nota: Si deseas saber qué es una cuenta de almacenamiento y un contenedor de Azure y cómo crearlos, te invito a leer un artículo donde lo explico, consúltalo y luego vuelve aquí, Clic aquí para verlo


Ya tenemos el nombre de la cuenta de almacenamiento, ahora necesitamos la llave de acceso, para ello debemos hacer clic Manage Access Keys que se encuentra en la parte inferior de la pantalla.


Hacemos clic sobre el icono que se muestra en recuadro rojo para copiar la llave al porta-papeles

Ya tenemos las dos partes que necesitamos, el nombre de la cuenta y la clave de acceso, ahora volvamos a Azure Storage Explorer y hagamos clic en el botón Add Account




En la ventana Add Storage Account ponemos en los campos respectivos los datos que ya tenemos.

  1. Nombre de la cuenta de almacenamiento
  2. Llave de acceso a la cuenta de almacenamiento



Antes de continuar podemos hacer clic en el botón Test Access para comprobar que efectivamente podemos conectarnos a la cuenta.

Podemos observar en la parte inferior de la ventana el resultado del test, y hacemos clic en el botón Save



Y listo, ahora podemos destacar las siguientes partes de la ventana.

  1. Pestaña con el nombre de la cuenta de almacenamiento (podemos tener varias)
  2. Nombre del contenedor que tenemos en la cuenta de almacenamiento
  3. Archivos o blobs dentro del contenedor

Si observamos, la parte superior de la ventana (encima de los blobs), nos muestra iconos con varias acciones que podemos llevar a cabo sobre dichos blobs, como por ejemplo: Upload, Download, Delete, entre otras.

Es decir, nos permite realizar cualquier acción con la información que tenemos allí, al mejor estilo del explorador de archivos de Windows.

Por ejemplo, vamos a subir un archivo de mi servidor local haciendo clic en la opción Upload

Vamos a subir una imagen en png llamada azurecloud


Al final, vemos que efectivamente la imagen fue cargada en el contenedor backup


Si hacemos clic en la opción View, estando ubicados sobre el archivo, podemos ver sus propiedades detalladas, y adicional a ello veremos una pestaña llamada Content, donde podemos explorar el contenido del archivo y según su tipo hasta podemos editarlo, por ejemplo un archivo de texto.





Ahora, que tal si le echamos un vistazo al contenedor desde el portal de Azure?


Allí tenemos el archivo.

Como pueden ver Azure Storage Explorer es una herramienta que no puede faltar en nuestros equipos si estamos trabajando con Microsoft Azure.

Espero la información sea de utilidad, Hasta la próxima!

Actualizar Azure AD Connect Preview a la versión GA

sábado, 29 de agosto de 2015


En este post veremos cómo actualizar la herramienta Azure Active Directory Connect de su versión en Vista Previa (preview) a la versión ya liberada por Microsoft conocida como GA (General Availability) la cual ya podemos usar en entornos de producción.

Primero, debemos descargar el instalador desde la siguiente URL:
http://www.microsoft.com/en-us/download/details.aspx?id=47594


Una vez descargado, ejecutamos el paquete MSI



Y seguimos los pasos del asistente, como podemos observar, el instalador detecta que existe una versión previa, bien sea DirSync, AD Sync o AAD Connect Preview, en este caso vamos a realizar un upgrade desde AAD Connect Preview, simplemente debemos hacer clic en el botón de color verde Upgarde


La siguiente ventana solicita las credenciales de un Administrador Global del directorio en Azure que usaremos para la sincronización..




La siguiente ventana activa de manera automática la casilla en la cual indicamos que el proceso de sincronización inicie una vez finalice el proceso de actualización de la configuración de sincronización de Azure Active Directory


Inicia el proceso de configuración.


Si todo sale bien, al finalizar obtendremos la siguiente ventana que indica el fin del proceso de actualización.



De este modo ya tendremos actualizada nuestra herramienta de sincronización a Azure Active Directory Connect

 

Lo más visto

Comunidad

Comunidad
Comunidad Técnica

Visitas