Como parchear servidores en AWS
Tags: aws, ec2, cloud
Published: 2022-04-06 18:35:31

Una de las principales dudas de los equipos TI en relación con el aprovisionamiento de infraestructura en la Nube AWS o cualquier Nube en realidad, es como parchear servidores en AWS y más específicamente las instancias EC2.

La respuesta corta a esta pregunta es a través de su servicio AWS Systems Manager (con la abreviatura SSM) y en concreto con la funcionalidad [Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html).

Sin embargo, hay que mencionar que la solución AWS Systems Manager no solamente nos ayuda con la aplicación de parches a nivel del Sistema Operativo y a nivel del Software instalado, también nos ofrece una administración y monitorización completa de los recursos desplegados en AWS e incluso de los recursos On-premises que deseemos adicionar a su gestión.

![AWS Systems Manager](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l44zr2cyhu6j3rt4d1hm.png)

Es realmente impresionante el nivel de gestión que se puede alcanzar con esta herramienta para toda tu infraestructura, te animo mirar todas las posibilidades en la página [Características de AWS Systems Manager](http://aws.amazon.com/es/systems-manager/features). Por supuesto, si deseas tener una versión resumida de esta herramienta, me dejas saber en los comentarios 🙂.

## Aplicando parches en instancias EC2 en AWS

Vale resaltar que no es lo mismo parchear 2 o 3 instancias EC2 que parchear decenas, cientos o miles de instancias distribuidas en varias regiones a lo largo de AWS.


![Ejemplo esquema operacional de aplicación de parches en AWS (Blog Aplicación de parches a sus instancias de Windows EC2 con AWS Systems Manager Patch Manager de Stefan Minhas)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7umg78jp79iypkzvuph.png)

A continuación vamos a describir un conjunto de pasos para poder aplicar los parches en instancias EC2 en AWS:

El primer paso, y parte de las buenas prácticas de aprovisionamiento de recursos en AWS, es marcar los mismos a través de AWS Tags, que son etiquetas asociadas a los recursos aprovisionados en AWS que nos permitirán identificarlos y clasificarlos de acuerdo a nuestra estrategia de Gobierno TI.

Ya ingresando al servicio AWS Systems Manager o SSM, el segundo paso es usar una Línea Base (Baseline) predefinida en la opción Patch Manager de este servicio; esta es una definición de Sistema Operativo y criticidad de actualizaciones preestablecida, y que es aplicable a nuestras instancias EC2.

Claro que tú puedes crear tu propia Línea Base, si tienes algún requerimiento especial que no encuentres en las múltiples opciones que encontrarás predefinidas allí.

Luego, como tercer paso, y que mi criterio es muy recomendado, especialmente si tienes desde decenas de servidores o un nivel de continuidad de negocio que lo exige, es crear Grupos para Parches (Patch groups) en tu definición de Línea Base. La idea es identificar con una etiqueta a un grupo de instancias a parchear que contengan esa definición en sus AWS Tags.

¡Ten cuidado!, y por esto es importante tener definidos Grupos para Parches, ya que AWS no prueba los parches antes de ponerlos a disposición en Patch Manager, porque pertenecen en su mayoría a los fabricantes del Software.

**AWS no prueba los parches antes de ponerlos a disposición en Patch Manager.**

La definición de una ventana de cambios (Maintenance Windows) viene a ser el cuarto paso, y se la define a través del servicio AWS Systems Manager. Aquí vamos a especificar el horario, la duración y la recurrencia en la cual se va a ejecutar las acciones asociadas a la misma.

El quinto paso, y el más largo, es asociar la ventana de mantenimiento con la Línea Base y el Grupo para Parches, aunque también podrías asociarla con instancias específicas EC2 lo cual no sería recomendado y práctico.

El comando objetivo para correr la Línea Base definida es “AWS-RunPatchBaseline” y lo observarás en las opciones correspondientes en Patch Manager.

Patch Manager no admite actualizaciones de versiones principales (major versions) de Sistemas Operativos como ir de Windows Server 2019 a 2022 o RHEL 7 a RHEL 8.

¡Listo!, una vez realizado estos pasos, está automatizado el proceso de aplicación de parches en tus instancias EC2 en AWS y lo podrás monitorizar desde la opción Managed Instances en el servicio AWS Systems Manager.

Te recomiendo ver una versión más detallada de este proceso en el Blog [Aplicación de parches a sus instancias de Windows EC2 con AWS Systems Manager Patch Manager de Stefan Minhas](https://aws.amazon.com/es/blogs/mt/patching-your-windows-ec2-instances-using-aws-systems-manager-patch-manager/) 😉.

## Conclusiones

Es completamente posible automatizar la aplicación de parches en los recursos en AWS incluso en instancias On-premises que han sido asociadas al servicio AWS Systems Manager.

AWS Systems Manager es un servicio para la gestión y monitorización de los recursos en AWS que nos permite mantener una administración adecuada de la Nube.

Patch Manager nos provee de Líneas Base predefinidas para mantener actualizados a nuestros servidores de forma automática, pero es importante comprender que AWS no prueba estás actualizaciones previamente ya que en su mayoría son de terceros, por lo que debemos considerarlo en nuestra estrategia de gestión.

Patch Manager maneja solamente actualizaciones menores (minor versions), no está pensado para hacer migraciones de versiones principales.

Hay muchas otras opciones de Patch Manager que no se han visto en esta guía de como parchear los servidores en AWS, como notificaciones, reportes y evaluación de cumplimiento; sin embargo, son muy útiles ya en un escenario empresarial y deberían considerarse.