我正在尝试提出用于AWS成本优化的解决方案。我可以使用cloudwatch规则和Lambda做到这一点,如果我必须直接停止实例并且该实例没有自动伸缩组,则这种方法可以正常工作。 问题是当我们使用自动缩放组来管理实例时。我能够使用lambda一次放大与一个自动伸缩组关联的唯一实例。我的用例是我必须使用lambda扩展与多个自动扩展组关联的多个实例。
var params = {
AutoScalingGroupName: "my-auto-scaling-group",
MaxSize: 3,
MinSize: 1
}
autoscaling.updateAutoScalingGroup(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
})
但是这样一来,我只能一次更新1个自动伸缩组的配置。对于与多个自动伸缩组关联的多个实例,我们有什么方法可以做到?
答案 0 :(得分:0)
const AWS = require('aws-sdk')
const AUTOSCALING = new AWS.AutoScaling({region : "region-name"})
let asgarr = [] //array for autoscaling group names
const decreasecapacity = (everyparam) =>{
var params = {
AutoScalingGroupName: everyparam,
MaxSize: 0,
MinSize: 0
};
AUTOSCALING.updateAutoScalingGroup(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
}
asgarr.forEach(Element=>decreasecapacity(Element));