亚马逊云科技 - AWS API 网关自定义域偶尔"server DNS address could not be found"



我已经在 API 网关上设置了一个自定义域,它是一个子域。 api.example.com。网关终端节点指向 lambda 函数。向子域发出GET请求时,我偶尔(并且经常)收到错误"找不到服务器DNS地址"。似乎这可能与 Lambda 冷启动有关,但我不能确定。如果它与冷启动有关,请求不会只是超时或挂起,而不是发回DNS错误吗?DNS 错误让我认为冷启动 Lambda 不是问题所在。

此外,我需要在请求开始返回成功响应之前点击请求 5-10 次。我现在手动执行此操作,因此每个请求之间都有短暂的停顿。

该错误似乎也是特定于域的。如果在一个浏览器选项卡中我发出请求 5+ 次,它开始成功返回,但是从另一台服务器,在某个域上的某个地方,我必须点击它 5+ 次才能获得成功的响应,即使它当前已成功返回另一个域或服务器。对我来说,这排除了 lambda 冷启动成为问题,不是吗?

域已在 route 53 中注册。我有一个用于 example.com 的托管区域,在该托管区域中,我有一个用于 api.example.com 的 A 记录。A 记录目标在我添加自定义域时由 API 网关设置为 CloudFront 公有 DNS 设置。

我的一个问题是:此配置不正确吗?子域是否应位于其自己的托管区域中,并在父域中创建 api.example.com 的新 NS 记录指向子域的托管区域?此配置可能是我的问题吗?

我认为这与Lambda的冷启动无关。您的 DNS 记录似乎有问题。DNS 记录最多需要 48 小时才能传播。如果您仍然看到此问题,建议您联系 Route53 支持人员。他们应该能够在DNS问题上为您提供帮助。

最新更新