Требуются предложения по настройке AWS

Требуются предложения по настройке AWS

Для своего следующего проекта я собираюсь попробовать AWS и server-less, но я не уверен, как рассуждать о различных сервисах AWS. Поэтому надеюсь, что кто-то здесь хорошо разбирается в этом.

В настоящее время проект состоит из трех различных интерфейсных приложений, каждое из которых размещено на отдельном поддомене:

  • Корневой домен + [www]: Основная веб-страница, которая в основном состоит из «продающего» контента.
  • [администрирование]: Фронтенд-приложение для наших систем администрирования
  • [пользователь]: Фронтенд-приложение для нашего пользовательского опыта

Затем, на данный момент, есть одно приложение backend, которое обслуживает все frontend-приложения. Этот backend должен быть обратно проксирован по крайней мере поддоменами [administration] и [user] (т. е. как user.domain.com/service/backend). Мой backend-сервис в настоящее время работает как контейнер docker и использует WebSockets для некоторых частей, так что это должно поддерживаться.

Я рассматривал несколько вариантов для своих фронтендов, либо AWS Amplify, либо S3+Cloudfront. Однако я не уверен, что это то, что я ищу.

То же самое касается моего бэкенда. Я рассматриваю AWS Fargate, AWS API Gateway и возможный AWS AppSync (поскольку большая часть моего бэкенда — это приложение GraphQL).

Но я немного запутался. Может кто-нибудь подтолкнуть меня в правильном направлении? Надеюсь, я дал достаточно и ясной информации, в противном случае я был бы рад расширить! :)

Спасибо!

решение1

Если кому интересно, то у меня получилась примерно такая же конфигурация, как описано здесь:https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-whole-site-delivery-with-amazon-cloudfront/

Если я маршрутизирую все через Cloudfront, то с помощью «Поведений» я маршрутизирую трафик на разные сервисы. Например, /service/user и /service/schedule направляются на мой экземпляр ALB, а все остальное направляется на мой S3-bucket, действующий как статическая веб-страница.

Используя немного магии Lambda@Edge, я могу переписывать запросы, пересылаемые на мой экземпляр ALB, который затем может сопоставлять входящие запросы и пересылать их дальше в правильные нижележащие контейнеры (в настоящее время я использую кластеры в Fargate).

Это очень хорошо работает для моего варианта использования, даже если это не "лучшая практика". Так что я, конечно, продолжу изучать AWS и узнавать что-то новое. :)

Если это кому-то поможет, здорово. Если кто-то имеет вклад в вышеизложенное, я был бы рад услышать!

Ваше здоровье!

Связанный контент