【问题标题】:Easiest way to get EC2 instance attributes within the instance itself在实例本身中获取 EC2 实例属性的最简单方法
【发布时间】:2012-10-27 18:46:48
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    有一种比调用 Web API 更简单的方法,即 .NET SDK。

    SDK documentation for EC2InstanceMetadata here

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

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

    所有其他属性都以类似的方式可用。

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

    【讨论】:

    【解决方案2】:

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

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

    检索实例ID

    Instance Metadata Documentation 很方便。

    【讨论】:

    • 不错。所以我必须做一个简单的HttpWebRequest...谢谢
    • 比这更好,使用 AWS 提供的 SDK 用于此特定目的(请参阅下面 Michael Wheeler 的回答)
    • 请注意,自从迈克尔发帖以来,事情已经发生了变化。 .NET SDK 已更新,属性现在位于:Amazon.Util.EC2InstanceMetadata
    【解决方案3】:

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

    【讨论】:

    • 谢谢先生。我知道如何通用地做到这一点,但我真正想要的是如何用 C# 来做到这一点。
    • Amazon.EC2.Util 现已弃用,请参阅我上面的帖子了解 .NET SDK 中属性的当前位置
    猜你喜欢
    • 2011-07-01
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多