在实例本身中获取EC2实例属性的最简单方法

时间:2012-11-07 16:50:46

标签: c# amazon-ec2 amazon-web-services

你们能告诉我如何从我运行代码的地方检索instanceId,dns公共名称和当前EC2实例的类型......

我正在玩DescribeInstanceAttribute(),但它需要为请求提供instanceId,而我找不到如何获取当前正在运行的实例的id。

3 个答案:

答案 0 :(得分:10)

有一个返回机器信息的Web服务。访问

http://169.254.169.254/latest/meta-data/instance-id

检索实例ID

Instance Metadata Documentation可以很方便。

答案 1 :(得分:9)

这是一种比进行Web API调用(.NET SDK)更简单的方法。

请参阅SDK documentation for EC2InstanceMetadata here

例如,如果您需要InstanceId,您可以使用:

Amazon.Util.EC2InstanceMetadata.InstanceId.ToString();

所有其他属性都以类似方式提供。

请注意,SDK曾经拥有Amazon.EC2.Utils - 这在2015年已弃用,并已移至Amazon.Util命名空间

答案 2 :(得分:4)

您也可以使用AWS's Dot Net SDK例如Amazon.EC2.Util.EC2Metadata.InstanceId.ToString();