使用Cognito进行身份验证 - 在何处查找日志

时间:2018-03-10 08:25:55

标签: amazon-web-services react-native aws-cognito

我们有2个React Native应用程序正在使用AWS Cognito进行身份验证。我们在代码中使用库react-native-aws-cognito-js。应用程序正常运行,直到这两天。应用程序遇到间歇性的“内部服务器错误”。

如何找到有关此错误的更多信息?任何工具都可以帮助我们查明原因吗?

更新

从CloudTrail,每个API调用都有一个事件“CreateNetworkInterface”。许多此类API调用都具有错误代码“Client.NetworkInterfaceLimitExceeded”。这是什么原因和解决方案?

根据this AWS Doc (in Chinese),当错误导致IP / ENI不足时,CloudWatch将不会写入日志。这解释了错误数量的增加,但CloudWatch中没有日志。

Upate 2

我们找到了一个可能耗尽IP地址的预定Lambda作业。我们停止了批处理作业。但由于“Client.NetworkInterfaceLimitExceeded”错误,仍然无法有太多用户登录到服务器。我意识到有很多“CreateNetworkInterface”事件和很少的“DeleteNetworkInterface”事件。如何在VPC中“清理/重置”所有网络接口?

1 个答案:

答案 0 :(得分:1)

简短回答Cloud Trail

提出建议的长答案

假设您的应用程序代码很好,很可能导致500错误的原因是基于Cognito的初始限制(例如,每个用户的调用次数):https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html

AWS建议使用Cloud Trail来记录Api呼叫。 但是我建议,首先要证明这些限制,自己添加一些关于api调用的日志,并且在开发中你可以用大量的调用来调用你的app / api;而且很可能由于这些限制你会看到500错误。 您可以在终端中执行以下操作:

for i in `seq 1 1000`; do curl --cookie SecureCookie=TokenValueFromAWS http://localhost:desirablePort/SecuredPath; done