No hay ningún modelo de evento u otra señal generada por el SDK para indicarle cuándo un objeto EC2 cambia de estado: la única manera de averiguarlo es emitir una llamada DescribeXXXXXXXX al objeto repetidamente, digamos una vez cada 30 segundos, hasta que el campo de estado cambie.
Hay un tiempo mínimo finito para que la llamada se ejecute y responda, por lo que debe encontrar un intervalo que no active las solicitudes antes de que la anterior se haya completado. O simplemente espere la respuesta y espere otros 'n' segundos antes de volver a emitir la llamada. Tampoco desea enviar spam a la API de AWS con solicitudes rápidas, incluso si están cronometradas entre las respuestas. En mi aplicación de controlador, configuro el intervalo en 30 segundos, emite la solicitud, espero la respuesta y luego resta el tiempo transcurrido del intervalo y duermo todo ese tiempo. En un modelo multiproceso, puedo realizar un seguimiento de los cambios de estado en muchos objetos simultáneamente sin saturar mi CPU local o la API.
Una vez que se ha detectado el cambio de estado (y suponiendo que el nuevo estado es el esperado - no olvide manejar los modos de falla) puede obtener una amplia variedad de información descriptiva, incluida la dirección DNS pública (en el caso de objetos instancia) de la estructura devuelta en el objeto de respuesta API.
hacer la nota hay una pregunta similar para los usuarios de shell http://stackoverflow.com/questions/2644742/getting-id-of-an-instance-newly-launched-with-ec2-api-tools y la respuesta es la misma, tienes que sondear (prueba repetidamente). – bortzmeyer