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

iLe*_*ing 10 c# amazon-ec2 amazon-web-services

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

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

lst*_*ern 11

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

http://169.254.169.254/latest/meta-data/instance-id
Run Code Online (Sandbox Code Playgroud)

检索实例ID

实例元数据文件都可以得心应手.


Lou*_* O. 11

有一种比创建Web API调用(.NET SDK)更简单的方法.

请在此处查看EC2InstanceMetadataSDK文档

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

Amazon.Util.EC2InstanceMetadata.InstanceId.ToString();
Run Code Online (Sandbox Code Playgroud)

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

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


小智 5

您还可以使用例如AWS的Dot Net SDKAmazon.EC2.Util.EC2Metadata.InstanceId.ToString();