2016-09-19 14 views
0

C#AWS SDKを使用して、現在のEC2インスタンスのVpcIdを特定する必要があります。私は本当の運がなくてもこれを2時間ほどやろうとしています。EC2インスタンスのVPC IDを取得する方法は?

私の現在のアプローチは、これを行うための簡単な方法があるはずのように私は感じ

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

このようなものです。これに関する助けは本当に感謝しています。


更新:NetworkInterfacesの下で私が使用してこれを達成することができました@ jbirdの助けを借りて

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

答えて

3

Amazon.EC2.Util.EC2Metadataの下で見てください。各ネットワークインターフェイスにはVpcIdがあります。

これは、EC2インスタンスのメタデータからVPC IDをhttp://169.254.169.254/latest/meta-data/network/interfaces/macs/${mac}/vpc-idに取得します。 (Reference

+0

ありがとうございます。情報のために@jbird、私は明日これをチェックし、動作すれば受け入れます。 – M22an

+0

'/ latest/meta-data/network/macs/$ {mac}/vpc-id'の' $ {mac} 'は'/latest/meta/-data/mac'と入力します。 2つの要求があり、Macを探してからMacのvpcを探します。 –

+0

ありがとうございました! – jbird

関連する問題