AWS API-шлюз - ведение журнала - PullRequest
0 голосов
/ 13 января 2020

Мой API-шлюз неожиданно продемонстрировал ненормальное поведение за последние три-четыре дня. Большую часть времени timeout errors. Он поддерживается AWS лямбда. Чтобы получить больше информации, я включил ведение журнала. Пожалуйста, обратитесь к настройке ниже, которую я применил:

enter image description here


Чтобы убедиться, что к ней нет доступа извне, я также применил политику ресурсов следующим образом (Доступ только из моего ПО 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.

Надеюсь, у меня все в порядке с запросами.

...