1

したがって、実行中のすべてのインスタンスをbotoでフェッチしようとしています:

import boto
conn = boto.connect_ec2(aws_access_key_id='...',aws_secret_access_key='...')
conn.get_all_instances();

しかし、実行中のインスタンスはありますが、空のリストが表示されます。

デバッグを 2 に上げると、以下が表示されます。

[DEBUG]:validating server certificate: hostname=ec2.us-east-1.amazonaws.com, certificate hosts=['ec2.us-east-1.amazonaws.com', 'ec2.amazon...
reply: 'HTTP/1.1 200 OK\r\n'
header: Content-Type: text/xml;charset=UTF-8
header: Transfer-Encoding: chunked
header: Date: Sun, 16 Jun 2013 09:45:00 GMT
header: Server: AmazonEC2
2013-06-16 09:45:00,982 foo [DEBUG]:<?xml version="1.0" encoding="UTF-8"?>
<DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2013-02-01/">
  <requestId>b30bbc2f-f553-419e-87db-6e453a3051f4</requestId>
  <reservationSet/>
</DescribeInstancesResponse>

よろしくお願いします

4

2 に答える 2

1

混乱を避けるために、デフォルトの us-east-1 に依存するのではなく、接続するリージョンを指定することをお勧めします。これを試して:

>>> import boto
>>> import boto.ec2
>>> region = boto.ec2.get_region('us-west-1', aws_access_key_id=access_key, aws_secret_access_key=secret_key)
>>> print region
RegionInfo:us-west-1
>>> conn = boto.connect_ec2(aws_access_key_id=access_key,aws_secret_access_key=secret_key,region=region)
>>> conn.get_all_instances()
[Reservation:r-xxxx, Reservation:r-xxxx]
于 2013-09-23T01:27:55.437 に答える