J'utilise donc boto3 pour me connecter à AWS et gérer mes instances de serveur Web qui se trouvent derrière un Elastic Load Balancer (ELB). Le problème est que je n'ai pas accès à mon ELB, c'est pendant que j'ai accès aux autres ressources existantes comme des instances. Par exemple, alors que je suis en ce morceau de code, je peux voir mes instances en cours d'exécution:Accès à AWS Elastic Load Balancer avec AWS SDK pour python
ec2 = boto3.resource('ec2', region_name="us-east-2")
instances = ec2.instances.all()
for instance in instances.all():
print(instance)
La sortie est comme ceci:
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
En exécutant le code ci-dessous, je pense voir mes ELB:
elb = boto3.client('elb', region_name="us-east-2")
elbs = elb.describe_load_balancers()
print(elbs)
Mais la sortie est comme ceci:
{'LoadBalancerDescriptions': [], 'ResponseMetadata': {'RequestId': 'f813b2d3-b5e8-11e7-8b34-73b6f3d263a2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f813b2d3-b5e8-11e7-8b34-73b6f3d263a2','content-type': 'text/xml', 'content-length': '335', 'date': 'Fri, 20 Oct 2017 22:49:45 GMT'}, 'RetryAttempts': 0}}
Comme vous pouvez le voir dans la sortie, il n'y a pas d'ELB dans LoadBalancerDescriptions
, alors que selon le API refference, il devrait contenir le nom des ELB existants. Mais j'ai un ELB dans ma console qui fonctionne très bien:
Je ne sais pas pourquoi le code python ne fonctionne pas.