Il n'existe aucun modèle d'événement ou autre signal généré par le SDK pour vous avertir lorsqu'un objet EC2 change d'état - la seule façon de savoir est d'émettre un appel DescribeXXXXXXXX sur l'objet de manière répétée, disons une fois toutes les 30 secondes, jusqu'à ce que le champ d'état change.
L'appel doit s'exécuter et répondre dans un délai minimum. Vous devez donc trouver un intervalle qui ne déclenche pas les requêtes avant la fin de l'appel précédent. Ou attendez simplement la réponse, puis attendez encore 'n' secondes avant de réémettre l'appel. Vous ne voulez pas non plus que l'API AWS soit spammée par des requêtes rapides, même si elles sont synchronisées entre les réponses. Dans mon application de contrôleur, je règle l'intervalle à 30 secondes, émet la demande, attend la réponse, puis soustrais le temps écoulé de l'intervalle et dors aussi longtemps. Dans un modèle multithread, je peux ainsi suivre les changements d'état sur de nombreux objets simultanément sans submerger mon processeur local ou l'API. Une fois que le changement d'état a été détecté (et en supposant que le nouvel état est ce que vous attendez - n'oubliez pas de gérer les modes de défaillance) vous pouvez obtenir une grande variété d'informations descriptives, y compris l'adresse DNS publique (dans le cas des objets d'instance) à partir de la structure renvoyée dans l'objet de réponse API.
Prenez note il y a une question similaire pour les utilisateurs de shell http://stackoverflow.com/questions/2644742/getting-id-of-an-instance-newly-launched-with-ec2-api-tools et la réponse est la même, vous devez interroger (tester à plusieurs reprises). – bortzmeyer