2

問題の解決策を 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>

続行方法について何か考えがある人はいますか?おそらく接続の問題があると思いますが、公開されているイメージの一覧を取得できます。デバッグをさらに進める方法がわかりません。

4

2 に答える 2

1

EC2 接続に関連付けられているアカウント資格情報が AMI へのアクセスを許可されていないことを伝えようとしていると思います。別のアカウントで作成されたのではないでしょうか?

于 2013-03-13T17:49:47.143 に答える
0

リージョンを指定せずに、キーと ID のみで接続できるはずです。

from boto.ec2.connection import EC2Connection

connection = EC2Connection(<S3_ACCESSKEYID>, <S3_SECRETACCESSKEY>)
print connection

私に与えます:

EC2Connection:ec2.us-east-1.amazonaws.com

それが役立つことを願っています。

于 2013-03-13T16:03:22.617 に答える