我按照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
。
我该如何解决?我该如何进一步调试它?
答案 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。选择适用的值。
路由策略:选择适用的路由策略。有关更多信息,请参阅选择路由策略。
评估目标健康状况:接受默认值“否”。