Comments 17
Да это просто счастье какое то.
+1
спасибо за подробный материал.
вопросы:
— есть ли смысл измерять период кулдауна в минутах, если инстанс оплачивается почасово?
— в силу архитектурных особенностей системы (возможно неудачной архитектуры) наши инстансы немного отличаются друг от друга (то есть просто клонировать один и тот же не получится). зато у нас есть 8 подготовленных и остановленных инстансов, которые по крону включаются/выключаются в пиковое время (особенности проекта — в 95% случаев врем пиковой нагрузки предсказуемо). реально ли при помощи автоскейлинга не клонировать инстансы, а включать/выключать инстансы находящиеся в пуле?
вопросы:
— есть ли смысл измерять период кулдауна в минутах, если инстанс оплачивается почасово?
— в силу архитектурных особенностей системы (возможно неудачной архитектуры) наши инстансы немного отличаются друг от друга (то есть просто клонировать один и тот же не получится). зато у нас есть 8 подготовленных и остановленных инстансов, которые по крону включаются/выключаются в пиковое время (особенности проекта — в 95% случаев врем пиковой нагрузки предсказуемо). реально ли при помощи автоскейлинга не клонировать инстансы, а включать/выключать инстансы находящиеся в пуле?
0
1. Смысл есть, ведь тушится хост, который бежит дольше всего. Я обычно использую 15+ минут.
2. Вы ведь можете использовать разыне скейлинг группы под одним/разными балансерами. И по крону можете слать команду
Либо же использовать кастомную метрику и в определённое время слать в эту метрику, например, 1, и это будет инициировать скейлинг.
2. Вы ведь можете использовать разыне скейлинг группы под одним/разными балансерами. И по крону можете слать команду
$ as-update-autoscaling-group groupname --desired-capacity 2;
Либо же использовать кастомную метрику и в определённое время слать в эту метрику, например, 1, и это будет инициировать скейлинг.
0
Сделал вроде также, но почему-то не работает как надо.
В результате я имею 2 аларма со статусом «INSUFFICIENT_DATA' at 2012/08/07 15:14 UTC. Reason: Insufficient Data: 1 datapoint was unknown.»
При этом, если я запускаю политику вручную при помощи as-execute-policy, то масштабирование происходит нормально (один инстанс добавляется, а через некоторое время срабатывает LoLoadAvAlarm и инстанс терминейтится). Кроме того, при ручном запуске мои алармы приобретают нормальный статус (OK и ALARM). Однако после того, как последний динамический инстанс умирает — оба аларма снова переходят в состояние INSUFFICIENT_DATA. Что я делаю не так?
Делал так
as-update-auto-scaling-group API-scaling-group --min-size 0 --max-size 0 --region us-east-1
as-describe-auto-scaling-groups
as-delete-auto-scaling-group API-scaling-group --region us-east-1
as-describe-launch-configs
as-delete-launch-config API-LC-2012-07-30
as-create-launch-config API-LC-2012-07-31 -i ami-8977dfe0 --key=key_name --group=ras --instance-type m1.large
as-create-auto-scaling-group API-scaling-group --launch-configuration API-LC-2012-07-31 --availability-zones us-east-1d --min-size 0 --max-size 2 --load-balancers API
as-put-scaling-policy ScaleUpPolicy --auto-scaling-group API-scaling-group --adjustment=1 --type ChangeInCapacity --cooldown 120
>> arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy
as-put-scaling-policy ScaleDownPolicy --auto-scaling-group API-scaling-group --adjustment=-1 --type ChangeInCapacity --cooldown 420
>> arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:ee91ee8e-304b-48ce-9b4e-18504afc5a3e:autoScalingGroupName/API-scaling-group:policyName/ScaleDownPolicy
mon-put-metric-alarm HighLoadAvAlarm --comparison-operator GreaterThanOrEqualToThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace «AWS/EC2» --period 60 --statistic Average --threshold 80 --alarm-actions arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy --dimensions «AutoScalingGroupName=API-scaling-group» --region us-east-1
mon-put-metric-alarm LoLoadAvAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace «AWS/EC2» --period 120 --statistic Average --threshold 20 --alarm-actions arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:ee91ee8e-304b-48ce-9b4e-18504afc5a3e:autoScalingGroupName/API-scaling-group:policyName/ScaleDownPolicy --dimensions «AutoScalingGroupName=API-scaling-group» --region us-east-1
as-describe-auto-scaling-groups
as-delete-auto-scaling-group API-scaling-group --region us-east-1
as-describe-launch-configs
as-delete-launch-config API-LC-2012-07-30
as-create-launch-config API-LC-2012-07-31 -i ami-8977dfe0 --key=key_name --group=ras --instance-type m1.large
as-create-auto-scaling-group API-scaling-group --launch-configuration API-LC-2012-07-31 --availability-zones us-east-1d --min-size 0 --max-size 2 --load-balancers API
as-put-scaling-policy ScaleUpPolicy --auto-scaling-group API-scaling-group --adjustment=1 --type ChangeInCapacity --cooldown 120
>> arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy
as-put-scaling-policy ScaleDownPolicy --auto-scaling-group API-scaling-group --adjustment=-1 --type ChangeInCapacity --cooldown 420
>> arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:ee91ee8e-304b-48ce-9b4e-18504afc5a3e:autoScalingGroupName/API-scaling-group:policyName/ScaleDownPolicy
mon-put-metric-alarm HighLoadAvAlarm --comparison-operator GreaterThanOrEqualToThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace «AWS/EC2» --period 60 --statistic Average --threshold 80 --alarm-actions arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy --dimensions «AutoScalingGroupName=API-scaling-group» --region us-east-1
mon-put-metric-alarm LoLoadAvAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace «AWS/EC2» --period 120 --statistic Average --threshold 20 --alarm-actions arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:ee91ee8e-304b-48ce-9b4e-18504afc5a3e:autoScalingGroupName/API-scaling-group:policyName/ScaleDownPolicy --dimensions «AutoScalingGroupName=API-scaling-group» --region us-east-1
В результате я имею 2 аларма со статусом «INSUFFICIENT_DATA' at 2012/08/07 15:14 UTC. Reason: Insufficient Data: 1 datapoint was unknown.»
При этом, если я запускаю политику вручную при помощи as-execute-policy, то масштабирование происходит нормально (один инстанс добавляется, а через некоторое время срабатывает LoLoadAvAlarm и инстанс терминейтится). Кроме того, при ручном запуске мои алармы приобретают нормальный статус (OK и ALARM). Однако после того, как последний динамический инстанс умирает — оба аларма снова переходят в состояние INSUFFICIENT_DATA. Что я делаю не так?
Лог метрик
Date Type Description
2012-08-07 15:12 UTC No Data Alarm updated from ALARM to INSUFFICIENT_DATA. Reason: Insufficient Data: 1 datapoint was unknown.
2012-08-07 15:11 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:10 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:09 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:08 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:07 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:06 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:06 UTC Alarm Alarm updated from OK to ALARM. Reason: Threshold Crossed: 1 datapoint (71.24) was greater than or equal to the threshold (40.0).
2012-08-07 14:56 UTC OK Alarm updated from ALARM to OK. Reason: Threshold Crossed: 1 datapoint (0.225) was not greater than or equal to the threshold (40.0).
2012-08-07 14:43 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 14:43 UTC Alarm Alarm updated from OK to ALARM. Reason: Threshold Crossed: 1 datapoint (63.59) was greater than or equal to the threshold (40.0).
2012-08-07 14:42 UTC OK Alarm updated from ALARM to OK. Reason: Threshold Crossed: 1 datapoint (21.96) was not greater than or equal to the threshold (40.0).
2012-08-07 14:41 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 14:40 UTC Action Successfully executed action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 14:40 UTC Alarm Alarm updated from OK to ALARM. Reason: Threshold Crossed: 1 datapoint (73.62) was greater than or equal to the threshold (40.0).
2012-08-07 14:39 UTC OK Alarm updated from INSUFFICIENT_DATA to OK. Reason: Threshold Crossed: 1 datapoint (2.21) was not greater than or equal to the threshold (40.0).
2012-08-07 14:15 UTC Modify Alarm «HighLoadAvAlarm» updated.
2012-08-07 11:41 UTC Modify Alarm «HighLoadAvAlarm» updated.
2012-08-07 15:12 UTC No Data Alarm updated from ALARM to INSUFFICIENT_DATA. Reason: Insufficient Data: 1 datapoint was unknown.
2012-08-07 15:11 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:10 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:09 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:08 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:07 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:06 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 15:06 UTC Alarm Alarm updated from OK to ALARM. Reason: Threshold Crossed: 1 datapoint (71.24) was greater than or equal to the threshold (40.0).
2012-08-07 14:56 UTC OK Alarm updated from ALARM to OK. Reason: Threshold Crossed: 1 datapoint (0.225) was not greater than or equal to the threshold (40.0).
2012-08-07 14:43 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 14:43 UTC Alarm Alarm updated from OK to ALARM. Reason: Threshold Crossed: 1 datapoint (63.59) was greater than or equal to the threshold (40.0).
2012-08-07 14:42 UTC OK Alarm updated from ALARM to OK. Reason: Threshold Crossed: 1 datapoint (21.96) was not greater than or equal to the threshold (40.0).
2012-08-07 14:41 UTC Action Failed to execute action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 14:40 UTC Action Successfully executed action arn:aws:autoscaling:us-east-1:044676192710:scalingPolicy:c09aa605-93bb-4e19-82cf-09eec2658d95:autoScalingGroupName/API-scaling-group:policyName/ScaleUpPolicy.
2012-08-07 14:40 UTC Alarm Alarm updated from OK to ALARM. Reason: Threshold Crossed: 1 datapoint (73.62) was greater than or equal to the threshold (40.0).
2012-08-07 14:39 UTC OK Alarm updated from INSUFFICIENT_DATA to OK. Reason: Threshold Crossed: 1 datapoint (2.21) was not greater than or equal to the threshold (40.0).
2012-08-07 14:15 UTC Modify Alarm «HighLoadAvAlarm» updated.
2012-08-07 11:41 UTC Modify Alarm «HighLoadAvAlarm» updated.
0
Напишите статью про тоже самое только для mysql масштабирования.
0
Можно использовать MultiAZ RDS. Не пойиу вас.
0
Вот только не пойму, а нас крутиться приложение, как оно клoнируется и работает с теме же настройками что и на оригинале? если мне нужно проверять логи для каждого истанса, как узнать на какой из них я попадаю.
0
Sign up to leave a comment.
Автомасштабирование в Amazon Web Services: EC2 + CloudWatch