繁体   English   中英

如何获取EC2实例的VPC ID?

[英]How to get the VPC Id of an EC2 instance?

我需要使用C#AWS开发工具包识别当前EC2实例的VpcId。 我已经尝试这样做了两个小时,但没有真正的运气。

我目前的做法是这样的,

var currentInstanceId = Amazon.EC2.Util.EC2Metadata.InstanceId; // Get Current Instance Id

AWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
var ec2Client = AWSClientFactory.CreateAmazonEC2Client(creds, clientRegionEndpoint);
var instances = ec2Client.DescribeInstances();

foreach (var reservation in instances.Reservations)
{
  foreach (var instance in reservation.Instances)
  {
    if (instance.InstanceId.Equals(currentInstanceId)) // Compare Instance Id with all available instances 
      return instance.VpcId;
  }
}

我觉得应该有一个更简单的方法来做到这一点。 任何帮助,将不胜感激。


更新:

在@jbird的帮助下,我可以使用以下方法实现此目的,

Amazon.EC2.Util.EC2Metadata.NetworkInterfaces.First().VpcId

Amazon.EC2.Util.EC2Metadata下,在NetworkInterfaces下查看。 每个网络接口都有一个VpcId

这是从EC2实例的元数据获取的VPC ID,位于http://169.254.169.254/latest/meta-data/network/interfaces/macs/${mac}/vpc-id 参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM