Cómo balancear la carga de máquinas virtuales en Azure

domingo, 11 de octubre de 2015


En esta ocasión vamos a utilizar otra de las poderosas características de Azure y es el balanceo de carga nativo que incorpora, lo utilizaremos para balancear un sitio web que se encuentran en dos instancias de máquina virtual en Azure (IaaS).

En esencia lo que tendremos es un sitio web publicado hacia Internet, el cual será atendido por dos máquinas virtuales en Azure, una imagen vale más que mil palabras, a continuación muestro el diagrama de lo que vamos a implementar en este artículo.

Como se puede apreciar en la imagen, Azure incluye un balanceador de carga nativo, el cual podemos usar y no genera costo adicional alguno, todo el tráfico que reciba de los clientes web a través del puerto 80 (http) será distribuido entre las dos máquinas virtuales (VM1 VM2) al puerto 80 de cada una de ellas. Claramente puedo tener las instancias de máquina virtual que quiera, para esta demostración utilizaré dos instancias. Ahora veamos el proceso.

Lo primero es crear las máquinas virtuales a través del portal de Azure, crearé dos máquinas.


Algo muy importante a tener en cuenta, es que las máquinas virtuales que deseemos balancear deben estar en el mismo Cloud Service, para esta demostración las máquinas VM1 y VM2 las he puesto en el mismo servicio en la nube: mvpconf


La siguiente imagen muestra las dos máquinas creadas.


Bien, ahora que han sido creadas, voy a instalar el rol de servidor web (IIS) en cada una de ellas. Entiendo que esto es algo que sabemos hacer y no detallaré el proceso en este artículo,


Una vez listo el rol de servidor web en cada máquina, desde el portal de Azure seleccionamos la primer máquina (VM1) y hacemos clic en Extremos en la parte superior.

Un extremo (Endpoint en inglés) es básicamente lo que conocemos como un puerto, si observamos en la siguiente imagen, ya vienen por defecto dos "extremos" (puertos), para RDP y PowerShell, así que simplemente lo que haremos es agregar el "extremo" (puerto) para el servicio web http, es decir el puerto 80

En las opciones de la parte inferior seleccionamos Agregar



En Agregar Extremo estará seleccionada la opción Agregar un extremo independiente hacemos clic en el símbolo de flecha en la parte inferior.


De la lista desplegable Nombre seleccionamos el protocolo, en este caso HTTP, automáticamente nos traerá el protocolo TCP y el puerto 80, tanto de manera privada como pública (recordemos que tenemos una IP pública mediante la cual publicaremos el servicio y una IP privada para cada máquina virtual), activamos la casilla Crear un conjunto de carga equlibrada y continuamos.


Ponemos un nombre al conjunto de carga equilibrada y dejamos las demás opciones por defecto, estas pueden ser cambiadas según sus propias necesidades.




Al final veremos el extremo con un conjunto de carga asociado.



Ahora nos pasamos a la VM2 y llevamos a cabo las mismas acciones


Agregamos un nuevo extremo


En esta ocasión en lugar de crear un nuevo extremo, seleccionamos Agregar un extremo a un conjunto de carga equilibrada y elegimos de la lista de desplegable el que recién creamos (LB-HTTP)


Elegimos un nombre, debí haber elegido HTTP para guardar uniformidad con el anterior, dejamos el resto de opciones como aparecen



Bien, de este modo ya tenemos listo nuestro balanceador de carga, ahora lo que voy hacer es realizar una modificación en cada sitio web para saber a cuál máquina me estoy conectando, para ello vamos al directorio wwwroot y editamos el archivo de imagen  iis-85


Voy simplemente a poner un cuadro de texto con el nombre de cada máquina virtual, empecemos con VM1



Ahora editemos el mismo archivo en VM2


Guardamos los cambios, y simplemente para probar nos abrimos la URL con la cual publicamos el servicio, a continuación la prueba desde el navegador.


Como podemos apreciar, nos ha respondido VM1, si recargamos la página varias veces (F5), podemos notar que de repente nos pasará a VM2, pero si queremos ser más agresivos podemos detener el servicio web en VM1 para obligar al balanceador a dirigirnos a VM2, para ello abrimos el administrador de tareas y finalizamos el proceso IIS Worker Process



Volvemos al navegador, presionamos F5, y veremos como se cambiará de forma transparente a VM2


Y bien, esto ha sido todo. Espero les sea de utilidad esta información.

Cambios en el programa MVP - Adiós Directory Services

miércoles, 7 de octubre de 2015


El día de hoy se han anunciado grandes cambios en el programa MVP de Microsoft por parte de Steve Guggenheimer, Vice Presidente del grupo DX (Developer eXperience & Evangelism), a través de su blog 

En resumen, de las 36 áreas de especialidad que existen se reducen a 10 y ahora se llaman "categorías", y cada categoría tiene varias áreas de contribución, la parte de "consumer" como por ejemplo Excel, Outlook, Word, etc. No sufrió cambios, ya que se trata de tecnologías que no han sufrido fuertes transformaciones, como si lo han hecho el resto de tecnologías, y sobre todo desde la era Cloud, ahora estamos en un mundo heterogéneo lleno de dispositivos cosas en la nube interoperabilidad  entre tecnologías, el mundo Open Source, DevOps y todas estas cosas que estamos viviendo hoy en día hacen que muchas de las especialidades tuvieran que re-diseñarse.

Ahora es posible que un MVP pueda ser reconocido por múltiples tecnologías o áreas de especialidad y no solo por una como siempre había sido, esto es algo bueno, ya que Microsoft por fin ha entendido que un MVP puede dominar múltiples tecnologías y debería ser reconocido por cada una de ellas, la siguiente tabla muestra algunas de las categorías y sus respectivas áreas de contribución.

(Clic para ampliar)

En mi caso, he sido reconocido como MVP es la especialidad técnica: Directory Services, ahora según estos cambios y si llego a ser reconocido nuevamente como MVP pasaría a la categoría Enterprise Mobility, no estoy seguro si este nuevo nombre me guste más, la verdad prefiero el anterior, siento algo de limitación con este título al foco real que tenemos los MVPs de Directory Services, si bien tenemos que ver en temas de movilidad no es nuestro 100% de hecho algunos MVPs ni tocan el tema de movilidad, pero este título hará pensar lo contrario, hubiese sido ideal una categoría de Identidad y Acceso, sin embargo en términos generales estoy contento con los cambios en el programa, considero que los cambios son buenos y necesarios en nuestra vida, al principio pueden generar algo de confusión pero luego los entenderemos y acogeremos.

Sin embargo, por ahora lo más importante es seguir desempeñando el papel que siempre hemos hecho en las comunidades técnicas de Microsoft que es compartir el conocimiento.

Un saludo a todos y esperemos más adelante que tan traumáticos pueden llegar a ser estos cambios.

Iniciar sesión en Windows 10 con cuenta en Azure Active Directory

martes, 6 de octubre de 2015


Una de las novedades del sistema operativo Windows 10 es precisamente esta, la de poder iniciar sesión con una cuenta que se encuentre almacenada en la nube, específicamente en Azure AD, ya que  por ejemplo en Windows 8 se puede iniciar sesión con una cuenta Microsoft, pero ahora podemos por ejemplo usar una cuenta de Office 365 o Intune, ahora veamos cómo hacerlo.

Lo primero que debemos hacer es ingresar al portal de administración de Azure, y en el panel de la izquierda ubicar Active Directory


Seleccionamos el directorio al cual queremos unir el dispositivo con Windows 10, en mi caso cesarherrada, y en las opciones de la parte superior seleccionamos Configurar


Bajamos y ubicamos la parte de Dispositivos y activamos la opción TODO en Los usuarios pueden inscribir dispositivos en Azure AD


Con esto hemos terminado las acciones necesarias desde el portal de Azure, ahora debemos ir al equipo con Windows 10 y unirlo a Azure AD, para ello vamos al menú Inicio y seleccionamos Configuración



Luego, clic en Sistema


En la parte inferior del menú de opciones de sistema hacemos clic en Acerca de en el panel de la derecha observaremos la opción Unirse a Azure AD



Hacemos clic en Siguiente cuando aparezca el siguiente mensaje.


Proporcionamos los datos de la cuenta y contraseña del usuario existente en Azure AD


Aparecerá un mensaje para verificar si es nuestra organización, hacemos clic en Unirse


Esperamos unos instantes....



Y por último indicará que el proceso ha finalizado.


Ahora podemos observar que nos ofrece desconectarnos en caso de que asó lo deseemos.


Ahora solo nos resta cerrar sesión, y elegir la opción Otro usuario con eso nos solicitará credenciales, que para mi caso son las correspondientes al usuario ctorres@cesarherrada.com


Nos solicitará la creación de un PIN que por ahora no usaremos parta efectos de esta prueba, aunque es recomendado hacerlo, por ahora por simplicidad haré clic en Omitir por ahora



Con esto hemos iniciado sesión con una cuenta almacenada en Azure AD, a continuación la verificación.



O también podemos ejecutar un whoami donde podemos observar azuread\[nombreusuario]


Y bien, esto es todo por hoy. 

Espero sea de utilidad esta información.



Cómo restablecer contraseña olvidada de VM en Azure

sábado, 26 de septiembre de 2015


Bien, en esta ocasión veremos una forma rápida y sencilla para restablecer la contraseña olvidada de una máquina virtual en Azure, es más común de lo que parece olvidar una contraseña de alguna máquina en Azure, y el problema radica en que si olvidamos la contraseña de qué otra forma podemos ingresar, ya que el único acceso que tenemos normalmente es por RDP, veremos como restablecerla desde el portal de vista previa, ya que el portal clásico no ofrece esta opción.

Existe otra forma de restablecer la contraseña y es mediante el agente de máquina virtual (VMAccess), que viene seleccionado por defecto al crear una máquina virtual (ver imagen), pero esta opción la explicaré en otro artículo, empezaré con esta ya que resulta más rápida y sencilla.




Una vez ingresamos al portal de azure (manage.windowsazure.com), hacemos clic en elnombre del usuario de la suscripción, en la parte superior derecha de la pantalla, del menú que se despliega seleccionamos la opción Cambiar al portal de vista previa de Azure


Se abrirá una nueva página con el portal de vista previa, de las opciones de la izquierda seleccionamos Máquinas virtuales (clásico), ya que la máquina fue creada desde el portal clásico.


Aparecerá la lista de máquinas que tengamos desplegadas, en mi caso solamente tengo una llamada SRV01.


seleccionamos la máquina para que nos aparezcan todas las acciones que podemos realizar sobre la misma, y en la parte de Configuración podemos observar la opción Restablecimiento de contraseña




Ahora simplemente proporcionamos los datos para restablecer la cuenta administrador integrada, no importa si no recordamos el nombre, simplemente si especificamos otro distinto será renombrada la cuenta, en mi caso la cuenta se llama cherrada ahora la llamaré nuevoadmin y le pondré una nueva contraseña.


Ahora, intentaré el ingreso por RDP con los nuevos datos.


Vemos que efectivamente me ha aceptado las nuevas credenciales de administrador local.


El inicio en mi VM ha sido exitoso, ahora si revisamos la consola de Usuarios y Grupos locales podemos observar la cuenta de administrador integrada ya renombrada.


Bueno amigos, esto es todo, espero esta información les sea de utilidad. Hasta la próxima!



Azure Active Directory y sus diferencias con Windows Active Directory

sábado, 19 de septiembre de 2015


Para muchas personas no es clara la diferencia que existe entre Azure Active Directory y Windows Active Directory.


A primera vista se puede pensar que Azure Active Directory es el mismo Active Directory que conocemos en el mundo on-premise con la diferencia de que se encuentra en la "nube", es decir; en Microsoft Azure, pero esto en realidad no es así, y precisamente ese es el objetivo de este artículo, comprender las diferencias que existen entre los dos, iniciemos explicando lo que es el Active Directory on-premise que ya conocemos.

Windows Active Directory 

Generalmente se encuentra aislado del resto del mundo.

Si se requiere comunicación con el mundo externo se hace necesario abrir una gran cantidad de puertos para lograrlo, y posiblemente nos enfrentemos a conflictos de DNS de Internet y nuestra zona interna.

Azure Active Directory

Azure Active Directory (AAD), es un servicio basado en la web de gran escala para la administración de identidad y acceso, éste servicio se encuentra alojado en los centros de datos de Microsoft, y nos permite gestionar todo lo relacionado con identidades, acceso a aplicaciones, auditoria, reportes, autenticación multifactor, y regularmente se agregan nuevas características y posibilidades.

Aunque su nombre es similar al Active Directory que ya conocemos, AAD NO son instancias de Windows Server Active Directory en controladores de dominio ubicados en los centros de datos de Azure, Aunque tiene algunas similitudes tales como:
  • Usuarios
  • Grupos
  • Contenido que se replica

Pero carece de otras cosas típicas de Windows Active Directory (AD), como:
  • Unidades Organizativas (OUs)
  • Sitios
  • Unión de equipos al dominio (aunque Windows 10 permite usar una cuente en Azure para autenticarse, similar a como se hace hoy en día con las cuentas Microsoft.)
  • GPOs

¿Porqué necesitamos Azure Active Directory?

Hoy en día con la explosión de la nube las cosas han cambiado, los modelos a los cuales veníamos acostumbrados se han quedado atrás y ya se consideran obsoletos, me explico un poco mejor.

Las aplicaciones in-house cada vez pierden más sentido, el mantenimiento se hace más complejo, si se hacen cambios en la aplicación, se hacía necesaria la actualización de la misma, generalmente mediante paquetes que entrega el proveedor de la misma, y en algunos casos eran enviados incluso en CDROM.

El día de hoy, muchos proveedores de aplicaciones están migrando sus servicios a la nube, para ofrecer sus productos de software como servicio (SaaS), con esto el proveedor hace los cambios que requiera la aplicación en un solo lugar, y de inmediato todos sus clientes disfrutarán del cambio de manera automática.

Veamos un ejemplo de la utilidad de AAD.

Un proveedor de una aplicación corporativa que funciona en la intranet, y en un momento dado el proveedor decide llevar su aplicación a la nube, en ese momento requiere que cada usuario de la aplicación tenga un juego de credenciales (user/password) para poder ingresar a su aplicación recién alojada en la nube.

La siguiente imagen muestra el escenario antes de que el proveedor migrará su aplicación a la nube, con el fin de ofrecer el servicio de la misma a otras empresas, ya "montado" el proveedor en al nube, pronto la aplicación on-premise que utiliza autenticación contra un AD local dejará de ser mantenida por el mismo.

                                                                 Aplicación on-premise

Una vez la aplicación fue llevada a la nube el usuario no podrá utilizar sus credenciales de red, es decir; no podrá autenticarse contra AD, en su lugar deberá tener un juego de credenciales que se almacenará probablemente en una base de datos en los servidores alojados en la nube donde se aloja ahora la aplicación, tal como se muestra en la siguiente imagen:

                                                              Aplicación en la nube (SaaS)

Lo anterior obliga a que el usuario tenga que memorizar otro juego de credenciales diferentes a las de red para ingresar a la aplicación, y lo mismo tendrá que hacer no solo con esta aplicación sino con cualquier otra que aplicación externa que el usuario necesite.


Ahora el proveedor de la aplicación toma la sabia y excelente decisión de integrar su aplicación con AAD

¿Porqué es una buena decisión?, porque el usuario podrá autenticarse en la aplicación en la nube pero utilizando las mismas credenciales de red. Con esto si el usuario se retira de la compañía, el administrador simplemente deshabilita el usuario en Active Directory local, y este cambio se replicará hacia AAD, lo cual impide que el usuario siga ingresando a la aplicación, se tendrá un manejo centralizado de las identidades y para todas las aplicaciones sin importar que la aplicación se encuentre fuera de la red corporativa.

Aplicación integrada con Azure Active Directory (AAD)

Como se puede apreciar en la imagen anterior, el usuario inicia sesión en la aplicación utilizando las mismas credenciales de la red corporativa, gracias a que dichas credenciales están siendo sincronizadas desde el AD local hacia AAD. ¿ahora tiene más sentido? en lugar de estar administrando identidades separadas para cada aplicación o servicio, se administran todas desde una sola ubicación, con esto los beneficios son grandes:

  • El proveedor de la aplicación administra y actualiza la misma, adiciona mejoras, etc.
  • Las credenciales son las mismas de red y son administradas por TI en Active Directory local
  • Las aplicaciones están disponibles desde cualquier dispositivo (Smartphone, Tablet, PC)


En el portal de Azure, podemos encontrar cientos de aplicaciones que se integran con AAD listas para usar.

¿Se puede interactuar con AAD como se hace con AD mediante LDAP?

No es posible, LDAP no está expuesto externamente, pero para consultar, leer y escribir en AAD, se puede hacer uso del módulo de PowerShell para Azure Active Directory o utilizar la interface Graph-API basada en REST

Al tratarse AAD de un servicio web la forma de consultar cambia, mientras una típica consulta LDAP en Active Directory luce como la siguiente:

(&(objectCategory=person)(objectClass=user)(cn=Cesar Herrada)

La misma consulta en AAD utilizando Graph luce así:

GET https://graph.windows.net/azurecloud.la/Users?$filter=displayName eq 'Cesar Herrada'&api-version=2013-04-05

¿Se puede tener una réplica de Active Directory local en Azure?

No es posible tener una réplica más allá de lo que mencionamos anteriormente, es decir; la sincronización de usuarios, contraseñas y grupos.

Lo que SI podemos tener es una réplica de un controlador de dominio on-premise en Azure el cual se encuentra conectado al centro de datos local a través de una conexión VPN, en este caso Azure lo podemos ver como un sitio más de Active Directory, como si se tratase de un sitio externo, por ejemplo para escenarios de recuperación de desastres.

Del mismo modo, podemos tener una instancia de máquina virtual (VM) en Azure, y le instalamos los servicios de dominio de Active Directory para convertirla en un controlador de dominio, en este caso no tenemos conexión alguna con el sitio on-premise. Este escenario es ideal para temas de desarrollo y prueba de aplicaciones.

En resumen, tenemos las siguientes posibilidades:

Sincronización de contraseñas

Permite la sincronización de usuarios y sus contraseñas a AAD



Sincronización de Identidades con federación

Con identidad federada se requieren los servicios de federación de Active Directory, para la autenticación, la aplicación en la nube enviará la solicitud al servidor de federación, quién emitirá un token para el usuario si las credenciales son validas.



Conexión entre red local y red de Azure

En este caso tenemos la red local de nuestro centro de datos conectada a la red de Azure donde se encuentra un controlador de dominio, esto se hace a través de una VPN


Directorio independiente en Azure

En este escenario no existe conexión alguna entre el directorio local y AAD, se trata simplemente de un controlador de dominio aislado montado sobre una instancia de máquina virtual en Azure, el cual provee autenticación a cualquier aplicación en la nube que lo requiera.



¿Cómo se administra Azure Active Directory?

Algo muy común que podemos preguntarnos es cómo se administra AAD, se puede utilizar la clásica consola Equipos y Usuarios de Active Directory, la respuesta es no, la administración de los usuarios se hace desde la sección Active Directory del portal de Azure, y claramente también se puede hacer desde PowerShell utilizando el módulo destinado para ello, a continuación se muestra la administración hecha desde el portal de Azure.


E incorpora algunas  herramientas para administrar los usuarios


Pero claramente, muchas cosas se pueden seguir manejando de manera local y serán replicadas a la nube, por ejemplo el cambio de una contraseña, creación de un usuario, cambio de una descripción, pueden ser trabajados localmente en Active Directory y luego serán sincronizados.

¿Azure Active Directory maneja Kerberos, NTLM y otros protocolos?

AAD es un servicio basado en la web que admite múltiples dispositivos, múltiples plataformas, por lo cual no se basa en los mismos protocolos con los que estamos familiarizados en el mundo on-premise, en su lugar se usan protocolos basados en la web tales como: SAML 2.0, WS-Federation, OAuth, OpenID, REST Graph, entre otros.


Básicamente podemos concluir que Azure Active Directory es un servicio orientado específicamente al tema de autenticación de aplicaciones basadas en la nube, mientras que Windows Active Directory, es orientado especialmente al mundo on-premise, ya que además de el manejo de identidad y acceso permite la administración centralizada de cambios y configuraciones en una red basada en Windows.

Espero con este artículo haber aclarado algunas de las diferencias que existen entre el Active Directory local y el de la nube, y claramente también se pretende resaltar las características de AAD y entender que se trata de una pieza clave si queremos llevar o desarrollar nuestras aplicaciones en la nube.

Restaurar carpeta compartida NETLOGON

jueves, 17 de septiembre de 2015


En un controlador de dominio con Windows Server 2012 R2, al ingresar por ruta UNC no aparece el recurso compartido Netlogon, únicamente se puede apreciar la carpeta Sysvol , tal como se muestra en la siguiente imagen.

Bien, para restaurar el recurso compartido Netlogon, se deben realizar las siguientes tareas.

1. Abrir el editor del registro (regedit.exe) y expandir la siguiente rama:

   HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

Ubicar la llave SysvolReady podemos apreciar que su valor se encuentra establecido en 1



Edite el valor y cámbielo por 0 y luego clic en OK



Lo editamos nuevamente, y dejamos el valor otra vez en 1 y hacemos clic en OK



Después de este cambio, cerramos el editor del registro y volvemos a revisar los recursos compartidos en el controlador de dominio.

Como se puede apreciar, el recursos compartido Netlogon se ha vuelto a crear.

Y esto es todo amigos!

 

Lo más visto

Comunidad

Comunidad
Comunidad Técnica

Visitas