我创建了一个最小尺寸和所需容量设置为1
的ASG。 EC2实例绑定到Application Load Balancer。我使用点火来定义启动配置的用户数据。我在Ignition中定义了一个执行这两个命令的脚本:
# Set the ASG Desired Capacity - get CoreOS metadata
ASG_NAME=$(/usr/bin/docker run --rm --net=host \
"$AWSCLI_IMAGE" aws autoscaling describe-auto-scaling-instances \
--region="$COREOS_EC2_REGION" --instance-ids="$COREOS_EC2_INSTANCE_ID" \
--query 'AutoScalingInstances[].AutoScalingGroupName' --output text)
echo "Check desired capacity of Auto Scaling group..."
# shellcheck disable=SC2154,SC2086
/usr/bin/docker run --rm --net=host \
$AWSCLI_IMAGE aws autoscaling set-desired-capacity \
--region="$COREOS_EC2_REGION" --auto-scaling-group-name "$ASG_NAME" \
--desired-capacity 3 \
--honor-cooldown
问题是我得到错误ScalingActivityInProgress
所以我无法改变所需的容量。
首先,我想了解根本原因。可能是因为当我运行上述命令时ALB不健康?
解决了从请求中删除honor-cooldown
param的问题