[英]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.