Автомасштабирование: вновь созданный экземпляр всегда OutOfService

Я настроил автоматическое масштабирование, используя эти шаги ...

$ elb-create-lb autoscalelb --headers --listener "lb-port = 80, instance-port = 80, protocol = http" --listener "lb-port = 443, instance-port = 443, protocol = tcp" - зоны доступности us-east-1d

$ elb-description-lbs autoscalelb

$ elb-register-instance-with-lb autoscalelb --instances i-ee364697

$ elb-configure-healthcheck autoscalelb --headers --target "TCP: 80" --interval 5 --timeout 3 --unhealthy-threshold 2 --healthy-threshold 4

$ as-create-launch-config autoscalelc --image-id ami-baba68d3 --instance-type t1.micro

$ as-create-auto-scaling-group autoscleasg --availability-zone us-east-1d --launch-configuration autoscalelc --min-size 1 --max-size 5 --desired-capacity 1 --load-balancers autoscalelb

$ as-description-auto-scaling-groups autoscleasg

$ as-put-scaling-policy MyScaleUpPolicy --auto-scaling-group autoscleasg --adjustment = 1 --type ChangeInCapacity --cooldown 300

$ mon-put-metric-alarm MyHighCPUAlarm - оператор сравнения GreaterThanThreshold - периоды оценки 1 - имя метрики CPUUtilization - пространство имен "AWS / EC2" --period 600 - среднее статистическое значение - порог 80 - тревога -actions arn: aws: autoscaling: us-east-1: 616259365041: scalingPolicy: 46c2d3b3-7f29-42b6-ab64-548f45de334f: autoScalingGroupName / autoscleasg: policyName / MyScaleUpPolicy --dimensions "AutoScalingGroupName =" AutoScalingGroupName "

$ as-put-scaling-policy MyScaleDownPolicy --auto-scaling-group autoscleasg --adjustment = -1 --type ChangeInCapacity --cooldown 300

$ mon-put-metric-alarm MyLowCPUAlarm - оператор сравнения LessThanThreshold - периоды оценки 1 - имя метрики CPUUtilization - пространство имен "AWS / EC2" --period 600 - среднее статистическое значение - порог 50 - тревога -actions arn: aws: autoscaling: us-east-1: 616259365041: scalingPolicy: 30ccd42c-06fe-401a-8b8f-a4e49bbb9c7d: autoScalingGroupName / autoscleasg: policyName / MyScaleDownPolicy --dimensionsName = autoScalingName = autoScaling

После этого я запускаю эту команду:

$ as-description-auto-scaling-groups autoscleasg --headers

Ответ:

AUTO-SCALING-GROUP ИМЯ ГРУППЫ LAUNCH-CONFIG НАЛИЧИЕ-ЗОНЫ БАЛАНСИРОВКИ НАГРУЗКИ МИН-РАЗМЕР МАКСИМАЛЬНЫЙ РАЗМЕР ЖЕЛАЕМАЯ МОЩНОСТЬ AUTO-SCALING-GROUP autoscleasg autoscalelc us-east-1d
autoscalelb 1 5 1 INSTANCE INSTANCE-ID -ЗАПУСК СОСТОЯНИЯ СОСТОЯНИЯ ЗОНЫ-КОНФИГУРАЦИЯ ИНСТАНЦИИ i-acf48bd5 us-east-1d InService Healthy autoscalelc

А потом:

$ elb-description-instance-health autoscalelb --headers

Это показывает:

INSTANCE_ID INSTANCE_ID ОПИСАНИЕ СОСТОЯНИЯ
REASON-CODE INSTANCE_ID i-ee364697 InService Н / Д
Н / Д INSTANCE_ID i-acf48bd5 Экземпляр OutOfService завершился неудачно по крайней мере с UnhealthyThreshold количеством проверок работоспособности подряд. Пример

Моя первая проблема:

Он автоматически создает один дополнительный экземпляр, когда нет нагрузки на основной экземпляр.

Во-вторых, вновь созданный экземпляр всегда является OutOfService.

если я изменю минимальный размер на 0, используя следующую команду:

$ as-update-auto-scaling-group autoscleasg --launch-configuration autoscalelc --availability-zone us-east-1d --min-size 0 --max-size 5

И пытаемся загрузить экземпляр с помощью xen:

hg clone http://xenbits.xensource.com/xen-unstable.hg

При автомасштабировании не создается ни одного экземпляра. Даже если я выполняю указанную выше команду в сеансах до 5, загрузка ЦП достигает 100%, а экземпляр по-прежнему не создается.

Помогите, пожалуйста...


person MWAnsari    schedule 18.06.2012    source источник


Ответы (1)


Я не уверен, чего вы хотите достичь, но если вы хотите использовать возможности автомасштабирования для добавления дополнительных экземпляров в зависимости от увеличения или уменьшения трафика, вам необходимо использовать параметры балансировщика нагрузки (то есть задержку):

Измените свой на:
--namespace = 'AWS / ELB'
--metric-name Latency
--period 60 (это очень быстро)
--threshold 2.0 ( это очень мало)

Чтобы проверить, работает ли он, я использую Apache Bench, я запускаю команду ниже на нескольких микро-экземплярах

$ ab -n 10000 -c 10 http://<your ELB>.us-east-1.elb.amazonaws.com/index.php
person setrar    schedule 29.06.2012