2015-09-17 6 views
1

Я собрал эти команды для автомасштабирования экземпляров EC2 на основе размера очереди SQS. Я выполнил все команды, а моя очередь - в 10 сообщениях, и один экземпляр не был запущен.Автомасштабирование на основе размера очереди SQS

Я пытаюсь выяснить, что SQS в очереди, которую слушают слуховые сигналы от облачного прослушивания? Также приветствуется любая помощь в определении issus!

### Create Autoscaling Policy ### 

aws autoscaling create-launch-configuration --launch-configuration-name my-lc --image-id ami-551c6d30 --instance-type m1.small 

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-lc --availability-zones "us-east-1a" "us-east-1c" --max-size 10 --min-size 0 --desired-capacity 0 

# Scale up policy 
aws autoscaling put-scaling-policy --policy-name my-sqs-scaleout-policy --auto-scaling-group-name my-asg --scaling-adjustment 1 --adjustment-type ChangeInCapacity 

# Scale down policy 
aws autoscaling put-scaling-policy --policy-name my-sqs-scalein-policy --auto-scaling-group-name my-asg --scaling-adjustment -1 --adjustment-type ChangeInCapacity 

# Alarm to scale up 
aws cloudwatch put-metric-alarm --alarm-name AddCapacityToProcessQueue --metric-name ApproximateNumberOfMessagesVisible --namespace "AWS/SQS" --statistic Average --period 120 --threshold 3 --comparison-operator GreaterThanOrEqualToThreshold --dimensions Name=QueueName,Value=my-queue --evaluation-periods 2 --alarm-actions arn:aws:autoscaling:us-east-1:850082592395:scalingPolicy:6408b62d-9363-4252-a88c-5ffab08a8cb5:autoScalingGroupName/my-asg:policyName/my-sqs-scaleout-policy 

# Alarm to scale down 
aws cloudwatch put-metric-alarm --alarm-name RemoveCapacityFromProcessQueue --metric-name ApproximateNumberOfMessagesVisible --namespace "AWS/SQS" --statistic Average --period 300 --threshold 1 --comparison-operator LessThanOrEqualToThreshold --dimensions Name=QueueName,Value=my-queue --evaluation-periods 2 --alarm-actions arn:aws:autoscaling:us-east-1:850082592395:scalingPolicy:4771ea64-2ebf-45ef-9328-50e058dc68b7:autoScalingGroupName/my-asg:policyName/my-sqs-scalein-policy 

# Verify cloudwatch alarms 
aws cloudwatch describe-alarms --alarm-names AddCapacityToProcessQueue RemoveCapacityFromProcessQueue 

# Verify scaling policy 
aws autoscaling describe-policies --auto-scaling-group-name my-asg 

# Verify instances autoscaled 
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg 
+0

Вы пытались отлаживать консоль управления AWS? –

+0

@UiltonDutra Как вы отлаживаете консоль? – Abs

ответ

1

AWS Documentation В гласит:

Amazon Simple Queue Service отправляет данные в CloudWatch каждые 5 минут.

Кроме того, вы указали среднюю метрику в течение нескольких периодов времени. Поэтому для отправки данных Amazon SQS на Amazon CloudWatch потребуется несколько 5-минутных периодов.

Возможно, что метрический период (120 секунд) слишком короткий для получения нескольких обновлений от SQS, что вызывает ошибки INSUFFICIENT_DATA.

Начните с попытки установить будильник и установить время и время с помощью Maximum. После того, как Тревога успешно запускается, играйте с порогами, чтобы получить желаемое поведение.

Смежные вопросы