EC2:如何获取实例的Vpc ID?

时间:2015-03-11 12:19:46

标签: java amazon-web-services amazon-ec2 amazon-vpc

我试图找出一个实例的vpc-id。任何人都可以参考一个可以解决这个问题的API吗?我正在使用java sdk。

4 个答案:

答案 0 :(得分:3)

您可以尝试在ec2-instance

中进行以下操作

首先,您需要找到实例的macid

<audio src="sound.mp3" type="audio/mp3" preload="auto" controls="controls" oncontextmenu="return false;">Audio could not be loaded.</audio>

并使用下面的macid

macid=$(curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/)

答案 1 :(得分:2)

您可以使用Python的boto框架(您不需要安装它已经存在的任何内容)

示例:

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

关于Ec2:

[ec2-user@ip-10-0-8-90 ~]$ python -c "import boto.utils as u; print u.get_instance_metadata()['network']['interfaces']['macs'].values()[0]['vpc-id']"
vpc-55ff1a123

或者,如果您不在AWS网络上,则可以将aws clidescribe-instances--query参数一起使用:

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

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

答案 2 :(得分:2)

以下是如何获取aws实例的vpc id的示例。在调用describeInstances()以限制结果时使用过滤器DescribeInstancesRequest。

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());    
   } 
}

答案 3 :(得分:0)

DescribeInstances您正在寻找API。它返回实例的VPC ID。