Имеет ли смысл использовать Amazon Elastic Load Balancer только с одним инстансом EC2?

мой вопрос простой. Имеет ли смысл использовать Amazon Elastic Load Balancer (ELB) только с одним инстансом EC2?

Если я правильно понял, ELB будет переключать трафик между инстансами EC2. Однако у меня всего один экземпляр EC2. Так есть ли в этом смысл?

С другой стороны, я использую Route 53 для маршрутизации моих доменных запросов domain.com и www.domain.com на мой ELB, и я не вижу, как выполнить перенаправление непосредственно на мой экземпляр EC2. Итак, нужен ли мне ELB для маршрутизации?


person Rober    schedule 06.12.2014    source источник


Ответы (7)


Нет необходимости использовать балансировщик нагрузки, если вы используете только один инстанс Amazon EC2.

Чтобы указать ваше доменное имя на экземпляр EC2:

  • В консоли управления EC2 выберите Эластичный IP.
  • Назначить новый адрес
  • Свяжите адрес с вашим экземпляром EC2
  • Скопируйте эластичный IP-адрес и используйте его в субдомене Route 53.

При желании эластичный IP-адрес можно позже повторно связать с другим экземпляром EC2.

Позже, если вы захотите сбалансировать несколько экземпляров EC2:

  • Создание эластичного балансировщика нагрузки
  • Добавьте свои экземпляры в Load Balancer
  • Направьте свой субдомен Route 53 на балансировщик нагрузки
person John Rotenstein    schedule 07.12.2014
comment
Пункты в других ответах, которые расходятся, нет необходимости: повторно запустить аварийные экземпляры с помощью автомасштабирования; проще конфигурировать SSL / TLS; защита от определенных атак типа "отказ в обслуживании". - person Paul Bissex; 22.08.2018
comment
Также нет необходимости изменять DNS, нет необходимости вручную повторно назначать эластичный IP-адрес при замене экземпляра. - person Paul Bissex; 22.08.2018
comment
+1 для пояснения, что это возможно с технической точки зрения (некоторые могут подумать, что это невозможно), хотя есть некоторые опасения по поводу будущих проблем без ELB, как описано в других ответах. - person Akif; 11.07.2020

Может оказаться полезным использование Elastic Load Balancer с одним экземпляром. Он может предоставить вашему экземпляру интерфейс для покрытия аварийной ситуации.

Например, если вы используете группу с автоматическим масштабированием с экземпляром min = max = 1, с Elastic Load Balancer, то, если ваш экземпляр прерывается или выходит из строя по другой причине:

  1. автоматическое масштабирование запустит новый замещающий экземпляр
  2. новый экземпляр появится за балансировщиком нагрузки
  3. трафик вашего пользователя будет перетекать в новый экземпляр

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

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

person Matt Houser    schedule 07.12.2014

Настроить SSL на ELB намного проще, чем на EC2, всего за несколько щелчков мышью в консоли AWS. Вы даже можете вручную выбрать протоколы и шифры SSL.

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

person Hesky    schedule 16.02.2016
comment
У меня тоже есть один экземпляр EC2 за настройкой ELB с единственной целью - использовать новое бесплатное предложение SSL через диспетчер сертификатов. Диспетчер сертификатов не позволяет подключить сертификат к одному экземпляру EC2, поэтому я видел, что это единственный способ ... - person Matthew Housser; 19.02.2016
comment
плюс один для ssl :) - person Andrzej Rehmann; 20.04.2016
comment
@MatthewHousser Это все еще действует / законно (в терминах AWS) по состоянию на 2018 год? - person Ali Gajani; 19.03.2018
comment
Кроме того, если ваш SSL-сертификат принадлежит Amazon, вы не можете использовать его с автономным экземпляром EC2. Для использования SSL необходимо использовать ELB или CloudFront. Другой вариант - установить автоматически обновляемый сертификат SSL с помощью Let's Encrypt, который предоставляется бесплатно. - person Craig; 18.07.2018

С NO ELB: -

  • Менее безопасен (возможны атаки DOS, поскольку HTTP 80 будет открыт для всех, а не только для ELB)
  • У вас не будет свободы завершить работу экземпляра, чтобы сэкономить часы EC2, не беспокоясь о переназначении вашего эластичного IP-адреса (хотя это не имеет большого значения)
  • Если вы не используете ELB и ваш экземпляр ec2 выходит из строя / завершается / идет вниз

    1. Your site will remain down (It will remain up if you use ELB+Scaling Policies)
    2. Вам нужно будет переназначить свой эластичный IP-адрес
    3. Вы платите за то время, когда ваш эластичный IP-адрес не указывает на экземпляр, около 0,005 долл. США в час.

Вы получаете 750 часов эластичной балансировки нагрузки плюс 15 ГБ обработки данных с бесплатным уровнем, так почему бы не использовать его вместе с политикой масштабирования min = 1, max = 1

person Ryan Augustine    schedule 11.06.2016

Помимо ответа о том, как упростить поддержку SSL, поставив балансировщик нагрузки перед вашим экземпляром EC2, еще одним потенциальным преимуществом является HTTP / 2. Балансировщик нагрузки приложений (ALB) автоматически обрабатывает трафик HTTP / 2 и преобразует до 128 параллельных запросов в отдельные запросы HTTP / 1.1 для всех исправных целей.

Для получения дополнительной информации см. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-configuration

person Monkey34    schedule 03.09.2018

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

Хотя с одним экземпляром EC2 нет необходимости использовать ELB (весь ваш трафик в любом случае будет идти в этот экземпляр), если ваша служба EC2 должна масштабироваться в ближайшем будущем, неплохо потратить некоторое время сейчас и ознакомиться с ELB.

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

Если ваш сервис EC2 не будет масштабироваться в ближайшем будущем, не волнуйтесь слишком сильно!

Что касается второй части, вы определенно можете выполнить маршрутизацию напрямую к своему экземпляру EC2, вам просто нужен IP-адрес экземпляра EC2. Взгляните на документы amazon route53. Имейте в виду, что если ваш IP-адрес не является статическим (вы не настраиваете Amazon Elastic IP), вам нужно будет изменять сопоставление IP-адресов каждый раз, когда изменяется IP-адрес EC2.

person rupps    schedule 06.12.2014

Вы также можете использовать ELB перед EC2, если, например, хотите, чтобы он был общедоступным, без использования эластичного IP-адреса. Как было сказано ранее, они также хорошо работают с ASG

person JoeShmoe    schedule 16.02.2016