масштабирование ec2 по требованию, лямбда-стиль - PullRequest
0 голосов
/ 15 февраля 2019

Я новичок в AWS и полностью потерян.Я теряю надежду.

То, что я хочу сделать, кажется довольно легким, но я не могу найти какой-либо четкой упрощенной документации.Я хотел бы, чтобы мой текущий веб-сервер вызывал некоторый API с запросом http и получал некоторое значение, возвращаемое из API.Возвращаемые значения вычисляются некоторым скриптом Python.Теперь лямбда будет делать эту работу, но мне нужно запустить ее на EC2 из-за вычислительной нагрузки (необходимо 16 ядер).Кроме того, для этого потребуется масштабировать: обрабатывать каждый запрос API на другой машине с 16 собственными ядрами.Если у меня 100 вызовов, я должен получить 100 EC2, работающих параллельно.Когда нет вызова API, у меня должен быть запущен 0 EC2 и $ 0.00.

Обычно, для данного сеанса, несколько вызовов будут приходить в течение примерно 10 минут, и на эти вызовы следует отвечать быстро.То, что я думаю, возможно, имеет специальный первый звонок, который запускает EC2 на 20 минут.Таким образом, первый вызов может занять 20 секунд, но на последующие следует ответить очень быстро.

Summary of what I need AWS to do:
 - Receive "start" API Call (Amazon API Gateway ?)
 - Start an EC2 specifically for that session for 20 mins
 - Return EC2 address (?)
 - Call script on EC2 through http requests
 - Stop EC2 after 20 mins or after the last call

Какие сервисы можно настроить и настроить для этого?

Я могу создатьобраз докера со скриптом, если это необходимо.(есть ли вообще другой способ?)

Возможно ли это?Как?

Большое спасибо

Редактировать: немного изменил вопрос, чтобы отразить временные ограничения.

1 Ответ

0 голосов
/ 15 февраля 2019

Мне кажется, вам стоит взглянуть на пакет AWS.Это позволяет вам запускать пакет заданий, и вы можете использовать машины с большим количеством виртуальных ЦП и получать оплату за секунду.

https://aws.amazon.com/batch/

...