AWS API Gateway-日志记录

时间:2020-01-13 07:24:26

标签: amazon-web-services aws-api-gateway

过去三到四天内,我的API网关突然显示异常行为。大部分时间timeout errors。 它由AWS Lambda支持。 为了获得更多见解,我启用了日志记录功能。请参考以下我已应用的设置:

enter image description here


为了确保不能从外部访问它,我还应用了资源策略,如下所示(仅从我的VPC进行访问):

{
    "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"
                }
            }
        }
    ]
}

我无法理解以下内容,无法对这种行为有更多的了解。 如果有人可以帮助我了解如何回溯根本原因,那将是非常棒的。

  • 启用日志记录的那一刻,我可以在日志组下看到大约300-305个空日志流。 (我为访问日志和API网关日志创建了两个不同的日志组)。这是正常现象还是API受到攻击?
  • 我的Lambda调用了所有这些API。没有其他服务或外部用户/服务正在访问这些端点。我的帐户下有大约70个Lambda,它们被称为这些终结点。我如何跟踪哪个Lambda在调用端点?我遍历了cloudwatch日志,我期望在caller下应该有Lambda函数名称/ Arn,它已调用了端点,但它是空的。
  • 如何添加功能,以便在日志记录(Cloudwatch日志)中看到哪个Lambda / Service实际称为API网关端点。

我希望我的疑问很清楚。

0 个答案:

没有答案