Назад | Перейти на главную страницу

Проблемы с DNS в AWS Elastic Load Balancer

Мы хотели посмотреть, позволит ли использование Route 53 направлять трафик на наши машины вместо AWS ELB, просто для экспериментов, и мы заметили следующее.

У нас есть несколько машин Nginx, работающих под AWS ELB. Мы также обновили общедоступные IP-адреса этих машин в Route 53 и немедленно удалили нездоровые. Затем мы добавили взвешенную маршрутизацию, чтобы половина трафика проходила через ELB, а другая половина проходила через Route 53 непосредственно на эти машины. У нас включен мониторинг Grafana на всех машинах, так что это означает, что мы должны видеть почти вдвое больший трафик в Grafana, чем мы видим в AWS ELB. Это не относится к делу. Мы все еще видим почти 80% трафика в ELB. Мы включили это 24 часа назад. Когда у нас не было этого разделения трафика и мы отправляли трафик только на ELB, панель управления Grafana и AWS ELB показывали точно такой же трафик, что наводило нас на мысль, что наш конвейер мониторинга в порядке.

Мы выполнили это упражнение, потому что в конечном итоге мы хотим удалить AWS ELB вместо нашего, и мы хотели выяснить, могут ли наши машины обрабатывать вещи без ELB, поскольку теперь они будут подключаться к клиентам напрямую. Мои вопросы прямо сейчас: теряем ли мы трафик и как нам это узнать? Почему ELB по-прежнему показывает более 50% трафика через день?

Сейчас ELB показывает 6,8 млн, а Grafana показывает 9 млн. Разве Grafana не должна быть как минимум вдвое выше ELB, по крайней мере теоретически? Я понимаю, что IP-адреса должны кэшироваться провайдером или клиентом, но в этом случае, если машины ELB выходят из строя, трафик на эти IP-адреса должен теряться? Я немного смущен и обеспокоен.

Route53, будучи службой DNS, не контролирует объем трафика и куда он направляется.

Подумайте об этом так, у вас есть 2 клиента - Client1 и Client2. Client1 запрашивает yourdomain.com и получает IP-адрес 10.100.10.20, затем Client1 загружает 100 МБ за 30 последовательных подключений.

Теперь Client2 запрашивает yourdomain.com и получает IP-адрес 10.100.10.30, Client2 затем загружает 25 МБ за 50 последовательных подключений.

В этом случае Route53 равномерно балансирует нагрузку DNS-запросов между двумя серверами. Но каждый клиент извлекал разное количество данных и делал разное количество подключений для этого. Итак, теперь ваш балансировщик нагрузки показывает 100 МБ трафика и 30 подключений, а Grafana показывает 125 МБ трафика и 80 подключений.

Если вы хотите по-настоящему сбалансировать нагрузку трафика, вам понадобится балансировщик нагрузки. Вот что делает ELB. Route53 этого не делает, он только балансирует нагрузку на DNS-запросы.