Нужно переместить устаревшее приложение на сервер без использования Lambda для внутренней логики c, но я не уверен, как лучше всего делать запросы к API-шлюзу из внешнего интерфейса, не позволяя пользователям напрямую запрашивать шлюз. Все пользователи не прошли проверку подлинности, но мы все равно хотели бы иметь какое-то ограничение скорости для каждого пользователя.
Подход 1
Host stati c content (html, js, et c.) на S3. JS на страницах запрашивает шлюз для извлечения внутренних данных и получения заданных URL-адресов для изображений и видео на S3.
При таком подходе я обеспокоен тем, что пользователи смогут запрашивать шлюз напрямую, а не через пользовательский интерфейс. Этот программный c доступ может быть затруднен для предотвращения и может привести к непредвиденным расходам.
Подход 2
Нет stati c содержимого из S3, вместо этого каждая страница будет быть поданным через лямбду. Более легкое содержимое c можно отправлять напрямую с Lambda, а большие изображения и видео будут поступать с заранее заданных URL-адресов S3.
Это не позволит пользователям просматривать запросы переднего плана -> внутреннего, поскольку они будут получать только полностью собранный html. Обеспокоенный такой подход увеличит время и стоимость лямбда-пробега.