2011-02-02 29 views
7

Hay una gran variación en los tiempos de inicio de Windows AMI (EBS-backed) que estoy usando. Algunos comienzan en solo 3 minutos. Otros pueden tomar más de 20 minutos. Según entiendo, las AMI de Windows predeterminadas pueden ser lentas, ya que requieren dos reinicios para activarse, pero en mi caso se trata de máquinas personalizadas, públicas o instantáneas que he creado.AMI realmente lento inicia


En una nota similar, que fue la recuperación de los archivos de registro en la consola EC2 saber cuando se inicia mi máquina. Sin embargo, algunas de las máquinas NO parecen generar ningún registro? Entonces, de manera realista, tengo un tiempo de inicio variable y registro variable, en cuyo caso ¿cómo puedo decir realmente que una máquina con Windows se ha convertido en accesible?

Respuesta

1

Independientemente de la fuente de su Windows AMI, se reiniciará varias veces durante el proceso de inicio antes de que esté disponible a través de RDP. Todas las AMI de Windows se derivan de las AMI de Windows producidas por Amazon, que tienen este proceso de arranque por diseño. [Se ha sugerido que este proceso de arranque está codificado en un kernel personalizado que se ejecuta dentro de la VM invitada.]

Los registros de la consola tardan entre 2 y 5 minutos en aparecer.

Desafortunadamente, Windows en EC2 es más difícil de automatizar y rastrear que Linux. Las personas RightScale y Scalr han hecho un excelente trabajo integrando Windows en su plataforma de gestión. Y la herramienta de administración de configuración Opscode Chef también es compatible con Windows en EC2 y puede ayudarlo a descubrir cuándo sus instancias están listas para su uso.

5

Es hace tomar una cantidad variable de tiempo para iniciar una Windows AMI en EC2. Puede minimizarlo, un poco, configurando un nombre de máquina fijo para la instancia. Haga esto como lo haría en cualquier computadora con Windows, en las propiedades de "Mi PC", pestaña "Nombre del equipo". A continuación, ejecute "Configuración de EC2ConfigService" en la lista "Todos los programas" del menú Inicio. Ese programa está instalado allí por Amazon en la mayoría de las AMI básicas. En ese programa, en la pestaña "General", desactive "Establecer nombre de computadora". Esto elimina el reinicio del sistema una vez al iniciar la imagen, como debería ser, para establecer el nombre.

embargo, que le gustaría ser notificado cuando la instancia está listo! Este es un trabajo perfecto para el Servicio de notificación simple de Amazon. El servicio (también conocido como SNS) es fácil de usar mediante programación (desde un proyecto Windows .NET, por ejemplo), gratuito (para los primeros 100.000 mensajes, menos de 1 gb en total), y las notificaciones son inmediatas.

código para enviar una notificación (en VB.NET):

Imports Amazon.EC2.AmazonEC2Client 
    Imports Amazon.SimpleNotificationService 
    DIM LabSNS As New AmazonSimpleNotificationServiceClient(Lab_AWSKey, Lab_AWSSecretKey) 
    Dim PubReq As New Amazon.SimpleNotificationService.Model.PublishRequest 
    Dim Msg As String 'Messege to be built up, then be sent. It is body of eMail. 
    Msg = "The instance is running and ready!" 
    Msg = Msg + vbCrLf + "Previous State of machine was:" & PreviousState 'A made-up global 
    Msg = Msg + [Any other info. I want to send myself about the start of the instance.] 
    PubReq.WithTopicArn(Topic)'Topic is a global. It's value is a key from SNS topic setup. 
    PubReq.WithSubject("EC2 Instance is Ready!") 
    PubReq.WithMessage(Msg) 
    LabSNS.Publish(PubReq) 

El código requiere amazónica de SDK for .NET que es gratuito. Escriba un programa que incluya algún código como el anterior. Configure el programa para que se ejecute después de que se inicie la computadora, y antes de iniciar sesión, utilizando el Programador de tareas de Windows: cree una tarea desencadenada "al inicio del sistema" que llama al programa.

La configuración de SNS se documenta aquí: SNS Documentation

Se parece a un montón de problemas para enviar correo electrónico, sin embargo, el medio ambiente EC2 de Amazon es muy restrictivo cuando se trata de enviar correo electrónico. Muchos han tratado de usar EC2 como una plataforma de spam, por lo que Amazon ha sido exhaustiva en el bloqueo del tráfico SMTP (eMail), a excepción de lo prescrito por Amazon. No puede abrir un puerto en el grupo de seguridad de Amazon para eludir los bloques de Amazon.

Amazon tiene una función general de correo electrónico que se puede usar desde EC2. Se llama Amazon Simple Email Service (SES). Eso no funcionará bien para usted, ya que está diseñado para correo electrónico masivo. Entonces, los precios, el manejo de excepciones y los mensajes de SES no encajarán bien con lo que necesita, no creo.

SNS, por otro lado funciona muy bien para esto. Incluye un correo electrónico inicial para los destinatarios (usted y tal vez otros que desee notificar que su servidor esté en línea) preguntándoles si desean recibir mensajes futuros sobre el tema; se les da una opción para optar por no participar, y deben responder para recibir más.

El proceso de instalación (que se muestra en los bloques anteriores) es fácilmente realizable desde AWS Management Console de Amazon. (Su pregunta implica que ya tiene una cuenta de AWS EC2 necesaria para esto). Una vez configurada, cualquier instancia lanzada desde la AMI enviaría un correo electrónico con toda la información (disponible para su programa) que elija tan pronto como la máquina esté Listo.

Estará listo para instalarse, y sólido como una roca en funcionamiento.

Cuestiones relacionadas