. У меня есть простой HTTP-сервис, созданный с AWS lambda и API-шлюзом. Домен, указывающий на шлюз, размещен на Route53, а шлюз использует сертификат из диспетчера сертификатов. Текст "служба запущена" на главной странице. Довольно стандартная настройка. Все аккуратно подключено с помощью Terraform, работает как шарм... за исключением странных запросов, поступающих к API каждые несколько секунд (! ). Я проверил все возможные запросы, Healthchecks доступны на AWS — все отключено, но запросы продолжают поступать
Дамп запроса от лямбды:
{
...
"headers": {
"accept": "*/*", "accept-encoding": "gzip, deflate", "content-length": "0",
"host": "sub-b.sub-a.my-domain.com",
"user-agent": "python-requests/2.26.0",
"x-amzn-trace-id": "Root=1-6158e0d5-0d266e5d0a84add227005a79",
"x-forwarded-for": "3.85.226.144", "x-forwarded-port": "443",
"x-forwarded-proto": "https"
},
...
"http": {
"method": "GET", "path": "/", "protocol": "HTTP/1.1",
"sourceIp": "3.85.226.144", "userAgent": "python-requests/2.26.0"
},
"requestId": "GmgRbgATFiAEMtQ=",
"routeKey": "$default",
"stage": "$default",
"time": "02/Oct/2021:22:44:37 +0000"
...
}
3.85.226.144
IP — это инстанс EC2 в Северной Вирджинии, поэтому это us-east-1
регион AWS (]mine is eu-central-1). И этот агент python-requests/2.26.0
. Похоже на сервис AWS. Тем более, что я экспериментировал с изменением субдомена, который не меняет окончательный результат, когда начинает появляться запрос сразу же после повторной настройки моего сервиса с другим поддомен нт. Объем около 3000 запросов в час.
Я уже часами гуглил и проверял все, что приходило мне в голову, но, несмотря на то, что я довольно часто работаю с инфраструктурой, я буквально беспомощен.
Что, черт возьми, отвечает за эти запросы?!
Приветствуются любые идеи и предложения.
РЕДАКТИРОВАТЬ:
Я провел тест с новым корневым доменом, чтобы убедиться, что это что-то от AWS. Запросы останавливались (очевидно)во время сбоя, но возобновлялись немедленно (через несколько секунд)после того, как сервис снова был доступен. terraform apply
началось в 9:52 и завершилось в 9:59.Новый домен был подключен чуть раньше 9:59 (некоторые неактуальные модификации ожидались еще несколько минут)и поэтому начали поступать запросы. Насколько я могу себе представить, ничто не может так быстро обнаружить новый корневой домен, поэтому он должен быть связан с самим AWS.
Итак, проблема оказалась связана с маршрутом Route 53 или диспетчером сертификатов.
Когда я применял свои terraform-определенные ресурсы , должно было происходить какое-то состояние гонки , которое приводило к тому, что какое-то зондирование инициализации длилось вечно, а не останавливалось сразу после создания ресурсов. Итак, мой вывод таков: когда шлюз API, маршрут DNS и сертификат создаются одновременно, Route53 или CM имеют тенденцию оставаться в каком-то странном состоянии. Создание всех служб с помощью terraform, затем удаление маршрута и повторное создание решили проблему.
Могу я спросить, почему вы думаете, что это генерируется самой службой AWS? Я мало что знаю об AWS, но как только я вижу «python-requests/2.26.0» как UA, я сразу же представляю, что кто-то по каким-то причинам написал скрипт для использования/проверки API. Что на самом деле является ответом на эти запросы? Можно ли извлечь из него какую-либо коммерческую информацию, такую как цены/тарифы и т. д.? Если да, то, возможно, у вас просто есть кто-то, кто арендует сервер в AWS и пишет сценарии для анализа ваших данных. Или же они могут проверять все возможные хосты на наличие всех возможных доменов. Бывает в Интернете)
Кроме того, похоже, что вы не первый, кто спрашивает или сообщает об этом IP-адресе: https://www.abuseipdb.com/check/3.85.226.144 https://github.com/photoprism/photoprism/issues/1458