如何使用Java获取跨区域的所有实例

时间:2015-12-12 13:57:02

标签: java amazon-web-services amazon-ec2 aws-sdk

是否可以从所有地区获取包含所有实例(已停止并正在运行)的列表?我尝试了以下但没有得到所有实例(只有4个):

 DescribeInstancesResult describeInstances = ec2Client.describeInstances();
        List<Reservation> reservations = describeInstances.getReservations();

        for (Reservation reservation : reservations) {
            List<Instance> instances = reservation.getInstances();
             for (Instance instance : instances) {
                 System.out.println(instance.getInstanceId())
             }
        }

我认为我得到的实例是我用帐户创建的实例。其中一些是在我的帐户存在之前创建的。

PS:我的帐户有root权限,所以应该没问题。

2 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

for (Regions region : Regions.values()) {
    ec2Client.configureRegion(region);

    // Find instances for region        
}

答案 1 :(得分:1)

这对我有用。但是,我不得不改变一下:

for (Regions region : Regions.values()) { 
     ec2Client.setRegion(RegionUtils.getRegion(region.getName()));  

     DescribeInstancesResult describeInstances = c2Client.describeInstances();
...