Systems Manager y automatización de operaciones

Aprende las funciones principales de Systems Manager: Patch Manager, Run Command, Session Manager y Parameter Store, explicado para principiantes.

Imagina gestionar quinientos servidores. Iniciar sesion en cada uno individualmente para aplicar parches de seguridad, instalar software y verificar el estado es practicamente imposible. AWS Systems Manager (SSM) resuelve este problema con gestion centralizada y automatizada.

 

Que es Systems Manager?

Piensa en Systems Manager como el sistema de gestion de edificios de un gran complejo de apartamentos. El administrador del edificio no visita cada apartamento individualmente. Desde una sala de control central, puede ver el estado de cada unidad, manejar problemas de forma remota y programar el mantenimiento de pisos enteros a la vez.

Hay dos requisitos previos antes de poder usar Systems Manager con cualquier instancia EC2. Primero, el SSM Agent debe estar instalado en la instancia. La mayoria de las AMIs oficiales de AWS como Amazon Linux 2 y Windows Server ya lo tienen preinstalado. Las AMIs personalizadas que crees necesitaran instalacion manual. Segundo, la instancia EC2 necesita un rol IAM con la politica AmazonSSMManagedInstanceCore adjunta. Sin este rol, la instancia no puede comunicarse con el servicio Systems Manager.

Si falta cualquiera de estos requisitos, ninguna de las funciones de Systems Manager funcionara en esa instancia.

 

Patch Manager — Automatizar parches de seguridad

Diriges una tienda en linea y el equipo de seguridad dice "aplica los ultimos parches de seguridad a todos los servidores antes del viernes a medianoche". Si tienes doscientos servidores, como lo haces? Patch Manager lo gestiona.

Patch Manager comienza con Patch Baselines, que son reglas que definen que parches aprobar automaticamente. AWS proporciona una linea de base predeterminada que aprueba automaticamente los parches de seguridad despues de siete dias. Puedes crear lineas de base personalizadas para aprobar parches especificos de inmediato o bloquear permanentemente ciertos parches que no deseas instalar.

Una vez que tienes una patch baseline, necesitas decidir cuando aplicar los parches. Ahi es donde entran las Maintenance Windows. Defines una ventana de tiempo como "cada domingo de 2 AM a 4 AM", un momento cuando el trafico de tu servicio es bajo. Durante esa ventana, Patch Manager aplica automaticamente los parches aprobados a las instancias objetivo.

Punto de examen: "Automatizar el parcheo de EC2 fuera del horario laboral" — la respuesta es Patch Manager mas Maintenance Window.

 

Run Command — Comandos remotos sin SSH

Necesitas desplegar un nuevo archivo de configuracion en doscientos servidores. El enfoque tradicional es conectarse por SSH a cada servidor, ejecutar el comando, repetir. Necesitas claves SSH, abrir el puerto 22 en los grupos de seguridad y repetir el proceso cientos de veces. Run Command elimina todo esto.

Con Run Command, escribes el comando una vez en la consola de AWS o CLI, seleccionas tus instancias objetivo usando etiquetas o IDs de instancia, y el comando se ejecuta en todas ellas simultaneamente.

Estas son las caracteristicas clave. No se necesitan claves SSH en absoluto. No necesitas abrir el puerto 22 en ningun grupo de seguridad. Si tus instancias tienen etiquetas como Environment=Production y Role=WebServer, puedes decir "ejecuta este comando en todas las instancias WebServer de Production" y las selecciona automaticamente. Los resultados se guardan en S3 o CloudWatch Logs automaticamente. La funcion Rate Control te permite configurar cuantas instancias se ejecutan simultaneamente y cuantos fallos permitir antes de detenerse.

Punto de examen: "Ejecutar scripts en cientos de instancias EC2 simultaneamente sin SSH" — la respuesta es Run Command.

 

Session Manager — Acceso seguro a servidores

El equipo de desarrollo necesita iniciar sesion en un servidor de produccion para revisar algunos registros. Tradicionalmente esto significa emitir claves SSH o enrutar a traves de un host bastion. Session Manager simplifica todo esto.

Session Manager te permite conectarte a una instancia EC2 sin SSH, RDP, hosts bastion ni reglas de grupo de seguridad de entrada. Haces clic en el boton "Connect" en la consola de AWS y se abre una terminal basada en navegador. Tambien puedes conectarte via AWS CLI.

Desde una perspectiva de seguridad, Session Manager es excepcionalmente solido. Cada sesion se registra automaticamente en AWS CloudTrail. Siempre tienes un registro de quien accedio a que servidor y cuando. Si lo deseas, el contenido completo de cada sesion, cada comando escrito y cada salida mostrada, puede guardarse en S3 o CloudWatch Logs.

Controlas el acceso mediante politicas IAM. Puedes restringir el acceso a instancias especificas, solo durante ciertas horas, o requerir MFA antes de conectarte.

Punto de examen: "El equipo de seguridad necesita auditar todos los accesos a servidores" o "Conectarse a EC2 sin SSH" — la respuesta es Session Manager.

 

State Manager — Mantener instancias en el estado deseado

Supongamos que un agente de monitoreo critico siempre debe estar ejecutandose en cada servidor. Pero alguien lo detiene accidentalmente, o un despliegue incorrecto lo elimina. State Manager evita la desviacion de la configuracion deseada.

State Manager mantiene un "estado deseado" para tus instancias. Creas una Association que dice "estas instancias siempre deben estar en esta configuracion". State Manager verifica periodicamente cada instancia y si se ha desviado del estado deseado, lo corrige automaticamente.

Un ejemplo: "El CloudWatch Agent siempre debe estar instalado y ejecutandose en todas las instancias EC2". Con esa Association en vigor, si el agente se detiene o desinstala, State Manager lo reinstala y reinicia automaticamente.

 

Automation — Crear Runbooks de auto-reparacion

A las 3 AM el CPU de tu servidor de produccion llega al 100%. Un ingeniero de guardia se despierta, inicia sesion, diagnostica el problema y reinicia el servidor, treinta minutos de sueno perdido. Con Automation, todo este proceso puede ocurrir sin intervencion humana.

Automation te permite crear Runbooks: flujos de trabajo de multiples pasos que se ejecutan automaticamente. AWS proporciona Runbooks ya preparados para tareas comunes como reiniciar una instancia EC2, crear una AMI o tomar un snapshot de EBS.

Tambien puedes crear Runbooks personalizados. Por ejemplo: "Cuando se dispare la alarma de CPU, capturar los procesos principales en S3, reiniciar la instancia y enviar notificacion de finalizacion". Multiples pasos encadenados en un flujo de trabajo automatizado.

Para operaciones criticas, puedes incluir pasos de aprobacion. "Antes de reiniciar la base de datos, requiere aprobacion del lider de operaciones". Esto te permite combinar automatizacion con supervision humana cuando sea necesario.

Conecta Automation a alarmas de CloudWatch o reglas de EventBridge y los Runbooks se activan automaticamente cuando ocurren eventos especificos.

Punto de examen: "Reiniciar automaticamente EC2 cuando se dispara una alarma de CloudWatch" — la respuesta es Automation Runbook mas CloudWatch Alarm.

!4 capacidades de Systems Manager

Parameter Store — Almacenar configuraciones y secretos de forma segura

Tu aplicacion necesita una direccion de base de datos, nombre de usuario y contrasena para conectarse. Poner estos valores directamente en tu codigo es un grave riesgo de seguridad. Parameter Store es el lugar correcto para almacenarlos.

Parameter Store tiene tres tipos de valores.

String almacena texto plano. Usalo para valores de configuracion no sensibles como direcciones de host de base de datos o endpoints de API.

StringList almacena una lista de valores separados por comas. Util para cosas como una lista de direcciones IP permitidas.

SecureString almacena el valor cifrado usando una clave KMS. Usalo para datos sensibles como contrasenas de bases de datos, claves API y certificados.

Puedes organizar los valores en una jerarquia: /myapp/prod/db/password te da una estructura limpia para gestionar valores en distintos entornos. El historial de versiones se rastrea automaticamente.

Parameter Store se compara frecuentemente con Secrets Manager. El nivel Standard de Parameter Store es gratuito; Secrets Manager tiene costo pero ofrece rotacion automatica de secretos. "Almacenar valores de configuracion cifrados de forma gratuita" apunta a Parameter Store SecureString. "Rotar automaticamente una contrasena de base de datos segun un programa" apunta a Secrets Manager.

Punto de examen: "Almacenar valores de configuracion cifrados sin costo" — la respuesta es Parameter Store SecureString.

 

EC2 Image Builder — Automatizar la creacion de AMIs doradas

Tu empresa mantiene una imagen de servidor estandar con toda la configuracion de seguridad, software y politicas ya incorporados. Esto se llama "AMI dorada". EC2 Image Builder automatiza la creacion y actualizacion de esta AMI dorada.

El pipeline funciona asi: selecciona una imagen base (Amazon Linux oficial de AWS, por ejemplo), define que software instalar y que configuraciones aplicar, ejecuta una fase de pruebas para verificar que la imagen es correcta, luego distribuye la imagen probada a una o mas regiones.

Puedes programar este pipeline para que se ejecute automaticamente cada vez que se publique un nuevo parche de seguridad, manteniendo tu AMI dorada siempre actualizada.

 

Inventory — Saber que esta instalado

Si necesitas saber que software esta instalado en cien servidores y en que version, Systems Manager Inventory recopila esa informacion automaticamente.

Desde un unico panel puedes ver las aplicaciones instaladas, la configuracion de red, el estado de actualizaciones de Windows y los servicios en ejecucion para cada instancia gestionada. Esto es util para encontrar rapidamente todos los servidores que ejecutan una version especifica de software, o para auditar el uso de licencias en toda tu flota.

 

Puntos clave para el examen

"Ejecutar comandos en cientos de servidores simultaneament

Volver a la lista del blog