2012-08-01 30 views
3

我創建使用AWS Java SDK中我的情況和我的功能看起來像這樣使用java sdk查找新創建的AWS實例的ID和IP地址?

private static void createInstance() 
      throws AmazonServiceException, AmazonClientException, InterruptedException 
    { 
    RunInstancesRequest runInstancesRequest = new RunInstancesRequest() 
      .withInstanceType("m1.small") 
      .withImageId("my_ami") 
      .withMinCount(1) 
      .withMaxCount(1) 
      .withKeyName("my_key") 
      ; 
    RunInstancesResult runInstances = ec2.runInstances(runInstancesRequest); 
    } 

,並找到所有正在運行的實例的IP地址是這樣的:

public static ArrayList<String> findIPs(){ 

     ArrayList<String> myArr = new ArrayList<String>(); 

     DescribeInstancesResult describeInstancesRequest = ec2.describeInstances(); 
     List<Reservation> reservations = describeInstancesRequest.getReservations(); 
     Set<Instance> instances = new HashSet<Instance>(); 

     for (Reservation reservation : reservations) { 
      instances.addAll(reservation.getInstances()); 
      if(reservation.getInstances().get(0).getPrivateIpAddress()!= null) 
      { 


        myArr.add(reservation.getInstances().get(0).getPrivateIpAddress()); 


      } 


     } 
     return myArr; 
    } 

我想知道實例ID和最近創建的IP地址。有人可以請指導我,我怎麼能找到最近創建的AWS instance.Thanks

回答

1

看來你已經是那裏的方式90%......

調用getInstances的ID和IP地址()在預訂中獲取所有實例的列表。然後在每個實例上調用getLaunchTime()以獲取其啓動時間。

這是否適合您?