【问题标题】:AWS API Gateway custom domain occasional "server DNS address could not be found"AWS API Gateway 自定义域偶尔出现“找不到服务器 DNS 地址”
【发布时间】:2016-07-08 10:56:33
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: amazon-web-services dns amazon-cloudfront amazon-route53 aws-api-gateway


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我会继续看下去的。已经不到 48 小时了,所以可能是这样。我会告诉你的
    • 我接受这个作为答案。果然,48 小时后,不一致的 DNS 错误消失了。看起来它可能与 Route 53 中的初始 TTL 设置有关。当我创建 NS 记录时,它被设置为 48 小时。我很快将它切换到 1 分钟,但它仍然需要最初的 48 小时 TTL 时间来传播。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 2014-09-21
    • 2020-01-16
    • 2018-12-26
    • 1970-01-01
    • 2020-12-09
    • 2020-10-04
    相关资源
    最近更新 更多