验证 APIGW 正在缓存 Lambda 授权方响应

Verify APIGW is Caching Lambda Authorizer Response

我目前是 运行 API 到 APIGW,端点受 Lambda 授权方保护。为了提高性能,我在 APIGW 中为授权方生成的策略启用了缓存。

但是,我不确定如何有效地测试缓存是否正常工作。是否有一些我可以使用的标准系列调用,或者是否有某种方法可以明确检查是否正在缓存策略?

部分 SAM 模板:

      EndpointConfiguration: 
        Type: PRIVATE
        VPCEndpointIds: !Ref VPCEndpoints
      Auth:
        DefaultAuthorizer: DefAuthorizer
        Authorizers:
          DefAuthorizer:
            FunctionPayloadType: TOKEN 
            FunctionInvokeRole: !Sub arn:aws:iam::${AWS::AccountId}:role/RoleName
            FunctionArn: !ImportValue AuthorizerArn
            Identity:
              Headers:
                - Authorization
              ReauthorizeEvery: 3600

我们可以检查两件事:

  1. 自定义授权器 Lambda 在使用缓存中的策略时根本不会被调用。
  2. 您可以启用 Api 网关阶段日志到 cloudwatch。您会看到日志记录的差异。 缓存后,您只会看到一个条目 Using valid authorizer policy for principal

当它没有被缓存时,你应该看到额外的整体