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