基于用户位置的 Route53 流量路由 api 网关

Route53 traffic routing based on user location with api gateway

我有一个应用程序位于 us-east-1 区域,具有以下内容

API gateway -> lambda -> dynamo DB

我想在多个区域(孟买和欧洲)使用这些资源以减少延迟。

我做了什么

现在的问题是

我在我的 API 网关中创建了一个自定义域,例如 us-east-1-api.example.com, ap-south-1-api.example.com, eu-central-1-api.example.com 并映射了我的 APIs。

现在在 Route53 中,我为 api.example.com 创建了一个 A record,但我没有获得任何 API 网关资源来连接。但是当我尝试在 route53 中使用相同的子域时,例如 us-east-1-api.example.com 然后它向我显示 us-east-1 API 网关 CloudFront 资源。

但这意味着我将不得不创建 3 个不同的子域记录,这不是我想要的。

我想要一个子域,它可以根据用户位置将流量路由到适当的 API 网关。

我尝试了很多搜索,但没有找到我要找的东西。将不胜感激。

通常您会将 api.example.com 创建为 latency records

在您的情况下,您将拥有三个名为 api.example.com 的延迟记录。他们每个人都会指向您 HZ 中的其他 A 别名记录(us-east-1-api.example.comap-south-1-api.example.comeu-central-1-api.example.com):

                             |-> us-east-1-api.example.com (ALIAS to API gateway in that region)
api.example.com (latency) -> |-> ap-south-1-api.example.com (ALIAS to API gateway in that region)
                             |-> eu-central-1-api.example.com (ALIAS to API gateway in that region)