Как добавить проверку работоспособности, чтобы проверить, установили ли мои экземпляры в aws autoscale успешное соединение с другим независимым экземпляром

В настоящее время у меня есть несколько экземпляров, работающих в группе автоматического масштабирования AWS, которая опрашивает сообщения от AWS SQS. Моим экземплярам необходимо установить соединение с другим экземпляром, прежде чем он начнет обрабатывать входящие сообщения.

Иногда случается, что один из моих экземпляров не может установить соединение, и я хочу добавить сюда проверку работоспособности, чтобы отслеживать состояние подключения и завершить работу экземпляра на основе этого. Я не думаю, что стандартная проверка работоспособности EC2 позаботится об этом сценарии.

Есть ли способ добавить проверку работоспособности для обработки вышеупомянутого сценария.


person Sunil Kumar    schedule 05.10.2020    source источник
comment
Вы проверяете соединение только при запуске нового экземпляра?   -  person Marcin    schedule 05.10.2020
comment
@Marcin В идеальном случае он должен постоянно проверять соединение и завершать экземпляр, если соединение не может быть установлено.   -  person Sunil Kumar    schedule 05.10.2020


Ответы (1)


Для этого вам действительно нужна какая-то настраиваемая проверка работоспособности, поскольку никакие встроенные метрики (например, использование ЦП, вход / выход сети) здесь не будут работать.

Одна из идей заключается в том, чтобы эти экземпляры загружались с помощью задания cron, которое запускается каждые несколько минут и проверяет, установлено ли соединение и работает ли оно. В противном случае экземпляр может установить себя как неисправный с помощью интерфейса командной строки или SDK.

Вот пример фрагмента кода bash, который получает идентификатор экземпляра экземпляра, на котором выполняется код, а затем отмечает себя как неработоспособный. Это заставит ASG заменить его.

EC2_INSTANCE_ID="`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`"
aws autoscaling set-instance-health --instance-id $EC2_INSTANCE_ID --health-status Unhealthy

Ресурсы:

person JD D    schedule 05.10.2020