API网关自定义域ERR_NAME_NOT_RESOLVED

时间:2019-03-02 15:21:28

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

我按照AWS文档中的步骤为API设置了自定义域。

我的安装使用版本化的区域API,因此我决定将每个版本都保存在单独的API Gateway API中,如下所示:

test_api_v1
test_api_v2
etc.

我为每个API创建了一个自定义域和路径映射,如下所示:

+---------------------------------------+
|           GetBasePathMappings         |
+----------+-------------+--------------+
| basePath |  restApiId  |    stage     |
+----------+-------------+--------------+
|  v2      |  api-id-v2  |  production  |
|  v1      |  api-id-v1  |  production  |
+----------+-------------+--------------+

然后在Route53中创建相应的记录:

{
    "Name": "test-api.mydomain.com.",
    "Type": "CNAME",
    "AliasTarget": {
        "HostedZoneId": "Z1U9ULNL0V5AJ3",
        "DNSName": "d-abcdef1234.execute-api.eu-central-1.amazonaws.com.",
        "EvaluateTargetHealth": false
    }
}

P.S。我还尝试了一个A记录,而不是CNAME;结果是一样的。

现在,问题出在以下事实:连续执行test-api.mydomain.com次,有时显示的记录有时不显示,并且浏览器显示ERR_NAME_NOT_RESOLVED

我该如何解决?我该如何进一步调试它?

1 个答案:

答案 0 :(得分:0)

因此,仅查看文档,您必须具有以下内容;

  

开始之前,您需要满足以下条件:

     

具有自定义域名(例如api.example.com)的API网关API,该域名与您要创建的Route 53记录的名称相匹配。

     

注册域名。您可以将Amazon Route 53用作域注册商,也可以使用其他注册商。

     

路由53作为域的DNS服务。如果您使用Route 53注册域名,我们会自动将Route 53配置为该域的DNS服务。

创建路径53记录时。指定以下值:

  

名称:   输入要用于将流量路由到API的域名。

     

您要将流量路由到的API必须包含与Route 53记录的名称匹配的自定义域名,例如api.example.com。

     

类型:选择A – IPv4地址。

     

别名:选择是。

     

别名目标:如何为别名目标指定值取决于您使用相同的AWS账户还是不同的账户创建托管区域和API:

     

相同帐户–选择列表,然后找到类别API Gateway API。目标域名列表仅包括具有与您为Name指定的值相匹配的自定义域名的API。选择适用的值。

     

路由策略:选择适用的路由策略。有关更多信息,请参阅选择路由策略。

     

评估目标健康状况:接受默认值“否”。