InvalidAMIID.NotFound,AWS 错误消息:AMI ID 'ami-c1aaabb5' 不存在

Posted

技术标签:

【中文标题】InvalidAMIID.NotFound,AWS 错误消息:AMI ID \'ami-c1aaabb5\' 不存在【英文标题】:InvalidAMIID.NotFound, AWS Error Message: The AMI ID 'ami-c1aaabb5' does not existInvalidAMIID.NotFound,AWS 错误消息:AMI ID 'ami-c1aaabb5' 不存在 【发布时间】:2012-11-12 15:27:50 【问题描述】:

我正在尝试以编程方式启动带有 EBS 的 Ubuntu 12.04 LTS Server 64 位。我写了以下代码:

Placement placement = new Placement("eu-west-1b");
RunInstancesRequest runInstancesRequest = new RunInstancesRequest()
    .withPlacement(placement).withInstanceType("t1.micro")
    .withImageId("ami-c1aaabb5").withMinCount(1).withMaxCount(1)
    .withSecurityGroupIds("testGroup").withKeyName("testKey")
    .withUserData(Base64.encodeBase64String(startupScript.getBytes()));
RunInstancesResult runInstances = amazonEC2.runInstances(runInstancesRequest);
List<Instance> instances = runInstances.getReservation().getInstances();

但是,我收到此错误:

AWS 错误代码:InvalidAMIID.NotFound,AWS 错误消息: AMI ID 'ami-c1aaabb5' 不存在

我在 Amazon AWS 控制台和以下 URL 中找到了该实例 ID:http://cloud-images.ubuntu.com/releases/precise/release-20121001/

我做错了什么?

【问题讨论】:

【参考方案1】:

我发现,默认情况下,请求被发送到美国弗吉尼亚数据中心,设置正确的端点解决了问题。

public AmazonEC2 createAmazonEC2() 
    AmazonEC2 ec2 = new AmazonEC2Client(createAwsCredentials());
    ec2.setEndpoint("https://eu-west-1.ec2.amazonaws.com");
    return ec2;


private AWSCredentials createAwsCredentials() 
    AWSCredentials credentials = new BasicAWSCredentials(awsAccessKey, awsSecretKey);
    return credentials;

【讨论】:

啊!这为我节省了很多时间! 我本可以打开代码,但是在我有机会思考那么多之前,你的帖子救了我。非常感谢。

以上是关于InvalidAMIID.NotFound,AWS 错误消息:AMI ID 'ami-c1aaabb5' 不存在的主要内容,如果未能解决你的问题,请参考以下文章

AWS — AWS Local Zone

AWS — AWS 上的 NFV

AWS — AWS Wavelength

云-AWS-百科:AWS

AWS — AWS 上的 5G 网络

AWS — AWS 上的 5G 网络及 MEC 边缘计算商业案例