boto3を使用してAWSに接続し、Elastic Load Balancer(ELB)の背後にあるWebサーバーインスタンスを管理しています。問題は、私がELBにアクセスできないということです。インスタンスのような他の既存のリソースにアクセスできるのです。出力はこのようなものですAWS SDKを使用したAWS Elastic Load Balancerへのアクセス
ec2 = boto3.resource('ec2', region_name="us-east-2")
instances = ec2.instances.all()
for instance in instances.all():
print(instance)
:以下のコードを実行することにより
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
、私が見ることを期待し、私は、コードのこの部分を実行している間、例えば、私は私の実行中のインスタンスを見ることができます私ELBs:
elb = boto3.client('elb', region_name="us-east-2")
elbs = elb.describe_load_balancers()
print(elbs)
しかし、出力は次のようである:
{'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}}
出力でわかるように、LoadBalancerDescriptions
にはELBはありませんが、API refferenceによれば、既存のELBの名前が含まれている必要があります。
Pythonのコードが動作しない理由を私は知らない。しかし、私は正常に動作します私のコンソールでのELBを持っています。