Мой API-шлюз неожиданно продемонстрировал ненормальное поведение за последние три-четыре дня. Большую часть времени timeout errors
. Он поддерживается AWS лямбда. Чтобы получить больше информации, я включил ведение журнала. Пожалуйста, обратитесь к настройке ниже, которую я применил:
![enter image description here](https://i.stack.imgur.com/0QFMA.png)
Чтобы убедиться, что к ней нет доступа извне, я также применил политику ресурсов следующим образом (Доступ только из моего ПО C):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": [
"arn:aws:execute-api:us-west-2:123456798012:abcdefgh/*/POST/api-1",
"arn:aws:execute-api:us-west-2:123456798012:abcdefgh/*/POST/api-2",
"arn:aws:execute-api:us-west-2:123456798012:abcdefgh/*/POST/api-3",
"arn:aws:execute-api:us-west-2:123456798012:abcdefgh/*/POST/api-4"
],
"Condition": {
"StringEquals": {
"aws:sourceVpc": "vpc-xyzjhil"
}
}
}
]
}
Я не могу понять следующие вещи, чтобы лучше понять это поведение. Было бы здорово, если бы кто-то мог помочь мне понять, как отследить причины root.
- В тот момент, когда я включил ведение журнала, я вижу около 300-305 пустых потоков журнала в моей группе журналов. (Я создал две разные группы журналов для журналов доступа и журнала шлюзов API). Это нормальное поведение или API на самом деле получает удар?
- Все эти API вызываются моей Lambda. Никакая другая служба или внешний пользователь / служба не получают доступ к этим конечным точкам. У меня есть около 70 Lambdas под моей учетной записью, которые вызывают эти конечные точки. Как я могу отследить, какая Lambda вызывает конечную точку? Я просмотрел журналы cloudwatch, ожидал, что в
caller
должно быть имя лямбда-функции / Arn, которое вызвало конечную точку, но оно пустое. - Как добавить функциональность, чтобы в журнале ( Журналы Cloudwatch) Я вижу, какая Lambda / Service на самом деле назвала конечную точку шлюза API.
Надеюсь, у меня все в порядке с запросами.