#amazon-web-services #amazon-elb
#amazon-веб-сервисы #amazon-elb
Вопрос:
Существует классический ELB, и было добавлено шесть экземпляров, скажем, A1, A2, B1, B2, C1, C2. Ниже показана конфигурация порта / прослушиватели,
8000 (TCP) forwarding to 8000 (TCP)
9000 (TCP) forwarding to 9000 (TCP)
4430 (TCP) forwarding to 4430 (TCP)
И мне нужно
- переадресация 8000 (TCP) только на A1 и A2
- переадресация 9000 (TCP) только на B1 и B2
- переадресация 4430 (TCP) только на C1 и C2
Возможно ли это? Или сетевой ELB может это сделать?
Комментарии:
1. В вашем заголовке написано Network LB, но в тексте написано Classic? Какой из них?
2. Только что исправил это. Это классика, но я открыт для использования сети, если это возможно.
3. У вас есть только ALB (Application LB для http / https) или Network LB. Так что, я думаю, вам следует попробовать NLB.
Ответ №1:
С CLB вы, к сожалению, не можете этого сделать. Вы можете создать несколько прослушивателей, но вы не можете выбрать, какой прослушиватель применяется к каждому экземпляру.
Но вы можете сделать это с помощью одного NLB. Для этого потребуются три целевые группы, по одной для каждого порта и соответствующего набора экземпляров. Вы можете связать все три целевые группы с соответствующими слушателями в NLB, в то время как экземпляры будут зарегистрированы в их целевых группах.
Комментарии:
1. Только что попробовал мастер создания NLB, который, похоже, позволяет создать только одну целевую группу?
2. @ca9163d9 Уточняющие, которые вы должны создать самостоятельно, используя пункт меню целевых групп в консоли EC2.
3. Я создал тестовый nlb, и он работает. Но у меня еще не было изменений, чтобы протестировать его в QA из-за некоторых проблем с политикой компании.
Ответ №2:
Используйте средство балансировки сетевой нагрузки.
Классические балансировщики нагрузки не различают группы серверных частей. Новые средства балансировки нагрузки, приложения (например, правила listner на основе http) и сети (например, правила на основе IP), поддерживают прослушивателей с различными целевыми группами.
Из двух ALB является предпочтительным средством балансировки нагрузки. У вас может быть до 100 правил, и AWS предоставит вам бесплатный сертификат TLS с возможностью использования до 50 различных доменных имен в SAN. таким образом, вы можете размещать несколько сайтов (на одном порту), различать разные целевые группы по имени хоста, заголовкам и т. Д., А Затем соответствующим образом маршрутизировать трафик. Для разрешения трафика можно использовать группы безопасности. Я понимаю, что они поддерживают все обычные вещи, такие как веб-сокеты. Они также используют http2, что намного эффективнее для пользователей.
NLB не поддерживают маршрутизацию на уровне HTTP, вместо этого маршрутизируют по атрибутам уровня IP. Они все еще могут использовать TLS. Они также не поддерживают группы безопасности, поэтому вы не можете использовать SG для определения цели трафика, что может быть неудобно. Они хорошо работают для служб, которые не являются HTTP.
Комментарии:
1. Моя компания пока не разрешает нам использовать ALB, поэтому мне пришлось использовать NLB или classic. API сервиса имеет TLS / SSL, поэтому мне, вероятно, не нужен бесплатный сертификат TLS.
2. Вероятно, вы этого не делаете. Ваша компания может продолжать платить за собственный сертификат и проводить ротацию каждый год или два или использовать let’s encrypt или что-то в этом роде. Сертификаты ACM, вероятно, более безопасны с точки зрения того, что сотрудники не могут получить к ним доступ, но обычно у многих сотрудников есть root. Во всяком случае, очень часто прерывается исходное соединение tls в экземпляре.
3. На самом деле 4430 предназначен для соединения SSL / TLS. И я выбрал TCP вместо SSL, чтобы избежать настройки части конфигурации сертификата TLS. Может ли это вызвать какие-либо проблемы?
4. вполне приемлемо завершить работу с TLS в серверной части и указать TCP через балансировщик нагрузки. работает нормально, просто больше работы и денег