Ich muss die VpcId für die aktuelle EC2-Instanz mit dem C# AWS SDK identifizieren. Ich habe versucht, dies jetzt für ein paar Stunden ohne echtes Glück zu tun.Wie erhalte ich die VPC-ID einer EC2-Instanz?
Mein aktueller Ansatz ist so etwas wie dieses,
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;
}
}
Ich fühle mich wie sollte es ein einfacher Weg, dies zu tun. Jede Hilfe dazu wäre sehr geschätzt.
Update:
Mit @ jbird Hilfe konnte ich dies mit erreichen,
Amazon.EC2.Util.EC2Metadata.NetworkInterfaces.First().VpcId
Danke @jbird für die Info, ich werde dies morgen überprüfen und akzeptieren, wenn es funktioniert. – M22an
Um nur ein wenig zu verdeutlichen, ist es tatsächlich '/ neuste/Metadaten/Netzwerk/macs/$ {mac}/vpc-id', wobei' $ {mac} 'die Antwort ist, die du von'/latest/meta bekommst -Daten/Mac'. Erfordert zwei Anfragen und sucht den Mac und dann den vPC des Mac auf. –
Danke - aktualisiert! – jbird