Недостатки следующей облачной (AWS) архитектуры - PullRequest
0 голосов
/ 22 февраля 2019

Мне нужна масштабируемая и экономически эффективная архитектура для службы веб-дизайна.(несколько клиентов).Я следую за архитектурой ниже.Я хотел бы знать о его недостатках.

Справочная информация : серверное приложение на основе Nuxt.js, созданное обратным прокси-сервером nginx.

Контейнер приложения и прокси-контейнеры развернуты в экземплярах AWS ECS.Прокси-контейнеры регистрируются в ALB (балансировщик нагрузки приложения) через прослушиватели, которые отображаются из динамического порта контейнера в статический порт ELB.

Итак, предположим, что у нас есть два клиента: www.client-1.com и www-client-2.com

Когда выполняется запрос на www.client-1.com, запрос 301 перенаправляется (с маскированием) на ПОРТ 80ALB.Когда запрос достигает ALB:80, он сопоставляется с instance_ip:3322 (где 3322 - динамический контейнерный порт) через настроенный listener-for-client-1.И ответ отправляется обратно клиенту.

Когда делается запрос на www.client-2.com, запрос 301 перенаправляется (с маскированием) на ПОРТ 81 ALB.Когда запрос достигает ALB:81, он сопоставляется с instance_ip:3855 (где 3855 - динамический контейнерный порт) через настроенный listener-for-client-2.

Как вы можете видеть, эта модель позволяет мне поделиться elbчерез несколько клиентов.Эта модель проверена и работает на меня.

  • Как вы думаете, переадресация домена 301 - ужасная идея?Можете ли вы порекомендовать альтернативу, которая является доступной, не требуя ELB для каждого клиента.
  • Какие еще недостатки вы видите?

Спасибо!

1 Ответ

0 голосов
/ 22 февраля 2019

Маскировка домена - это всегда ужасная идея.Проблемы неизбежны, особенно когда ожидается, что браузер получит доступ к нестандартному порту.

Но ничего из этого не требуется.ALB поддерживает несколько приложений (клиентов) на одном балансировщике.

Теперь вы можете создавать правила балансировки нагрузки приложений, которые маршрутизируют входящий трафик на основе доменного имени, указанного в заголовке узла.Запросы на api.example.com могут отправляться одной целевой группе, запросы на mobile.example.com - другой, а все остальные (с помощью правила по умолчанию) - третьей.

https://aws.amazon.com/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/

Несмотря на то, что в этом примере используются субдомены (из http://example.com), ALB не имеет ограничений, требующих, чтобы домены были связаны. Вы можете присоединить 26 различных сертификатов SSL к одному ALB иМаршрутизация по имени хоста от стандартных портов 80 и 443 к уникальным целевым объектам сервера для каждого заголовка запроса Host - до 100 правил на балансировщик.

...