请问: 如何在 AWS 不同区域部署同一个域名同一个网站?

2023-09-12 14:54:59 +08:00
 Angela2022
目前在 AWS 美国和新加坡部署了相同的 Amplify APP,用同一个域名. 现在想引导美国人访问部署在美国的 APP, 新加坡人访问部署在新加坡的 APP, 请问在 AWS 上如何实现.

谢谢
1032 次点击
所在节点    程序员
4 条回复
xwsh
2023-09-12 15:11:52 +08:00
route 53 做域名解析的时候用地理位置路由(geolocation routing),美国的请求路由到美国,新加坡的路由到新加坡
Microcharon
2023-09-12 21:51:28 +08:00
路由策略选择地理位置,一共创建两个记录

第一条记录地理位置选择路由至美国

相应的第二条记录地理位置选择路由至新加坡

另外两条记录的记录 ID 需要不一样
rccoder
2023-09-12 21:55:19 +08:00
不管是什么云,解决的思路大体是一样的,关于这个问题,首先要分为登录与未登录场景

未登录场景(以及登录场景):
一般都是利用 GEODNS ,在 DNS 层面,让不同的国家在请求的时候,解析到不同的 IP ,以便达到不同区域访问可以访问到不同服务的能力
一般来说,商业版 DNS 都有这个功能。国内像 DNSPod 甚至免费提供这种功能;当然一些 CDN ,也支持按照区域回源,也能实现类似效果

登录场景下:
在能拿到用户态的情况下,是可以根据户口等做更加精确的判断的(相比于 IP 判断,要精确非常多)。并且一些业务,涉及多地存储问题,对用户访问到什么区域是极度敏感的,所以大多数在登录场景下,需要根据用户态做纠偏,一般会做到 LB 层面(或者到业务逻辑层,具体看情况),在这里会再次做流量转发(纠偏),以便使即使上层解析的东西不对,能在这里再次转发正确

当然如果在 APP 端内,这块可以控制的更加精确或者前置,做到 APP 的网络请求层面,以便减轻服务端压力,以及减少转发
8rmEHZ8WhVHVOb0E
2023-09-13 09:41:40 +08:00
这就是典型的多活架构啊,买商用 DNS 解析就可以实现不同国家、运营商走不同的机房,一般来说两个机房还会有数据同步,如果你的业务允许也可以把这部分砍掉

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/973031

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX