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.