V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Angela2022
V2EX  ›  程序员

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

  •  
  •   Angela2022 · 2023-09-12 14:54:59 +08:00 · 991 次点击
    这是一个创建于 436 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前在 AWS 美国和新加坡部署了相同的 Amplify APP,用同一个域名. 现在想引导美国人访问部署在美国的 APP, 新加坡人访问部署在新加坡的 APP, 请问在 AWS 上如何实现.

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

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

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

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

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

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

    当然如果在 APP 端内,这块可以控制的更加精确或者前置,做到 APP 的网络请求层面,以便减轻服务端压力,以及减少转发
    8rmEHZ8WhVHVOb0E
        4
    8rmEHZ8WhVHVOb0E  
       2023-09-13 09:41:40 +08:00
    这就是典型的多活架构啊,买商用 DNS 解析就可以实现不同国家、运营商走不同的机房,一般来说两个机房还会有数据同步,如果你的业务允许也可以把这部分砍掉
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1585 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 16:59 · PVG 00:59 · LAX 08:59 · JFK 11:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.