Является ли AWS Elastic Load Balancer единственной точкой отказа?

15

Я планирую перенести наше приложение на Amazon Web Services. Планируется зеркалирование всех экземпляров EC2 в двух зонах доступности. Из-за затрат на передачу данных мы будем находиться в одном регионе AWS (штат Орегон).

Несколько AZ избавляют от единой точки отказа для наших серверов приложений и баз данных, но как насчет ELB? Если у меня есть один ELB, распределяющий трафик между двумя AZ, будет ли ELB также размещаться в этих двух AZ?

Что делает Amazon, чтобы не допустить, чтобы ELB был SPoF?

Chris.B
источник

Ответы:

13

По сути, ELB - это просто набор экземпляров EC2. Когда вы создаете ELB , вы указываете зоны доступности, в которых вы хотите, чтобы балансировщик нагрузки был. В этих зонах будут созданы экземпляры для составления балансировщика нагрузки. Чтобы избежать единой точки отказа, можно вернуть несколько IP-адресов при поиске DNS. Например:

  • Поиск DNS для website.example.com возвращает CNAME website-elb-12345.eu-west-1.elb.amazonaws.com
  • Поиск также возвращает информацию для website-elb-12345.eu-west-1.elb.amazonaws.com. В нем говорится, что сайт имеет IP-адрес 1.2.3.4 и IP-адрес 2.3.4.5.

Клиент сам выбирает, какой IP-адрес использовать для установления соединения. IP-адреса не всегда будут возвращаться в том же порядке из поиска DNS. Клиент может повторить попытку с альтернативного IP-адреса, если он не может подключиться с первой попытки.

TTL в записях DNS для ELB составляет всего 60 секунд, что означает, что в случае смерти и замены экземпляра ELB DNS будет обновляться везде довольно быстро.

Ричард
источник
Итак, поскольку я буду развертывать экземпляры своего приложения EC2 в нескольких зонах, когда я буду создавать ELB для этого региона, будет ли он автоматически размещаться на экземплярах EC2, распределенных в этих же двух зонах?
Chris.B
Когда вы создаете ELB, будь то через API или консоль, вас попросят выбрать зоны доступности, в которых вы хотите работать ELB. Вам просто нужно выбрать те же зоны доступности, в которых будут ваши экземпляры.
Ричард
3

На самом деле это может быть SPoF, но я считаю, что это будет SPoF только в том же регионе.

Вот почему AWS предлагает использовать проверку работоспособности Route 53 для обнаружения и перенаправления трафика, который может оказаться на нездоровом ELB.

Вы можете использовать функции проверки работоспособности Amazon Route 53 и отработки отказа DNS, чтобы повысить доступность приложений, работающих за Elastic Load Balancers. Маршрут 53 выйдет из строя от балансировщика нагрузки, если в балансировщике нагрузки не зарегистрированы исправные экземпляры EC2 или если сам балансировщик нагрузки не работает .

Источник: http://aws.amazon.com/elasticloadbalancing/

Alex
источник
Так есть ли способ настроить более одного ELB в одном регионе. Есть один в качестве основного и один в качестве резервного? Или Route 53 способен запустить новый экземпляр ELB?
Chris.B
Я не думаю, что Route 53 может автоматически настроить ELB, вы должны были бы посмотреть в руководстве по разработке.
Алекс
1

Вы можете обойти свой индивидуальный AZ SPoF, создав группу автоматического масштабирования, где, если ваш единственный ELB не соответствует X-фактору, будь то по нагрузке, времени отклика и т. Д., Создается новый ELB. ELB - это, по сути, экземпляры EC2, выполняющие собственный код AWS.

Джон Дин
источник
Я думал, что ELB автоматически масштабируется для увеличения нагрузки и т. Д.
Chris.B