基于用户位置的 Route53 流量路由 api 网关
Route53 traffic routing based on user location with api gateway
我有一个应用程序位于 us-east-1
区域,具有以下内容
API gateway -> lambda -> dynamo DB
我想在多个区域(孟买和欧洲)使用这些资源以减少延迟。
我做了什么
- 我已经在 dynamoDb
中为我的数据创建了 Global tables
- 在 3 个区域创建了 3 个独立的 lambda 函数
- 在 3 个区域创建了 3 个 API 网关休息 API
现在的问题是
- 我如何只有一个子域 (api.example.com) 可以根据用户位置将请求路由到适当的 API 网关端点,这肯定会减少延迟。
我在我的 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.com
、ap-south-1-api.example.com
、eu-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)
我有一个应用程序位于 us-east-1
区域,具有以下内容
API gateway -> lambda -> dynamo DB
我想在多个区域(孟买和欧洲)使用这些资源以减少延迟。
我做了什么
- 我已经在 dynamoDb 中为我的数据创建了
- 在 3 个区域创建了 3 个独立的 lambda 函数
- 在 3 个区域创建了 3 个 API 网关休息 API
Global tables
现在的问题是
- 我如何只有一个子域 (api.example.com) 可以根据用户位置将请求路由到适当的 API 网关端点,这肯定会减少延迟。
我在我的 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.com
、ap-south-1-api.example.com
、eu-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)