2017-06-12 1 views
0

J'utilise boto v2.46.1 pour interroger l'API AWS afin de répertorier les instances ELB.boto affiche la liste vide lors de l'interrogation des équilibreurs de charge à partir de l'API AWS

Il existe un équilibreur de charge classique dans la zone us-east-1. Cependant, tous mes essais produisent simplement une liste vide. J'ai essayé:

  • accès direct shell Python:

    >>> from boto.ec2 import elb 
    >>> conn = elb.connect_to_region('us-east-1', aws_access_key_id="...", aws_secret_access_key="...") 
    >>> conn.get_all_load_balancers() 
    [] 
    
  • via les outils de ligne de commande aws (en utilisant boto sous le capot, aussi)

  • via ec2_elb_facts Module de Ansible (où la question est apparue en premier)

Je me suis assuré, que

  • J'ai utilisé la bonne région.
  • Je suis autorisé à voir n'importe quoi en utilisant un utilisateur API avec des droits d'administrateur.

Y at-il quelque chose d'évident, que j'ai raté? Pourquoi mon équilibreur de charge n'est-il pas trouvé dans cette configuration plutôt banale?

Répondre

1

Cela fonctionne très bien pour moi!

j'ai fait ce qui suit:

  • créé un Balancer classique de charge
  • Testée avec la commande AWS Command-Line Interface (CLI)aws elb describe-load-balancers - il a énuméré mon Load Balancer
  • Ran votre code, il est retourné [LoadBalancer:stackoverflow]

Vérifiez que vous pouvez l'afficher avec l'AWS CLI. Si vous avez créé un équilibreur de charge d'application, il s'affiche uniquement à l'aide de l'API elbv2.

+0

Merci pour la réponse! Je savais que c'était quelque chose de trivial. Apparemment, j'étais mal orienté, et ce n'est pas un «classique», mais un équilibreur de charge «Application». Fonctionne comme un charme avec 'aws elbv2'. – Boldewyn