обрабатывать URL в AWS Lambda перед отправкой в ​​ALB - PullRequest
0 голосов
/ 05 марта 2020

Я сейчас настраиваю ALB, который будет содержать 90 правил, основанных на шаблоне пути. Поскольку максимальное количество правил, поддерживаемых ALB, равно 100, а выражения регулярных выражений не допускаются в выражении шаблона пути, мне нужно найти обходной путь для уменьшения количества правил, установленных в ALB.

Моя идея состояла в том, чтобы обработать URL-адрес, полученный в лямбде, перед отправкой его в ALB, что потенциально снизит правила на стороне ALB.

Это хороший способ уменьшить количество правил в ALB? Меня беспокоит количество параллельных выполнений лямбды, поскольку оно ограничено 1000, есть ли другой вариант с управляемыми AWS сервисами, кроме лямбды, чтобы сделать это?

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Вы можете сделать это, но это сильно повлияет на вашу производительность. Вы можете попробовать использовать CloudFront поверх ALB. Кроме того, вы можете запустить несколько ALB и установить их за CloudFront

0 голосов
/ 06 марта 2020

Меня не будут беспокоить лямбда-казни. 1000 на самом деле довольно большое число, и это мягкий предел (вы можете запросить больше). Если у вас есть лямбда, которая выполняется за 100 мс, вы можете выполнить 10 000 запросов в секунду, и это без пакетной обработки (вы можете превысить ограничение для коротких пакетов).

Что касается количества правил в ALB, вы можете вместо этого рассмотреть возможность использования шлюза API, если у вас есть столько правил, которые основаны на пути. Как указывалось в другом ответе, вы можете использовать CloudFront для увеличения числа доступных правил, имея более одного ALB и суб-маршрутизацию на основе части пути.

...