問題の解決策を 2 日間探していましたが、boto を使用してプライベート AMI を EC2 インスタンスとして実行する際に何が間違っているかについてのヒントはありません。その方法を明確に説明しているページや、私の問題を抱えている人は見たことがありません。
私の問題をより明確に説明するには:
Web インターフェイスでカスタム AMI を作成しました (いくつかのパッケージをインストールし、いくつかのファイルを追加しました)
今、コンピューターで Python スクリプトを使用して、AMI で実行しているタスクを自動化したいと考えています (可能であれば、この特定の AMI の複数のインスタンスを実行します)。
次のサンプルコードを書きました。
import boto.ec2 conn = boto.ec2.connect_to_region("eu-west-1", aws_access_key_id='myAKI',aws_secret_access_key='MySK') print (conn) reservation=conn.run_instances(image_id='ami-XXXXX', instance_type='m1.small',key_name='MyKey')
このコードを実行すると、エラーが発生します。
EC2Connection:ec2.eu-west-1.amazonaws.com
Traceback (most recent call last):
File "./myfile.py", line 6, in <module>
reservation=conn.run_instances(image_id='ami- XXXX',instance_type='m1.small',key_name='MyKey')
File "/Library/Python/2.7/site-packages/boto-2.8.0-py2.7.egg/boto/ec2/connection.py", line 722, in run_instances
verb='POST')
File "/Library/Python/2.7/site-packages/boto-2.8.0-py2.7.egg/boto/connection.py", line 1062, in get_object
raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>AuthFailure</Code><Message>Not authorized for images: [ami- XXXXXXX]</Message></Error></Errors><RequestID>6b653488-332d-4251-abb2-8e7e96e91891</RequestID> </Response>
続行方法について何か考えがある人はいますか?おそらく接続の問題があると思いますが、公開されているイメージの一覧を取得できます。デバッグをさらに進める方法がわかりません。