aws ec2 getaddrinfo ENOTFOUND 错误代码

nov*_*ova 3 error-code amazon-s3 amazon-ec2 amazon-web-services node.js

我的目标是在我的脚本启动时获取 instanceId。(因为我想将我的网络服务器作为后端与 aws elb 连接。当我对 id 进行硬编码时,这甚至可以工作)所以现在我尝试编写一个给我 id 的函数。

所以我知道我需要 AWS.metadataService 但我不知道如何使用它。我发现这个文档(metaDataService) 是一个命令行工具。我想我需要像这样组合它:

var meta  = new AWS.MetadataService();

meta.request("http://169.254.169.254/latest/meta-data/", function(err, data){
    if(err){
        console.log(err);
    }
    console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

但它会产生这个错误:

{ [Error: getaddrinfo ENOTFOUND 169.254.169.254http 169.254.169.254http:80]
  code: 'ENOTFOUND',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: '169.254.169.254http',
  host: '169.254.169.254http',
  port: 80 }
Run Code Online (Sandbox Code Playgroud)

任何想法可以解决这个问题?或者至少是什么导致了这个错误。

Muk*_*rma 5

希望能帮助到你。

var meta  = new AWS.MetadataService({
   host: '169.254.169.254'
});

meta.request('/latest/meta-data/', function(err, data){
   if(err){
      console.log(err);
   }
   console.log(data);
});
Run Code Online (Sandbox Code Playgroud)