无法找到AWS API Gateway自定义域"服务器DNS地址"

时间:2016-07-08 10:56:34

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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