Меня зовут Диего, и это мой первый вопрос на сайте. Я аргентинка, так что, извините за мой плохой английский.
Я был представлен в Amazon Web Services (AWS) четыре месяца назад и работал с такими сервисами, как EC2, S3, Route53, IAM и т. Д.
Теперь у меня есть следующий сценарий:
- EC2 (1) с веб-сайтом, основанным на React (внешний интерфейс) и Node.js (внутренний интерфейс)
- EC2 (2) с веб-приложением на основе React Native и Express.js
В Route53 я зарегистрировал domain.com , указывающий на первый EC2 (веб-сайт, на порт 80 ), а веб-приложение работает на втором EC2, на порт 3000 .
После нескольких дней поиска и прочтения (я дам ссылки в конце поста) я пришел сюда, чтобы решить сомнение.
Вопрос в следующем:
Когда я зайду на domain.com , я зайду на веб-сайт, поэтому некоторые пути, такие как / home, / services, / ourworks, / team и т. Д. будут быть частью этого. Но ... Если слово, которое следует за чертой, не относится к этому, мне нужно отправить пользователя на второй EC2 через порт 3000 , то есть веб-приложение . После этого веб-приложение узнает, что делать с маршрутом.
Итак ...
Каков наилучший способ маршрутизации этого сценария?
Я читал о:
-Используйте .htaccess для маршрутизации и портов. Это было хорошо в последнем сценарии, когда веб-сайт был сайтом Wordpress, но теперь он основан на React и Nodejs, поэтому мы больше не используем Apache, поэтому это решение для меня бесполезно.
-Используйте маршрутизацию Application Load Balancer (ALB). Это хорошо, но цена на эту услугу настолько высока, что я не могу использовать это сейчас.
-Используйте маршрутизацию службы API Gateway , но после прочтения я не могу найти официальную документацию о том, как напрямую маршрутизировать API-шлюз на сервер EC2. Вся документация говорит об API REST или API с WebSockets, с сервисом DynamoDB или Lambda. Ничто из этого не полезно для меня. Я не могу понять, как использовать API Gateway для моей покупки.
-Используйте NGINX на EC2, который domain.com указывает, и проложите маршруты из этой точки. Возможно, это хорошее решение, но я никогда не работал с этим программным обеспечением.
Итак, я сейчас в замешательстве. Кто-нибудь может сказать мне, какое решение для моей проблемы является лучшим и почему? Я буду очень признателен за это.
Ссылки, которые я прочитал в эти дни:
- Перенаправление с помощью htaccess в приложение nodejs (я не знаю, является ли использование Apache хорошим решением)
- https://www.reddit.com/r/aws/comments/71lz5v/applications_routing_based_on_url/ (Это хороший пост на Reddit)
- https://aws.amazon.com/es/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/ (используйте ALB и тратьте много денег, хаха)
- AWS Route 53 - Маршрут доменного имени к различным портам балансировщика нагрузки приложения (больше ALB, но это так интересно)
- https://forums.aws.amazon.com/thread.jspa?threadID=152643 (Этот сценарий наиболее похож на мой, но бедняк так и не получил ответа)
Ну, спасибо всем за прочтение и, если я нарушил какое-либо правило на форуме, пожалуйста, прости меня. До свидания! :)