【发布时间】:2019-08-03 22:51:44
【问题描述】:
我想获取 AWS 云清单的元数据。这包括负载均衡器、每个负载均衡器的 EC2 实例数、这些实例的状态和配置、其他配置等。
目前我正在使用describeLoadBalancers,然后当我得到描述时,我只是从中解析出实例信息。
这是脚本(在加载 AWS SDK 并设置 apt 区域后。凭证存储在文件中)
var elb = new AWS.ELB();
// var elb = new AWS.ELBv2({apiVersion: '2015-12-01'}); // For this, inside function ProcessDescriptions I get error: Cannot read property 'forEach' of undefined
elb.describeLoadBalancers(null, ProcessDescriptions);
function ProcessDescriptions(err, descriptions)
{
if (err != undefined)
{
console.log (JSON.stringify(err));
}
else
{
descriptions.LoadBalancerDescriptions.forEach(ProcessDescription);
// console.log (JSON.stringify(descriptions));
}
}
function ProcessDescription(description)
{
if(description.Instances[0] != undefined)
{
console.log(description.Instances[0].InstanceId);
console.log(description.LoadBalancerName);
}
}
问题:
使用
AWS.ELB脚本运行但不返回所有负载平衡器。使用
AWS.ELBv2脚本运行并返回 #1 中缺少的负载平衡器(在descriptions中)。但不幸的是我收到错误Cannot read property 'forEach' of undefined。基本上我在 JSON 响应中没有得到LoadBalancerDescriptions导致错误。
问题:
我想知道这是获取负载均衡器和 EC2 库存的合适方法吗? AWS.ELB 和 AWS.ELBv2 有什么区别?如何获取所有负载均衡器以及附加到它们的 EC2 实例的信息?
【问题讨论】:
标签: node.js amazon-web-services amazon-ec2