Невозможно связаться с сервисом метаданных EC2JAVA

Программисты JAVA общаются здесь
Anonymous
Невозможно связаться с сервисом метаданных EC2

Сообщение Anonymous »

Я пытаюсь получить идентификаторы экземпляра всех экземпляров EC2 в AWS с помощью AWS SDK. < /p>

AmazonEC2 ec2Service = null;
String aWSAccessId = "XXXXXXXXXXXXXXXXXXXX";
String aWSSecretKey = "XXXXXXXXXXXXXXXXXXXXX";
if (null != aWSAccessId && !"".equals(aWSAccessId)
&& null != aWSSecretKey && !"".equals(aWSSecretKey)) {
ec2Service = new AmazonEC2Client(new BasicAWSCredentials(aWSAccessId, aWSSecretKey));
}
DescribeInstancesResult result = ec2Service.describeInstances();
String instanceid = EC2MetadataUtils.getInstanceId();
String availabilityZone = EC2MetadataUtils.getAvailabilityZone();
System.out.println("availabilityZone-----> "+availabilityZone);
System.out.println("instanceid-----> "+instanceid);
List reservations = result.getReservations();
System.out.println("reservations-----> "+reservations.toString());

for (Reservation reservation : reservations)
{
List instances = reservation.getInstances();
System.out.println("instances-----> "+instances.size());
for (Instance instance : instances)
{

System.out.println("Instances----> "+instance.getInstanceId());
}
}
< /code>

Но я не могу получить экземпляры. Я также попытался использовать ec2metadatautils.java, чтобы получить детали, настраивая SDK в моем Eclipse IDE. < /p>

EC2MetadataUtils ec2Meta = new EC2MetadataUtils();
String amiId = ec2Meta.getAmiId();
System.out.println("Ec2 Metadata ----amiId---> "+amiId);

String availabilityZone = ec2Meta.getAvailabilityZone();
System.out.println("Ec2 Metadata ----AvailabilityZone---> "+availabilityZone);

/*String eC2InstanceRegion = ec2Meta.getEC2InstanceRegion();
System.out.println("Ec2 Metadata ----eC2InstanceRegion---> "+eC2InstanceRegion);*/

String instanceId = ec2Meta.getInstanceId();
System.out.println("Ec2 Metadata ----instanceId---> "+instanceId);

InstanceInfo instanceInfo = ec2Meta.getInstanceInfo();
System.out.println("Ec2 Metadata "+instanceInfo.getAccountId());
System.out.println("Ec2 Metadata "+instanceInfo.getInstanceId());
System.out.println("Ec2 Metadata "+instanceInfo.getPrivateIp());
System.out.println("Ec2 Metadata "+instanceInfo.getRegion());
System.out.println("Ec2 Metadata "+instanceInfo.getArchitecture());
System.out.println("Ec2 Metadata "+instanceInfo.getInstanceType());
System.out.println("Ec2 Metadata "+instanceInfo.getVersion());
System.out.println("Ec2 Metadata "+instanceInfo.getImageId());
String publicKey = EC2MetadataUtils.getPublicKey();
System.out.println("Ec2 Metadata "+publicKey);
IAMInfo AMInstanceProfileInfo = EC2MetadataUtils.getIAMInstanceProfileInfo();
System.out.println("Ec2 Metadata "+AMInstanceProfileInfo.lastUpdated);

String MacAddress = EC2MetadataUtils.getMacAddress();
System.out.println("Ec2 Metadata "+MacAddress);
< /code>

Но я получаю нуль только для исходных полей, и в конце концов я получаю приведенную ниже ошибку. < /p>

Ec2 Metadata null
Ec2 Metadata null
Ec2 Metadata null

Exception in thread "main" com.amazonaws.SdkClientException: Unable to contact EC2 metadata service.


Подробнее здесь: https://stackoverflow.com/questions/408 ... ta-service

Вернуться в «JAVA»