Administración de Servidores On-Premises con Azure Arc
En el pasado Microsoft Ignite de 2019, uno de los mayores anuncios fue la presentación de Azure Arc.
A día de hoy está en versión preliminar y desde Azurebrains queremos explicaros en qué consiste este nuevo producto y cómo podemos utilizarlo en nuestra infraestructura.
Azure Arc está enfocado en escenarios híbridos, que son muy habituales en las organizaciones que están migrando o desplegando servicios a Azure. Ya conocemos las posibilidades de gestión que nos ofrece Azure Resource Manager para recursos que tenemos en la nube de Microsoft, como servidores Windows o Linux, clústeres Kubernetes, …, y Azure Arc nos permite extender estas capacidades de gestión a sistemas on-premises y multi-cloud:

https://azure.microsoft.com/es-es/services/azure-arc/
Una vez que una máquina on-premises, ya sea física o virtual, esté conectada a Azure Arc, podremos gestionar el acceso a la misma y aplicar políticas de la misma forma que haríamos con recursos nativos en Azure.
Para nuestro ejemplo vamos a partir de un servidor Windows Server 2016 que ya tenemos on-premises:

Para conectar este servidor con Azure Arc, empezamos buscando Azure Arc en el portal:

Y veremos varias opciones:

En nuestro caso vamos a “Manage Services”. En este momento, los sistemas operativos soportados son:
- Windows Server 2012 R2 o superior (incluyendo Windows Server Core)
- Ubuntu 16.04 and 18.04
- CentOS Linux 7
- SUSE Linux Enterprise Server (SLES) 15
- Red Hat Enterprise Linux (RHEL) 7
- Amazon Linux 7
Y está disponible en las regiones siguientes:
- WestUS2
- WestEurope
- WestAsia
Como aún no tenemos ninguna máquina conectada, empezaremos añadiendo una:

Y vemos que tenemos 2 métodos para conectar la máquina. Cualquiera de los dos requiere que en la máquina instalemos el agente Azure Connected Machine:

En nuestro ejemplo, como solo es una máquina la que queremos añadir, generaremos un script PowerShell para instalar este agente en nuestro servidor on-premises. Para generar este script nos pide algunos datos básicos, como la región donde se creará el recurso que representa a nuestro servidor y el sistema operativo (Windows o Linux):

Para hacer esta prueba tendremos que registrarnos para la preview, lo que es muy sencillo si seguimos el asistente de generación del script:

Simplemente con pulsar el botón “Register”, se inicia el proceso que puede llevar algunos minutos:

Si se ha completado el registro, ejecutamos el script en nuestro servidor con un usuario que tenga privilegios de administrador local:

Seguimos las instrucciones del script:


Es posible que obtengamos el siguiente error en la ejecución del script:

Para resolverlo, usamos el navegador (en este caso Internet Explorer) para ir a la URL que nos indican:
Y veremos el error del certificado. Pulsamos en “Continue to this website” y vemos que el certificado no es confiable:

Se debe a que la autoridad certificadora no es confiable para nuestro equipo:

Instalaremos el certificado de esta CA pulsando en “ameroot” y después en “View Certificate”. Por supuesto, en entornos de producción esto no es recomendable, pero estamos haciendo una prueba.

Instalamos el certificado para “Local Computer” y ya debe resolverse el problema:

Ya podemos ejecutar de nuevo el script y nos devolverá el siguiente resultado:

Donde vemos que a nuestra máquina le asigna un ID.
Si volvemos al portal de Azure, ya podremos ver nuestro servidor conectado a Azure Arc:

Y si pulsamos en el servidor conectado, veremos que ya podemos gestionar el acceso y aplicar políticas como a cualquier recurso en Azure:
