2015-02-09 45 views
1

这可能是唯一对我而言的问题。我正在使用带有AWS插件的eclipse来试用AWS EC2实例。这些实例通过程序成功启动,我得到了运行实例的ID列表。以编程方式创建的AWS EC2实例未在浏览器中显示

问题是我推出了三种情况下,他们没有显示在浏览器中运行的情况下,虽然显示了在Eclipse控制台:

#5 Describe Current Instances 
You have 3 Amazon EC2 instances 
i-801cc37a running 
i-fb1ec101 running 
i-bc1cc346 shutting-down 

enter image description here

这是我的代码我使用的是创建AWS实例:

final String imageId = "ami-76f0061f"; 
int maxInstance = 1, minInstance = 1; 

RunInstancesRequest rireq = new RunInstancesRequest(imageId, minInstance, maxInstance); 
RunInstancesResult rires = ec2.runInstances(rireq); 
List<Instance> insres = rires.getReservation().getInstances(); 

String createdInstanceId = null; 
for(Instance ins: insres) { 
    createdInstanceId = ins.getInstanceId(); 
    System.out.println("New Instance has been created: " + ins.getInstanceId()); 
} 

有我面临的一个问题; ImageId是由我的教授给我的,它不在我的地区的aws.amazon网站的图像列表中。但是,只有这个有效。我从我的地区的网站获得了两个ID,但他们以InvalidAMIID.NotFound错误结束。我甚至尝试了解决方案here。这可能与浏览器不显示,因为ImageId不在我的区域...

任何人都可以请告诉我,我哪里会出错?或者这很正常。如果这是正常的,是否有“编程”实例显示在浏览器中。如果ImageIds是问题,我可以请知道如何解决它?我保证eclipse和aws网站上的地区是一样的:俄勒冈州(us-west-2)。

谢谢

+0

如果你确实使用AMI'ami-76f0061f'。它只在我们东1可用。这个特定的AMI已经过时了。你可以在这里得到最新版本:http://aws.amazon.com/amazon-linux-ami/ – datasage 2015-02-10 00:06:07

+0

@datasage,但没有别的似乎工作,我的意思是从我的地区俄勒冈州。正如我所提到的,我得到了'InvalidAMIID.NotFound',在你的区域外使用实例最终显示在浏览器中的实例列表中?我是新的请解释。 – 2015-02-10 00:08:43

+1

您的SDK代码连接到我们 - east-1。这就是为什么你找不到其他AMI的原因。本页解释如何设置您的区域:http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-region-selection.html – datasage 2015-02-10 00:13:21

回答

0

更改控制台中的区域。根据您的屏幕截图,它设置为"Oregon"。将其更改为"N. Virginia",您应该全部设置。

+0

这可行,但请解释一下,为什么我无法从我的地区创建实例? eclipse配置中的区域是俄勒冈州,IAM控制台位于俄勒冈州,我从俄勒冈州获得可用图像列表,但我无法连接!我得到'InvalidAMIID.NotFound'错误,例如我使用了'ami-dfc39aef' – 2015-02-11 14:47:10

+0

没关系,非常感谢您的帮助。来自@datasage的链接修正了它:'ec2.setRegion(Region.getRegion(Regions.US_WEST_2));'。你的答案是OP :) – 2015-02-11 14:59:59