API Gateway の「エンドポイントとの通信中にネットワークエラーが発生しました」というエラーを解決するにはどうすればよいですか?

最終更新日: 2021 年 5 月 10 日

Amazon API Gateway の「エンドポイントとの通信中にネットワークエラーが発生しました」というエラーを解決したいと考えています。

簡単な説明

API リクエストの数が、受信するエラーの数よりも大幅に多い場合は、一時的なネットワークの問題が発生している可能性があります。これらの問題を解決するには、低頻度のネットワークエラーを解決するのセクションの手順を実行します。

エラーが頻繁に発生する場合または毎回発生する場合は、高頻度のネットワークエラーを解決するのセクションの手順を実行します。

解決方法

低頻度のネットワークエラーを解決する

高頻度のネットワークエラーを解決する

Amazon CloudWatch のログ記録を設定し、[Log full requests/responses data] (リクエスト/レスポンスをすべてログ) オプションを必ず選択してください。このオプションを使用すると、API リクエストとレスポンスの完全なログが記録されるため、エラーのトラブルシューティングを行うことができます。

次に、以下の解決策を検討します。

  • ロードバランサーに複数のターゲットグループがある場合は、クロスゾーン負荷分散を使用してレイテンシーを低減します。有効なすべてのアベイラビリティーゾーンに受信トラフィックを均等に分散し、ターゲットなしの場合にリクエストがアベイラビリティーゾーンにルーティングされないようにすることで、レイテンシーを低減できます。
  • Network Load Balancer と Application Load Balancer を使用する有効なすべてのアベイラビリティーゾーンに、正常なインスタンスが登録されていることを確認します。
    注: ロードバランサーは、有効な各アベイラビリティーゾーンに少なくとも 1 つの登録済みターゲットがある場合に最も効果的です。アベイラビリティーゾーンには、ターゲットグループごとに少なくとも 1 つの正常なインスタンスが必要です。この正常なインスタンスは、Network Load Balancer または Application Load Balancer で正常なステータスになるために必要です。
  • API Gateway の統合タイムアウトクォータを超えないようにするには、ターゲットグループインスタンスが 29 秒以内に API へのレスポンスを提供することを確認します。
  • Network Load Balancer を使用している場合は、Amazon Elastic Compute Cloud (Amazon EC2) セキュリティグループのインスタンスに到達できる IP アドレスを確認します。IP は、すべての送信元または Network Load Balancer のプライベート IP アドレスからのトラフィックを許可する必要があります。
  • Application Load Balancer を使用している場合は、Application Load Balancer のセキュリティグループがすべての送信元からのトラフィックを許可していることを確認します。
    注: ターゲットインスタンスは、Application Load Balancer のみへのアクセスを制限できます。セキュリティを強化するために、API が配置されている AWS リージョン用に予約された API Gateway IP アドレスからのアクセスを制限できます。IP 範囲リストが変更されたときに通知を受け取るには、AWS IP アドレス範囲の通知をサブスクライブします。

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?