2010-12-09 46 views

Répondre

0

Je ne suis pas sûr s'il y a une API pour cela, mais une méthode rapide et sale consiste à regarder l'adresse IP de l'instance. Chaque zone a sa propre plage IP (même si AWS ne le garantit pas).

-2

Il n'y a pas d'API pour cela:

Je l'ai fait comme suit: 1. Utilisez API pour obtenir les zones actuellement disponibles. 2. Parcourez les zones renvoyées, définissez le filtre sur DescribeInstances pour chacune d'elles et obtenez les détails de l'instance.

11

La zone de disponibilité est accessible avec:

instance.getPlacement().getAvailabilityZone(); 
+0

Cette API est-elle disponible dans le SDK .NET? je ne pouvais pas le localiser. –

+0

quel langage de programmation avez-vous utilisé? Dans l'API python boto c'est 'instance.placement ==" us-west-2a "' –

+0

c'est la bonne réponse pour Java. –

11

Surpris personne n'a encore publié ce billet, qui est le meilleur, le plus rapide et plus simple de le faire autant que je sache.

curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone 
+0

C'est une bonne chose à savoir, mais ne répond pas réellement à la question posée. C'est quelque chose que vous pourriez faire à l'intérieur d'une instance, et non lors d'une itération à travers des instances utilisant l'API. – Steve

+0

Bon point, @Steve. Je suppose que si vous aviez les clés ssh, vous pourriez envoyer cette commande à chaque instance dans une boucle, mais c'est vrai que j'ai mal lu la question. –