1

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

所以我知道的是,我需要AWS.metadataService,但我不知道如何使用它。我发现this documentation(metaDataService)是一个command-line tool。我想我需要它这样的结合:

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); 
}); 

但它会产生这个错误:

{ [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 } 

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

回答

3

希望它有帮助。

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); 
}); 
相关问题