Java InvalidAMIID.NotFound,AWS错误消息:AMI ID';ami-c1aaabb5';不存在
我正在尝试以编程方式启动一个64位的Ubuntu 12.04 LTS服务器,带有EBS。我编写了以下代码:Java InvalidAMIID.NotFound,AWS错误消息:AMI ID';ami-c1aaabb5';不存在,java,amazon-ec2,amazon,Java,Amazon Ec2,Amazon,我正在尝试以编程方式启动一个64位的Ubuntu 12.04 LTS服务器,带有EBS。我编写了以下代码: Placement placement = new Placement("eu-west-1b"); RunInstancesRequest runInstancesRequest = new RunInstancesRequest() .withPlacement(placement).withInstanceType("t1.micro") .withImageId("
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();
安置=新安置(“eu-west-1b”);
RunInstanceRequest RunInstanceRequest=新的RunInstanceRequest()
.withPlacement(placement).withInstanceType(“t1.micro”)
.withImageId(“ami-c1aaabb5”)。withMinCount(1)。withMaxCount(1)
.WithSecurityGroupId(“testGroup”)。withKeyName(“testKey”)
.withUserData(Base64.encodeBase64String(startupScript.getBytes());
runInstanceResult runInstances=amazonEC2.runInstances(runInstancesRequest);
列表实例=runInstances.getReservation().getInstances();
但是,我得到了这个错误:
AWS错误代码:InvalidAMIID.NotFound,AWS错误消息:
AMI ID“AMI-c1aaabb5”不存在
我在Amazon AWS控制台和以下URL中找到了该实例Id:
我做错了什么?我发现,默认情况下,请求会发送到美国弗吉尼亚数据中心,设置正确的端点解决了问题
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;
}
啊!!这节省了我很多时间!我本来可以打开密码的,但在我有机会想那么多之前,你的帖子救了我。非常感谢。