如何排除 AWS Lambda 中与 DNS 相关的持续性和间歇性错误?

1 分钟阅读
0

当我尝试访问主机时,我在 AWS Lambda 函数中遇到与 DNS 相关的错误。

解决方法

AWS Lambda 中与 DNS 相关的错误(例如名称解析暂时失败getaddrinfoENOTFOUNDETIMEDOUT),可能是持续性的,也可能是间歇性的。持续性错误的排除流程与间歇性错误的排除流程不同。

排除与 DNS 相关的持续性错误

DNS 服务器配置错误、权限不正确和网络连接问题均可能导致与 DNS 相关的持续性错误。请采取以下步骤来排除与 DNS 相关的持续性错误:

  • 当您使用虚拟私有云 (VPC) 配置的 Lambda 函数访问公共资源时,请验证 Lambda 函数是否可以访问互联网
  • 当您访问私有资源时,请验证是否为 Lambda 函数配置了正确的 VPC 和 DNS 服务器。
  • 当您为 VPC 使用自定义 DHCP 选项集时,请通过 Amazon Route 53 Resolver 查询日志验证 DNS 查询响应。
  • 使用与 AWS Lambda 相同的网络配置运行您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。然后验证您是否可以解析并到达端点。
  • 验证主机名是否正确,以防出现 ENOTFOUND 错误。
  • 尝试使用 IP 地址而不是主机名来访问目标。这样,您就可以确认问题是由主机名解析还是缺失端点路由引起的。
  • 确保 Lambda 函数的安全组和网络访问控制列表(网络 ACL)允许流向必要端口和 IP 范围的入站流量。

排除与 DNS 相关的间歇性错误

网络拥塞、高流量和其他外部因素可能导致与 DNS 相关的间歇性错误。请采取以下步骤来排除与 DNS 相关的间歇性错误:

相关信息

DNS 的工作原理是什么?如何解决部分或间歇性 DNS 失败问题?

AWS 官方
AWS 官方已更新 1 年前