Azure ARC: Administracion de servidores en entornos híbridos
Uno de los elementos que más se esta implantando en empresas y organizaciones según diferentes estudios de iniciativas de adopción del Cloud es el governance de los servicios Cloud.
Muchas de esas empresas y organizaciones tienen entornos híbridos con maquinas en diferentes proveedores Cloud o con maquinas y servicios en su infraestructura local. Es decir, tienen entornos híbridos. Entonces, si tenemos esa variedad de entornos ¿qué herramientas de gobierno utilizamos? Microsoft anuncio a finales de 2019 Azure ARC, una forma de llevar el governance y administración de los servicios de Azure a entornos híbridos.
Las principales características que aporta Azure ARC son:
- Inventario y organización de los recursos de un entorno híbrido asociando herramientas de Azure como inventariado, grupos de recursos, suscripciones, grupos de administración y etiquetas.
- Governance mediante la aplicación de servicios de Azure como directivas, security center y control de acceso basado en roles. Integración Azure Resource Graph.
- Herramientas operativas y de implementación de Azure, como Azure Monitor, Azure update e integración Github.
- Experiencia unificada de gestión y acceso a todos los recursos mediante Azure Portal, API, SDK, CLI o Powershell.
Dentro de los tres elementos que hoy podemos configurar dentro del servicio de Azure ARC esta la administracion de servidores. Esto nos va a permitir gestionar servidores físicos o virtuales independientemente de si son servidores onpremises o en otras nubes públicas. Azure ARC aprovecha las capacidades de Azure Resource Manager para extenderlas a servidores local o multicloud, pudiendo así tener elementos como etiquetado, Policies, RBAC o extensiones.
Azure ARC requiere la instalación de un agente local “Azure Connected Machine” en cada una de las maquinas que se planea conectar a Azure. Cuando este agente se despliega y registra, esta maquina se convierte en una maquina híbrida y se trata como un recurso de Azure, permitiéndote por ejemplo aplicar Directivas de Azure.
Vamos a hacer un pequeño despliegue de Azure ARC sobre una VM local. Para ello vamos a habilitar Azure ARC en nuestra suscripción y vamos a la opción de administrar servidores.
Añadiremos las maquinas mediante un script que nos proporciona el propio asistente de Azure ARC. Para instalaciones masivas se puede consultar el procedimiento aquí.
Generamos el Script.
Es necesario registrar y habilitar el registro en la suscripción para los servidores. Esto provocara que cuando ejecutemos el script se genere un código para hacer el registro de la maquina desde una URL.
Vemos el código del script generado, verificando que todo es correcto y lo descargamos.
Ahora nos vamos a ir a una maquina, en este caso una maquina física local, y vamos a ejecutar el script.
Nos indica que naveguemos a la URL https://microsoft.com/devicelogin e introduzcamos el código generado. Con esto registramos la maquina en Azure ARC.
Finalizada la ejecución del script, nos vamos al portal. Podemos ver como aparece ya la maquina que acabamos de registrar.
Una vez que tenemos la maquina, vamos a ver que podemos hacer con ella. Lo primero que vemos en el Overview son los datos de la maquina en sí, de igual manera que si fuera una máquina de Azure.
Pero lo interesante es ver qué podemos hacer con esta maquin. Por ejemplo, podemos agregarle extensiones como agente de dependencias o de monitorización. A día de hoy existen 6 extensiones posibles que podemos desplegar:
- Custom Script Extension for Linux – Azure Arc.
- DSCForLinux extension para Ubuntu.
- OMS Agent for Linux – Azure Arc.
- Custom Script Extension para Windows – Azure Arc.
- PowerShell Desired State Configuration – Azure Arc.
- Microsoft Monitoring Agent -Azurer ARC.
Podemos añadirle bloqueos o aplicarle directivas como si fuera una maquina en Azure y de esta forma unificar el control de requerimientos de maquinas entre Azure y OnPremise.
Otro elemento común en nuestros servidores de Azure es la monitorización y gestión de logs. Con las extensiones desplegadas dentro de la maquina podemos utilizar Azure Logs o Insight para monitorizar nuestra VM o aplicaciones.
Por último, tres elementos adicionales, gestión de actualizaciones, inventariado y sesión de cambios en las maquinas. Aunque desde el portal de Azure no nos lo permite hacer (en versión preview no está disponible aún), si creamos una cuenta de automatización y desde ella activamos el tracking e inventariado del servidor a nuestro log Analytics podremos activar la gestión de cambios y el inventariado como vemos a continuación.
De igual forma activamos la gestión de actualizaciones.
Y obtenemos al cabo del tiempo un inventario de aplicaciones y tracking de nuestra maquina.