3

Использование aws-инструментов, как лучше всего маршрутизировать трафик на различные экземпляры EC2 в зависимости от URI? Например:Aws маршрутизация в разные ELB

www.website.com/login -> EC2 экземпляра 1 www.website.com/backoffice -> экземпляр EC2 2

Я знаю, что могу поставить Nginx и маршрут все входящего интернет-трафика через него, но есть ли более простое решение?

ответ

0

Обычный способ сделать это, чтобы иметь два СОБА и использовать имя субдомена для маршрутизации трафика к его конкретной ELB: при необходимости

www.website.com/login -> login.website.com 
www.website.com/backoffice -> backoffice.website.com 

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

4

ELB не поддерживает маршрутизацию HTTP-запросов на разные концы на основе пути (или любых других параметров запроса). Ожидается, что все серверные части для данного ELB смогут обслуживать все запросы.

Единственный способ сделать это «без сервера» с компонентом AWS - без использования чего-то типа Nginx или HAProxy за ELB - и без перенаправления на разные поддомены - это создать ELB для каждой независимой коллекции серверов приложений, а затем используйте CloudFront для всего сайта. CloudFront позволяет объявлять несколько исходных серверов (по одному для каждого ELB), а затем использовать шаблоны поведения поведения кэша, чтобы определить, какие пути маршрутизируются к тому, из какого источника (в данном случае ELB).

Обратите внимание, что это совершенно допустимый прецедент для CloudFront, даже если вам не требуется кеширование (его можно выборочно отключить).

В качестве бонуса это также упрощает интеграцию статического содержимого, хранящегося в S3, на ваш сайт, поскольку вы также можете объявить один или несколько кодов S3 в качестве исходных серверов, а CloudFront отправит запросы непосредственно на S3 для соответствия пути.

Смежные вопросы