Почему для балансировщика нагрузки приложения AWS требуются две подсети?

При попытке создать балансировщик нагрузки приложения на AWS (до сих пор я использовал классические приложения просто отлично), я получаю следующее сообщение:

At least two subnets must be specified

Почему ALB требует, чтобы я указал две подсети? Есть ли способ создать его и использовать его для LB между экземплярами в одной подсети?

1 ответ

Итак, просто чтобы быть ясно здесь. @pasmwel в основном ответил ссылками на документы, но я хочу это подтвердить, так как это, похоже, вызывает мнение.

Для ALB требуются 2 подсети, так что, если одна область выходит из строя, ALB все еще может работать с другими.

Что довольно глупо... поскольку AWS может делать это в фоновом режиме.

Обычный ELB и TCP LB не требуют этого без видимой причины. Но если подсеть рушится, они также потерпят неудачу.

Возможно, вам понадобится ALB как место, где можно легко разместить сертификат, обеспечить некоторую безопасность и легко интегрировать с R53 для одного целевого экземпляра. Особенно удобно, если вы хотите использовать Cloudformation для настройки при максимальном использовании AWS.

Так что настраивать 2 подсети кажется глупым. Я смутно помню, как где-то читал, что выполнение этого и использование только 1 приводит к снижению производительности, но я мог мечтать об этом.

так что если 1 регион выходит из строя

Вышеуказанное неверно и должно указывать

так что если 1 зона доступности (AZ) в регионе выйдет из строя

Ответ на вопрос заключается в том, что AWS не имеет веских причин требовать две подсети. Есть случаи использования, когда для производства нужна только одна подсеть, а в других случаях разработчикам нужна только одна подсеть. Можно подумать, зачем вообще использовать ALB, если подсеть всего одна. Ответ заключается в том, что ALB может отслеживать состояние инстанса (хотя есть и другие способы мониторинга, например, CloudWatch.

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