簡體   English   中英

從Boto運行私有AMI ec2實例

[英]Run a private AMI ec2 instance from boto

我一直在尋找解決問題的方法,已有兩天了,但是我絲毫沒有暗示使用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>

有人對如何進行有任何想法嗎? 我認為可能存在連接問題,但是我可以獲取公共圖像列表。 我不知道如何進一步調試。

我認為它試圖告訴您與您的EC2連接關聯的帳戶憑據未獲得訪問AMI的權限。 也許是用其他帳戶創建的?

您應該只能使用密鑰和ID進行連接,因此無需指定區域:

from boto.ec2.connection import EC2Connection

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

給我:

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

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM