Amazon-Ec2
從附加的實例中獲取 AWS ELB 名稱
我創建了一個 ELB 並將一些實例附加到這個 ELB。因此,當我登錄到其中一個附加實例時,我想鍵入一個命令或執行一個 nodejs 腳本,它可以返回它的 ELB 名稱。是否可以?我知道我可以在 AWS 控制台上查找,但我正在尋找一種以程式方式查找它的方法。如果可能的話,我想看看它是如何在命令或 AWS Nodejs SDK 中完成的。
謝謝!
我在 JavaScript 方面不是最優秀的,但我測試了下面的程式碼並且工作正常。它基本上使用“describeLoadBalancers”API 呼叫來獲取所有 ELB 的列表,然後遍歷結果以查找您的實例。如果您的實例註冊到特定的負載均衡器,它的名稱將輸出到控制台:
// Require AWS SDK for Javascript var AWS = require('aws-sdk'); // Set API Keys and Region AWS.config.update({ "accessKeyId": "<your access key>", "secretAccessKey": "<your secret key>", "region": "us-west-1" // specify your region }); // Get All Load Balancers function GetLoadBalancers(fn) { var elb = new AWS.ELB(); elb.describeLoadBalancers(null,function(err, data) { fn(data) }); } // Loop through response to check if ELB contains myInstanceId var myInstanceId = "<your instance id>"; GetLoadBalancers(function(elbs){ elbs.LoadBalancerDescriptions.forEach(function(elb){ if(elb.Instances[0] != undefined){ if (elb.Instances[0].InstanceId == myInstanceId){ console.log(elb.LoadBalancerName); } } }); });