2016-11-04 102 views
0

我想列出我的負載均衡器在我們東1(美國東部(弗吉尼亞北部))。我可以看到兩個負載均衡器前端Web控制檯(EC2下>負載均衡>負載均衡器),但是,如果我運行:aws sdk不列出負載均衡器

AWS = require('aws-sdk'); 
var elb = new AWS.ELBv2({ 
    accessKeyId: '<accessKeyId>', 
    secretAccessKey: '<secretAccessKey>', 
    region: 'us-east-1' 
}); 

elb.describeLoadBalancers({}, (e, r) => console.log('error', e, 'result', r)) 

此日誌:

error null result { ResponseMetadata: { RequestId: '<some-long-id>' }, LoadBalancers: [] } 
+0

你的[橡皮鴨](https://en.m.wikipedia.org/wiki/Rubber_duck_debugging)讓你失望。 'ec2.describeImages'沒有列出負載平衡器,是嗎?你確定這是產生該響應的代碼嗎? –

+0

什麼是壞的複製粘貼!我已經用準確的代碼更新了問題... – Guig

+0

您的平衡器是「經典」負載平衡器還是「應用」負載平衡器?它看起來像[ELBv2](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ELBv2.html)僅適用於第二代平衡器,即應用程序負載平衡器(ALB),而不是經典版。 –

回答

1

中的Javascript SDK的ELBv2 class不替代ELB類。 ELBv2適用於第二代ELB - 應用程序負載平衡器,而ELB用於第一代ELB,現在稱爲經典負載平衡器。

兩代ELB的功能和功能確實有一些重疊,但兩代都提供了其他功能,而另一些則沒有 - 經典LB可以爲非HTTP服務進行SSL/TLS分流,Application LB不能;應用程序LB可以根據HTTP請求路徑選擇後端,並說出HTTP/2並在單個實例上路由到多個端口,而經典LB則不能。

這兩代人在配置選項上有很大不同,推測這就是爲什麼有一個獨立的接口來查詢和操縱兩種不同類型的平衡器。

+0

謝謝!我希望SDK和文檔使它更加明顯。 SDK可能是ApplicationELB之類的東西,特別是根據你所說的,它不是真正的V2版本,因爲它缺少了經典ELB提供的一些功能。而文檔只提到方法描述中的應用部分,但應該有一個大標題:) – Guig