2012-11-24 10 views
5

프로그래밍 방식으로 EBS을 사용하여 Ubuntu 12.04 LTS Server 64 비트를 실행하려고합니다. 나는 다음과 같은 코드를 작성했습니다 : 그러나InvalidAMIID.NotFound, AWS 오류 메시지 : AMI ID 'ami-c1aaabb5'가 없습니다.

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 Error Code: InvalidAMIID.NotFound, AWS Error Message: The AMI ID 'ami-c1aaabb5' does not exist

내가 찾은를 그 인스턴스 ID 아마존 AWS 콘솔과이 URL에서 : http://cloud-images.ubuntu.com/releases/precise/release-20121001/

내가 뭘 잘못하고 있니?

답변

6

기본적으로 요청은 미국 버지니아 데이터 센터로 전송되어 정확한 엔드 포인트를 설정하여 문제가 해결되었습니다.

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; 
} 
+1

아! 그 시간이 많이 절약되었습니다! – Shankar

+0

코드를 열 수는 있었지만 그 정도 생각할 기회가 있기 전에 게시물이 저장되었습니다. 많은 감사합니다. – Stephano

관련 문제