Прокси-сервер шлюза API AWS с AWS Lambda в качестве промежуточного оборудования

#amazon-web-services #aws-lambda #aws-api-gateway

Вопрос:

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

Ответ №1:

Короткий ответ

Да, но не делай этого. Есть и другие решения.

Объяснение, почему вы не должны этого делать

Вы можете использовать лямбда-код между вашими контейнерами и API gw, но использование лямбда-кода в качестве «промежуточного программного обеспечения» является антипаттером, вам придется заплатить вдвое больше, заставив ваш лямбда-код ждать ответа ваших микросервисов.

Другие решения

  • Если вы хотите выполнить проверку подлинности или проверить заголовки и файлы cookie, вам следует использовать лямбда-авторизатор.
  • В вашем случае вы можете использовать балансировщик нагрузки приложений. Это может сделать перенаправление пути к различным целевым группам. https://aws.amazon.com/premiumsupport/knowledge-center/elb-achieve-path-based-routing-alb/
  • Возможно, имеет смысл иметь библиотеку, совместно используемую различными микросервисами, которая выполняет проверку ранних ответов или запросов.

Не уверен, какова ваша реальная цель и вариант использования, но если вы подробнее расскажете о том, чего вы хотели бы достичь, я, возможно, смогу помочь.

Комментарии:

1. Я хотел бы проверить, был ли отменен заголовок аутентификации проверьте некоторую системную информацию внутри заголовка аутентификации.

2. Используйте авторизатор!

Ответ №2:

IMHO это будет работа шлюза API — на основе различных URI и HTTP-методов вы можете перенаправить запрос на разные лямбды. Вы также можете проверить /проверить параметры/тело вашего запроса и/или добавить авторизаторы (включая Лямбду). Было бы интересно узнать больше о случае использования и о том, подходит ли для него шлюз API

Комментарии:

1. Я хотел бы проверить, был ли заголовок auth отозван проверьте некоторую системную информацию внутри заголовка auth.