如何解决 API Gateway 中的“终端节点通信网络错误”错误?

上次更新日期:2021 年 5 月 10 日

我想解决 Amazon API Gateway 中的“Network Error communicating with endpoint”(终端节点通信网络错误)错误。

简短描述

如果 API 请求的数量远远超过您收到的错误数量,则说明您可能遇到了暂时性的网络问题。要解决这些问题,请完成解决低频率网络错误部分所述的步骤。

如果您经常或持续遇到错误,请完成解决高频率网络错误部分所述的步骤

解决方法

解决低频率网络错误

解决高频率网络错误

设置 Amazon CloudWatch 日志记录,并确保选择 Log full requests/responses data(记录完整请求/响应数据)选项。此选项允许您记录完整的 API 请求和响应,以便排查错误。

然后考虑以下解决方案:

  • 如果您的负载均衡器有多个目标组,请使用跨区域负载均衡来减少延迟。您可以通过在所有已启用的可用区之间均匀分配传入流量,并阻止将请求路由到没有目标的可用区来减少延迟。
  • 确认在所有已启用的可用区中,都有已注册的运行正常的实例,并且这些实例使用网络负载均衡器和 Application Load Balancer。
    注意:当每个已启用的可用区至少有一个注册的目标时,负载均衡器效果最佳。在您的可用区中,必须每个目标组至少有一个运行正常的实例。运行正常的实例必须在网络负载均衡器或 Application Load Balancer 中达到正常运行状态。
  • 为避免超过 API Gateway 的集成超时配额,请确认您的目标组实例可在 29 秒内向 API 提供响应。
  • 如果您使用的是网络负载均衡器,请确认哪些 IP 地址可以访问 Amazon Elastic Compute Cloud(Amazon EC2)安全组中的实例。您的 IP 应允许来自所有源或来自网络负载均衡器的私有 IP 地址的流量。
  • 如果您使用的是 Application Load Balancer,请确认 Application Load Balancer 的安全组允许来自所有源的流量。
    注意:目标实例只能限制对 Application Load Balancer 的访问。为实现更严格的安全性,您可以限制来自为 API 所在 AWS 区域保留的 API Gateway IP 地址的访问。要在 IP 范围列表发生变化时收到通知,请订阅 AWS IP 地址范围通知

这篇文章对您有帮助吗?


您是否需要账单或技术支持?