AWS API 网关自定义域偶尔 "server DNS address could not be found"

AWS API Gateway custom domain occasional "server DNS address could not be found"

我在 API 网关上设置了一个自定义域,它是一个子域。 api.example.com。网关端点指向 lambda 函数。当向子域发出 GET 请求时,我偶尔(并且经常)收到错误 "server DNS address could not be found"。这似乎与 Lambda 冷启动有关,但我不能确定。如果它与冷启动有关,请求是否会超时或挂起,而不是发回,特别是 DNS 错误? DNS 错误让我认为冷启动 Lambda 不是问题。

此外,我需要在请求开始前点击 5-10 次 return 成功 responses.I 现在手动执行此操作,因此每个请求之间会有短暂的停顿。

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

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

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

我认为这与 Lambda 的冷启动无关。 看来您的 DNS 记录有问题。 DNS 记录最多需要 48 小时来传播。如果您仍然看到此问题,我鼓励您联系 Route53 支持。他们应该能够帮助您解决 DNS 问题。