是这样的,部门有一个业务系统 A ,在不同的区域都部署了这个服务,不同区域的服务要共用一个数据库( AWS RDS postgreSQL 数据库实例)
区域 1:美国,使用美国的 AWS 账号,在上面使用 ecs 部署业务系统 A
区域 2:中国,使用中国的 AWS 账号,在上面使用 ecs 部署业务系统 A
区域 3:新加坡,使用新加坡的 AWS 账号,在上面使用 ecs 部署业务系统 A ,在这个账号下创建了一个 AWS RDS postgreSQL 数据库实例.
其中美国、新加坡的 AWS 账号都属于海外的 aws 账号体系,中国的 aws 账号是国内的 aws 账号体系.
现在想要使这个三个区域的业务系统 A 都能连接新加坡的 AWS RDS postgreSQL 数据库实例.
之前考虑过的方案,但是似乎都不太可行
1.使用 aws 的 vpc 对等连接功能,美国跟新加坡可以打通内网,但是中国的 aws 账号体系跟海外的 aws 账号体系不互通,中国区域无法内网打通
2.新加坡的 rds 实例开放公网 IP ,然后防火墙做 IP 白名单限制,但是主管说还是存在被攻击的风险,暂时不考虑。
3.新加坡区域的业务系统内网直连 RDS 实例,然后服务开放对应的 API 接口给 美国区域、中国区域的业务系统,使用接口进行读写数据。(这个感觉弊端太大了,维护两套代码,还得考虑分布式事物的问题)
1
liuxu 2023-02-15 15:20:34 +08:00 1
vpn 组隧道,vpn 使用什么网络自己选,就是中国到海外可能容易被墙或者间歇中断
|
2
liuxu 2023-02-15 15:22:21 +08:00
中国号开一台海外跳板机,看能不能打通内网,然后跳板机和海外机组 vpn
|
3
yibinhp OP @liuxu 在本地有尝试连接过新加坡的 rds 使用,也是用 ssh 跳板机打通内网连接的,很不稳定,连接数据库得看运气
|
4
nrtEBH 2023-02-15 15:44:11 +08:00 1
有钱就专线,SD-WAN 可以看看这个方案 https://aws.amazon.com/blogs/apn/building-a-solution-for-china-cross-border-vpc-connection/
没钱自己搭 VPN 有合规喝茶风险 自己评估 中国区 AWS 和 global 网络隔离的 只能走第三方途径 |
5
liprais 2023-02-15 15:53:46 +08:00 1
传数据,不要传递 jdbc 链接
|
6
ganbuliao 2023-02-15 17:07:16 +08:00 1
最好是方案 3 要不然一条 sql 200ms 哭死
|
8
igrowheart 2023-03-05 09:44:32 +08:00 via iPhone
5l 最靠谱。数据库的延迟不是每个 app 能受得了的,加 1ms 延迟都会对整个性能有折损。可以把数据送进主库,但是不要让 app 直连那些有延迟的库。
|