0

提供されたインターフェイスを介して EC2 インスタンスを作成し、AWS API を使用して既存の実行中のインスタンスに接続していますが、次のコードを実行すると、「You have 0 Amazon EC2 instance(s) running.」というメッセージが表示されます。

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."); 

何が問題なのかについて何か考えはありますか?

4

1 に答える 1

2

インスタンスが実際に稼働していることを再確認した場合、それらはおそらく「us-east-1」インスタンス リージョン (AWS SDK が想定するデフォルトのリージョン) にありません。

したがって、AmazonEC2Clientインスタンスが正しいエンドポイントを指すように設定すると、すべてがうまくいくはずです。たとえば、ヨーロッパ (アイルランド) の場合は次のようになります。

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

詳細と、エンドポイント文字列を見つけることができる場所へのリンクは、このSO answerにあります。

于 2013-09-25T13:33:03.407 に答える