未经图像授权:boto3错误

时间:2017-03-10 12:17:24

标签: python amazon-web-services boto3 ami

我正在尝试运行此脚本:

from __future__ import print_function

import paramiko
import boto3


#print('Loading function')

paramiko.util.log_to_file("/tmp/Dawny.log")

# List of EC2 variables
region = 'us-east-1'
image = 'ami-<>'
keyname = '<>.pem'

ec2 = boto3.resource('ec2')


instances = ec2.create_instances(
    ImageId=image, MinCount=1, MaxCount=1, 
    InstanceType = 't2.micro', KeyName=keyname)

instance = instances[0]
instance.wait_until_running()

instance.load()

print(instance.public_dns_name)

我在已完成所有aws配置的服务器上运行此脚本(在aws configure中)

而且,当我运行它时,我收到此错误:

  

botocore.exceptions.ClientError:调用RunInstances操作时发生错误(AuthFailure):未获得图像授权:   [ami-&LT;&GT;]

有什么理由?而且,我该如何解决?

[图片是私密的。但是,正如我在服务器上配置boto,从技术上讲,这应该不是问题,对吧?]

2 个答案:

答案 0 :(得分:1)

此错误答案很少

  1. 参数不足,但create_instance会给出您的其他错误。例如缺少VPC-id,子网ID,安全组。

  2. 凭据中的API访问密钥无权启动运行实例。请转到IAM并检查您的用户是否有足够的角色来执行任务。

答案 1 :(得分:0)

如果尝试使用密钥对文件名而不是AWS控制台> EC2>密钥对

中的实际名称,则可能会遇到此错误。
aws ec2 run-instances --image-id ami-123457916 --instance-type t3.nano 
--key-name **my_ec2_keypair.pem**

应该是KeyPair的名称,而不是KeyPair的文件名。