Открыть список
Как стать автором
Обновить

Комментарии 17

Да это просто счастье какое то.
Стараюсь. Задавайте вопросы, может тем для селдующих статей получим.
спасибо за подробный материал.

вопросы:
— есть ли смысл измерять период кулдауна в минутах, если инстанс оплачивается почасово?
— в силу архитектурных особенностей системы (возможно неудачной архитектуры) наши инстансы немного отличаются друг от друга (то есть просто клонировать один и тот же не получится). зато у нас есть 8 подготовленных и остановленных инстансов, которые по крону включаются/выключаются в пиковое время (особенности проекта — в 95% случаев врем пиковой нагрузки предсказуемо). реально ли при помощи автоскейлинга не клонировать инстансы, а включать/выключать инстансы находящиеся в пуле?
Коммент ниже. Ошибся линком.
1. Смысл есть, ведь тушится хост, который бежит дольше всего. Я обычно использую 15+ минут.

2. Вы ведь можете использовать разыне скейлинг группы под одним/разными балансерами. И по крону можете слать команду

$ as-update-autoscaling-group groupname --desired-capacity 2;

Либо же использовать кастомную метрику и в определённое время слать в эту метрику, например, 1, и это будет инициировать скейлинг.
спасибо. теперь понятно с какой стороны начинать копать
Сделал вроде также, но почему-то не работает как надо.
Делал так
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


В результате я имею 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.
Дименшен попробуйте убрать. Глюкает иногда.
Напишите статью про тоже самое только для mysql масштабирования.
Это масштабирование подходит для всего. Что имеется в виду под mysql масштабирванием?
Ну mysql же там надо либо реплику либо кластер ndb
Можно использовать MultiAZ RDS. Не пойиу вас.
RDS крайне закрыт от прямого управления, пока что не готов его использовать.
Вот только не пойму, а нас крутиться приложение, как оно клoнируется и работает с теме же настройками что и на оригинале? если мне нужно проверять логи для каждого истанса, как узнать на какой из них я попадаю.
Само никак, это как бы ваши проблемы, можно с ами единого запускать, можно каждый раз деплоить, можно общий сторедж.
Ну как бы заходите на конкретный инстанс, там никакой не однозначности нет.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
1993
Местоположение
США
Сайт
www.epam.com
Численность
свыше 10 000 человек
Дата регистрации
Представитель
vesyolkinaolga

Блог на Хабре