Inicio de EC2: ¿cómo saber cuándo está listo Windows?

10

Estoy trabajando con Amazon EC2, y tengo algunas AMI de Windows respaldadas con EBS. Cuando inicio una nueva instancia desde una instantánea de EBS, el servicio EC2Config prepara la máquina Windows para mí. Sé cuándo EC2Config está hecho porque puedo verificar la salida de la consola de la instancia; una vez que dice "Windows está listo", sé que estoy bien.

Lo que estoy buscando es una forma de decir que "Windows está listo" desde el propio sistema operativo. Creo que la URL de metadatos a la que se puede acceder desde el sistema operativo me diría esto, pero no puedo encontrar ningún valor apropiado.

http://169.254.169.254/latest/meta-data/

Mi objetivo es ejecutar scripts de configuración una vez que "Windows está listo". Algunas de mis tareas de configuración deben asegurarme de que la máquina esté completamente configurada antes de comenzar, especialmente si EC2Config cambia el nombre de la computadora y se reinicia. Podría escribir algo usando las herramientas EC2 o C # ... pero eso requeriría que use mis claves AWS en mis AMI (que no quiero hacer). Idealmente, me gustaría ver algo en la máquina para saber cuándo puedo iniciar la configuración, algo así como una entrada de EventLog, ver un archivo de texto, verificar la URL de metadatos, etc.

Pregunta complementaria: podría usar un buen artículo sobre exactamente lo que el proceso de agrupación / desagregación hace a las máquinas EBS.

Dan
fuente

Respuestas:

14

El EC2Config está configurado de forma predeterminada para cambiar el nombre del host en el primer inicio. Cambiar el nombre del host en Windows requiere un reinicio y, por lo tanto, cada instancia se reinicia una vez después del primer inicio. Puede deshabilitar el cambio de nombre del host si no utiliza el DNS interno para la instancia. Más detalles aquí:

Servicio de configuración de Windows: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

El servicio EC2Config también tiene su propio archivo de registro dentro de la instancia:

C: \ Archivos de programa \ Amazon \ Ec2ConfigService \ Logs \ Ec2ConfigLog.txt

Y este archivo debe tener los detalles relevantes del servicio EC2Config que está viendo en la salida de la consola de Amazon. Aquí hay un fragmento de una de mis instancias:

===== Iniciar Ec2RebootInstance en un nuevo subproceso =======
Ec2InitializeDrives: Disco encontrado: \. \ PHYSICALDRIVE0
Comprobando los volúmenes actuales para cualquier cambio de nombre de dispositivo
C: está montado con el nombre del volumen
Apertura del mango del puerto COM para escribir en el consola
Ec2RebootInstance: esperando que todos los subprocesos terminen
Ec2InitializeDrives: inicialización finalizada. Plugin saliendo ...
Ec2RebootInstance: Comprobando si algún hilo solicitó reiniciar
Ec2RebootInstance: Windows está listo para usar El
envío de eventos Windows está listo para usar para todos

Ec2RebootInstance: Monitoreo para solicitudes de reinicio.

Ameer Deen
fuente
Perfecto, esto es exactamente lo que necesitaba. Gracias.
Dan
Hola Dan, si esto funcionara para ti, ¿te importaría votar la respuesta como útil :)? Soy nuevo en este sitio, pero creo que el voto debería aumentar de cero cuando lo haga.
Ameer Deen
¿De dónde vino la línea "Enviar ventanas de eventos listas para usar a todos"? ¡Eso no está en mis registros y me encantaría ese evento!
davemyron