2 Reactネイティブアプリは認証にAWSCognitoを使用しています。コードではライブラリreact-native-aws-cognito-jsを使用しています。アプリはこの2日間まで正常に動作しています。アプリは断続的な「内部サーバーエラー」が発生しています。
このエラーに関する詳細情報を見つけるにはどうすればよいですか?原因を特定するのに役立つツールはありますか?
更新
CloudTrailから、各API呼び出しにはイベント「CreateNetworkInterface」があります。このようなAPI呼び出しの多くには、エラーコード「Client.NetworkInterfaceLimitExceeded」があります。これの原因と解決策は何ですか?
このAWS Doc(中国語) によると、エラーが不十分なIP/ENIが原因である場合、CloudWatchはログに書き込みません。これは、エラー数の増加を説明していますが、CloudWatchにログがありません。
Upate 2
IPアドレスを使い果たす可能性のあるスケジュールされたLambdaジョブが見つかりました。バッチジョブを停止しました。ただし、「Client.NetworkInterfaceLimitExceeded」エラーが原因で、サーバーへのユーザーログインが多すぎることはありません。 「CreateNetworkInterface」イベントが多く、「DeleteNetworkInterface」イベントが少ないことに気づきました。 VPCのすべてのネットワークインターフェイスを「クリーンアップ/リセット」するにはどうすればよいですか?
短い答え: クラウドトレイル 。
提案付きの長い答え
アプリケーションコードに問題がないと仮定すると、500エラーの原因は、Cognitoの初期制限(ユーザーあたりの呼び出し数など)に基づいている可能性があります。 https://docs.aws.Amazon.com/cognito/latest /developerguide/limits.html 。
AWSは、Api呼び出しのログに Cloud Trail を使用することをお勧めします。ただし、最初に制限を証明するために、自分でapi呼び出しの周りにログを追加することをお勧めします。開発では、多数の呼び出しでアプリ/ apiを呼び出すことができます。ほとんどの場合、制限のために500エラーが表示されます。ターミナルで次のことができます。
for i in `seq 1 1000`; do curl --cookie SecureCookie=TokenValueFromAWS http://localhost:desirablePort/SecuredPath; done