Управление плавающим IP на сервисах AWS

Давайте представим, что у меня есть AWS EIP, выделенный как: eipalloc-94eb5af1 Давайте представим, что у меня есть сетевой интерфейс AWS: eni-e3d20a9a, eni-e3d20a9a

Давайте теперь сделаем вид, что у меня есть два сервера EC2. Сетевые интерфейсы находятся на этих двух серверах.

Теперь... предположим, я хотел настроить мониторинг. Мониторинг пинга возможно. Если eni-e3d20a9a станет невидимым, я хочу перенести EIP на eni-e3d20a9a.

Это может быть легко достигнуто путем:

aws ec2 associate-address --allocation-id eipalloc-03d3b666 \
    --allow-reassociation --network-interface-id eni-98e03bd3

Кроме того, настройка элементарного bash-скрипта на каждом сервере для мониторинга друг друга довольно проста.

Но мне нужен совет, чтобы сделать это эффективно на AWS. Не со сценарием Возможно с Lambda или Cloudwatch?

Каков наилучший способ выполнить EIP?

2 ответа

Решение

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

Для вас нет автоматического средства для выполнения этого мониторинга / переключения. Вы можете отслеживать свой экземпляр из сценария в экземпляре EC2, из запланированной функции лямбда AWS или даже с компьютера в любом месте Интернета. Тем не менее, вы будете нести ответственность за этот сценарий.

В качестве альтернативы, вы могли бы сами экземпляры отправлять пользовательскую метрику в Amazon CloudWatch на регулярной основе, а затем создавать аварийный сигнал, который будет срабатывать, если значение метрики изменяется (например, не обновлялось в последнее время, что указывает на возможный сбой системы). Аварийный сигнал может вызвать функцию AWS Lambda, которая будет повторно связывать Elastic IP-адрес.

Или другая идея - использовать Amazon Route 53 с проверкой работоспособности. Если средства проверки работоспособности Amazon Route 53 обнаружат проблему, они могут изменить разрешение DNS-имени на альтернативный IP-адрес. Это не повторная привязка эластичного IP-адреса. Скорее, это изменение IP-адреса, возвращаемого при разрешении DNS-имени.

Если я правильно понимаю вашу проблему, вам придется переключить EIP, если один экземпляр, который действует как основной, переходит на второй экземпляр, и теперь этот вторичный/резервный экземпляр будет действовать как основной.

Если мое вышеизложенное понимание верно, вы можете использовать Keepalived для автоматического мониторинга и переключения эластичного IP-адреса между экземплярами.

По этой ссылке есть пример того, как сделать то же самое https://www.peternijssen.nl/high-availability-haproxy-keepalived-aws/ .

Другие вопросы по тегам