![](/img/trans.png)
[英]In java, how can I get an Amazon EC2 Instance to see its own tags?
[英]EC2: How can I get the Vpc ID of an Instance?
我试图找出实例的vpc-id。 任何人都可以引用可以解决此问题的API吗? 我正在使用Java SDK。
您可以尝试在ec2-instance中执行以下操作
首先,您需要找到实例的Macid
macid=$(curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/)
并使用下面的macid
curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/${macid}/vpc-id
您可以使用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 cli
与describe-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"
这是如何获取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());
}
}
DescribeInstances API是您正在寻找的API。 它返回实例的VPC ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.