Ответ 1
Из Эластичная документация по бобовому стеклу:
При запуске среды AWS Elastic Beanstalk вы выбираете тип среды, платформу и тип среды. Выбранный вами уровень среды определяет, поддерживает ли AWS Elastic Beanstalk ресурсы для поддержки веб-приложения, которое обрабатывает запросы HTTP (S) или веб-приложение, которое обрабатывает задачи фоновой обработки.
AWS Elastic Beanstalk устанавливает демон каждого экземпляра Amazon EC2 в группе автоматического масштабирования для обработки сообщений SAN ASazon в уровне рабочей среды. Демон извлекает данные из очереди Амазонки SQS, вставляет ее в тело сообщения HTTP POST-запроса и отправляет его на настраиваемый пользователем URL-адрес на локальном хосте. Тип контента для тела сообщения в запросе HTTP POST по умолчанию - application/json.
С точки зрения разработчика приложение, работающее на рабочем уровне, представляет собой просто обычную веб-службу. Он получит вызовы от демонстратора AWS Elastic Beanstalk, предоставленного вам в экземпляре.
Запросы отправляются в заданное вами значение HTTP-Path. Это делается таким образом, чтобы отображаться в веб-приложении в уровне рабочей среды, что демон вызвал запрос. Таким образом, демона выполняет аналогичную роль в балансировщике нагрузки на уровне среды веб-сервера.
Уровень рабочей среды после обработки сообщений в очереди пересылает сообщения через локальный loopback в веб-приложение с указанным вами URL-адресом. URL-адрес очереди доступен только с локального хоста. Поскольку вы можете получить доступ только к URL очереди из одного экземпляра EC2, аутентификация не требуется для проверки сообщений, которые доставляются по URL-адресу.
Веб-приложение в уровне рабочей среды должно прослушивать только локальный хост. Когда веб-приложение в уровне рабочей среды возвращает ответ 200 OK, чтобы подтвердить, что он получил и успешно обработал запрос, демон отправляет вызов DeleteMessage в очередь SQS, чтобы сообщение было удалено из очереди. (SQS автоматически удаляет сообщения, которые находились в очереди дольше, чем сконфигурированный RetentionPeriod.) Если приложение возвращает любой ответ, отличный от 200, или нет ответа в течение настроенного периода InactivityTimeout, SQS снова делает сообщение видимым в очереди и доступны для другой попытки обработки.