EC2:如何获取实例的 Vpc ID?
EC2: How can I get the Vpc ID of an Instance?
我正在尝试找出实例的 vpc-id。任何人都可以参考可以解决这个问题的 API 吗?我正在使用 java SDK。
DescribeInstances API 就是您要找的那个。它 returns 实例的 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());
}
}
您可以尝试在 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
我正在尝试找出实例的 vpc-id。任何人都可以参考可以解决这个问题的 API 吗?我正在使用 java SDK。
DescribeInstances API 就是您要找的那个。它 returns 实例的 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());
}
}
您可以尝试在 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