Gobierno de la Nube
11 mayo, 2023
5 min.

Es poco común que los administradores de sistemas enfrenten problemas con el Agente de SSM en una instancia EC2 Windows Server de  AWS. Se puede encontrar el siguiente caso cuando la instancia EC2 windows server es desplegada a partir de una AMI Personalizada:

Cuando el agente SSM esta instalado y no se encuentra ejecutandose dentro de la instancia EC2.

En este caso es importante realizar las medidas necesarias para solucionarlo este problema lo antes posible, de esta forma garantizar una correcta gestión y automatización de las instancias EC2. Si intentamos ingresar a nuestra instancia EC2 Windows mediante la conexión SSM tendremos la siguiente advertencia:

Blog 1

Esto hace referencia a validar si el Agente SSM está instalado, de la misma forma si se tiene el rol y la política de IAM correspondiente para la interacción de System Manager con nuestra instancia EC2 Windows.

Solución
Validar Iam Role en la instancia EC2 Windows

Como primer paso validamos que nuestra instancia EC2 Windows tiene adjunto un Rol de IAM, como ejemplo tengo el Rol “BuRoleFor01LT“ el cual tiene la politica “AmazonSSMManagedInstanceCore“ esto nos permitirá habilitar la funcionalidad principal del servicio de AWS Systems Manager

Blog 2

Luego de validar nuestro Rol de IAM, ingresamos a al servidor EC2 Windows mediante RDP y abrimos una terminal de PowerShell para ejecutamos los siguientes comandos:

  • Este comando muestra el nombre de la AWS CLI de todas las configuraciones que ha establecido, pero para nuestro caso tendríamos las credenciales otorgadas por el Role de IAM.

    Blog 3
  • Este segundo comando permite mostrar la información de nuestra instancia y de la misma forma esta divido por categorías, una de esas categorías permite enviar las credenciales temporales de nuestro Role de IAM a nuestra instancia.

    Blog 4

Luego de ejecutar los comandos anteriores podremos verificar que nuestra instancia no está obteniendo la metadata, por lo cual no tenemos credenciales para nuestro AWS CLI y esto ocasiona que nuestro Agente SSM no se ejecute dentro de nuestra instancia EC2 Windows

Blog 5

Para resolver este problema ejecutaremos la siguiente secuencia de comandos:

  • Primero reiniciaremos la tabla de rutas en nuestro servidor desde PowerShell, esto permitirá que nuestro Gateway Address apunte a un punto de enlace que se encuentre dentro de nuestra red interna

Blog 6

  • Luego validamos una vez más nuestra metadata con el siguiente comandos

Blog 6

  • Igualmente procedemos a verificar nuevamente nuestras credenciales temporales otorgadas por nuestro Role IAM.

Blog 8

Como paso siguiente ejecutamos este comando para reiniciar nuestra instancia EC2 Windows.

Blog 9

Luego de eso ingresamos a nuestra instancia para ejecutar el siguiente comando en PowerShell, esto permitirá validar la ejecución de nuestro agente SSM.

Blog 10

Lo realizado puedo demorar aproximadamente 10 minutos en tomar efecto, luego validamos la opción de conectar nuestra instancia con SSM desde la consola de EC2.

Blog 11

Solución alternativa

Si este no fuera su caso de solución recomendamos generar nuevamente su AMI personalizada con Sysprep. La herramienta de Sysprep otorgada por Microsoft elimina información única de una instancia EC2 Windows AWS, Incluido los identificadores de seguridad (SID) de la instancia, el nombre de la computadora, y los controladores.

Como primer paso ingremos a nuestra instancia mediante el protocolo RDP, luego nos dirigimos al inicio de windows y seleccionamos “Ec2LaunchSettings

Blog 12

Una vez visualicemos la siguiente interfaz, seleccionamos “Administrator Password” como “Random” y como paso siguiente damos clic en “Shutdown with Sysprep”

Blog 13Blog 13

Esperamos unos minutos para que complete el apagado de la instancia (1-3 minutos Aprox).

Una vez que validamos que se apagó por completo la instancia, procedemos a generar una AMI personalizada.

Blog 15

En esta sección asignamos un nombre a nuestra AMI, damos check a No Reboot “Enable”, y para finalizar damos clic en “Create Imagen”

Blog 16Blog 17

Esperamos a que se complete la creación de la imagen AMI personalizada (5-8min aprox). Luego de realizar este proceso tendremos disponible nuestra AMI personalizada reutilizable.

En conclusión la solución propuesta incluye verificar la existencia de un Rol de IAM con la política "AmazonSSMManagedInstanceCore" adjunto a la instancia, reiniciar la tabla de rutas y validar la metadata para obtener las credenciales temporales del Rol de IAM. Si esto no funciona, se sugiere generar una nueva AMI personalizada utilizando la herramienta de Sysprep de Microsoft. Estos pasos asegurarán que el Agente SSM esté en funcionamiento y permitirá el uso adecuado de las instancias EC2 Windows en AWS en el futuro.

img

Descarga nuestro último eBook:

Liderando el cambio hacia una migración exitosa.