2015-03-11 1 views

Répondre

0

DescribeInstances API est celui que vous cherchez. Il renvoie l'ID VPC de l'instance.

+0

Je l'ai examiné. ça ne fait pas ça. Pourriez-vous m'aider à trouver un filtre approprié? Peut-être que je ne fais pas quelque chose de bien. – ihsan

1

Vous pouvez utiliser le cadre de Boto Python (vous n'avez pas besoin d'installer quoi que ce soit, il est déjà là)

Exemple:

python -c "import boto.utils as u; print u.get_instance_metadata()['network']['interfaces']['macs'].values()[0]['vpc-id']" 

sur EC2:

[[email protected] ~]$ python -c "import boto.utils as u; print u.get_instance_metadata()['network']['interfaces']['macs'].values()[0]['vpc-id']" 
vpc-55ff1a123 

Ou si vous êtes pas sur le réseau AWS, vous pouvez utiliser aws cli avec describe-instances et --query paramètre:

aws ec2 describe-instances --instance-id i-6fedd222 --query 'Reservations[0].Instances[0].NetworkInterfaces[0].VpcId' 

[email protected]:~/workspace$ aws ec2 describe-instances --instance-id i-6fedd222 --query 'Reservations[0].Instances[0].NetworkInterfaces[0].VpcId' 
"vpc-55ff1a123" 
2

Voici un exemple de la façon dont vous pouvez obtenir l'ID vpc pour les instances aws. Utilisez les filtres DescribeInstancesRequest lorsque vous invoquez describeInstances() pour restreindre votre résultat.

AmazonEC2Client ec2Client = new AmazonEC2Client(); 
DescribeInstancesResult describeInstanceResult = ec2Client.describeInstances(); 
List<Reservation> reservations = describeInstanceResult.getReservations(); 
for (Reservation reservation : reservations) {  
    for (Instance instance : reservation.getInstances()) { 
     System.out.println(instance.getVpcId());  
    } 
}