【问题标题】:how to get InstanceID via ec2 api?如何通过 ec2 api 获取 InstanceID?
【发布时间】:2016-09-17 22:32:09
【问题描述】:

我需要一个告诉我instanceID 的函数,我正在搜索here 寻找一个函数,但你总是需要id...是的,这就是问题所在。

我不能使用控制台,需要通过脚本找出来。

我看到了 AWS.MetadataService documentation,但我无法处理它。我只能看到单件,但我不知道如何正确匹配它们,以获得我想要的。目前我有这个

var meta  = new AWS.MetadataService();

meta.request("http://169.254.169.254/latest/meta-data/", function(err, data){
    console.log(data);
});

但是 ofc 这不起作用...路径参数中需要包含什么?

【问题讨论】:

  • 您的脚本是否在您需要 ID 的实例上运行?如果是这样,我认为您正在寻找AWS.MetadataService
  • 是的,我看到了 AWS MetadataService,但我不知道如何使用它,我将编辑我的问题以向您展示我的挣扎

标签: node.js amazon-web-services amazon-ec2 instanceid


【解决方案1】:

如果您的脚本在您需要 ID 的 EC2 实例上运行,您可以从实例元数据中获取 EC2 实例 ID。此命令将为您提供 EC2 实例 ID(例如 i-12345678):

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

元数据的完整文档可以在这里找到:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

更新:

对于 Node 中的某些东西,试试这个:

var meta  = new AWS.MetadataService();

meta.request("/latest/meta-data/instance-id", function(err, data){
    console.log(data);
});

不要包含http:// 和主机部分。只是最后的路径。

【讨论】:

    【解决方案2】:

    如果您正在查看 ec2 api,您可以使用 aws ec2 describe-XXX 命令为例

    [xxx@IP-xxxx ~]# aws ec2 describe-addresses
    {
        "Addresses": [
            {
                "Domain": "vpc",
                "InstanceId": "i-YOUR INSTANCE ID",
                "NetworkInterfaceId": "eni-xxxx",
                "AssociationId": "eipassoc-xxxx",
                "NetworkInterfaceOwnerId": "xxxx",
                "PublicIp": "xxxx",
                "AllocationId": "eipalloc-xxxx",
                "PrivateIpAddress": "xxxx"
            }
        ]
    }
    

    您也可以使用aws ec2 describe-instances,它非常完整,并返回有关实例的所有信息,包括InstanceId

    【讨论】:

    • 已经尝试过了,但我得到了{ [MissingParameter: The request must contain the parameter instance id] message: 'The request must contain the parameter instance id', 所以正如我所说,instanceId 总是需要的
    • 如果你从实例运行它,它可以工作——我已经用过很多次了,我放了一个运行实例的例子
    猜你喜欢
    • 1970-01-01
    • 2018-11-14
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2018-02-12
    • 2021-01-21
    相关资源
    最近更新 更多