2013-09-25 51 views
0

我通過所提供的接口創建一個EC2實例的API運行的實例,我現在用的是AWS API連接到現有的運行實例,但是當我運行下面的代碼,我得到「你有0 Amazon EC2實例(S)運行「:EC2 - 連接到使用

DescribeAvailabilityZonesResult availabilityZonesResult = ec2.describeAvailabilityZones(); 
System.out.println("You have access to " + availabilityZonesResult.getAvailabilityZones().size() + 
       " Availability Zones."); 

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

for (Reservation reservation : reservations) { 
    instances.addAll(reservation.getInstances()); 
} 

System.out.println("You have " + instances.size() + " Amazon EC2 instance(s) running."); 

你有什麼可能是這個問題的任何想法嗎?

回答

2

如果雙重檢查你的情況下,實際上是建立和運行,他們極有可能不是在「美東1」的實例區域(這是一個默認的AWS SDK假設)。

因此請設置AmazonEC2Client實例指向正確的終點,一切都應該罰款,如歐洲(愛爾蘭):

ec2.setEndpoint("ec2.eu-west-1.amazonaws.com"); 

更多細節,以及鏈接,在這裏你可以找到端點字符串,在這個SO answer

+0

非常感謝,它工作。有沒有辦法自動獲取這些信息? – Dio

+0

我至少沒有意識到任何這樣的方法。 –