Je parcourt la liste des instances en cours d'exécution renvoyée par l'API DescribeInstances. Je voudrais savoir comment puis-je récupérer la zone de disponibilité pour chacune de ces instances.Comment obtenir les détails de la zone de disponibilité pour une instance en cours d'exécution
Répondre
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).
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.
La zone de disponibilité est accessible avec:
instance.getPlacement().getAvailabilityZone();
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
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
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. –
Cette API est-elle disponible dans le SDK .NET? je ne pouvais pas le localiser. –
quel langage de programmation avez-vous utilisé? Dans l'API python boto c'est 'instance.placement ==" us-west-2a "' –
c'est la bonne réponse pour Java. –