Подтвердить что ты не робот

Как установить тип проверки работоспособности группы автомасштабирования с помощью эластичного покрытия

Я установил "Application Healthcheck URL" (aws: elasticbeanstalk: application) для моего приложения flexbeanstalk, а в течение ночи два сервера начали сбой этой проверки.

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

Как изменить тип проверки работоспособности группы автомасштабирования, чтобы быть elb, используя настройки конфигурации эластичного состояния? Я не могу найти какой-либо документированный способ изменения этого значения, но это должно быть довольно распространенное требование.

Спасибо

4b9b3361

Ответ 1

Оказывается, ответ заключается в добавлении файла конфигурации в каталог .ebextensions.

Документация AWS не отображается правильно или, по крайней мере, не обновляется.

Здесь он сообщает вам, что вы можете настроить ресурсы EB с помощью файла конфигурации: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-resources.html

Но он не говорит вам, где разместить этот файл конфигурации. Чтобы узнать это, вам нужно перейти по ссылке: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html

Первая ссылка помогает вам указать имя различных ресурсов, которые вы можете настроить. В моем случае мне нужна "AWSEBAutoScalingGroup". Но тогда это не говорит вам, что такое идентификатор типа ресурса (Тип) или доступные свойства. Он имеет ссылку на "идентификаторы типа ресурса" (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/aws-template-resource-type-ref-aeb.html), но здесь нет упоминаний об автомасштабировании или эластичном бобовом перекладине.

К счастью, добрые души на форумах AWS прислали мне ссылку на полезную документацию: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html

Итак, наконец, я смог создать свой файл конфигурации, который выглядит так:

Resources:
    AWSEBAutoScalingGroup:
        Type: "AWS::AutoScaling::AutoScalingGroup"
        Properties:
            HealthCheckType: ELB
            HealthCheckGracePeriod: 600

Теперь это работает как шарм!

Ответ 2

Вы можете создать свою собственную группу AutoScaling и использовать ее для конфигурации запуска.

Вы также можете настроить AutoScaling с конфигурационным файлом Elastic Beanstalk:

AWS Elastic Beanstalk: настройка ресурсов среды

UPDATE:

Я понял, что вы можете настроить ASG с помощью конфигурационного файла EB, но нет возможности изменить тип проверки работоспособности

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

По умолчанию ваша группа Auto Scaling определяет состояние работоспособности каждого экземпляра, периодически проверяя результаты проверки состояния экземпляра Amazon EC2. Если вы связали свою группу Auto Scaling с балансировщиком балансировки эластичной нагрузки и решили использовать проверку работоспособности эластичной нагрузки, Auto Scaling определит состояние работоспособности экземпляров, проверив результаты проверки статуса экземпляра Amazon EC2 и проверки работоспособности экземпляра Эластичной нагрузки.

Если вы создаете группу AutoScaling, вы можете выбрать ELB как тип проверки работоспособности:

enter image description here

Или если вы используете CreateAutoScalingGroup API:

HealthCheckType
Услуга, на которую вы хотите проверить здоровье, Amazon EC2 или балансировщик эластичной нагрузки. Допустимыми значениями являются EC2 или ELB.

По умолчанию проверка работоспособности Auto Scaling использует результаты Amazon Проверка статуса экземпляра EC2 для определения работоспособности экземпляра. Для дополнительную информацию см. Проверка работоспособности.