【发布时间】:2020-12-04 15:02:58
【问题描述】:
我们有一堆本地应用程序,每个应用程序都运行自己的本地 MySQL 服务器。我们的工作量很轻,偶尔会有活动爆发(一种 B2B 商业模式,在一个月中的某些特定时间使用我们的应用程序更有利可图,因此我们看到在那些日子里使用量激增)。我们认为通过将所有数据库移动到一个服务器/集群来简化基础架构是一个好主意,经过一些讨论后决定购买托管解决方案比尝试建立和维护我们自己的 MySQL 集群更好(没有我们都是 DBA)。
我们进行了大量研究,最终确定 Amazon Aurora Serverless 作为其自动扩展功能的可靠候选者,因此与我们研究的替代方案(AWS MySQL RDS 和 DigitalOcean 托管 MySQL)相比,成本(可能)更低),因为我们的工作量通常很轻,偶尔会有一些活动。
但是,据我所知,仅仅从我们的本地应用程序连接到 AWS Aurora Serverless(例如,请参阅 Not able connect Amazon Aurora Serverless from SQL client)是不可能的,所以我的问题是:
- 解决此问题的最佳实践和现代方法是什么 - 我们是否应该使用站点到站点 VPN 将我们的本地主机连接到云?这最终会让我们付出更多的代价吗?
- Aurora Serverless 真的是最好的解决方案吗,还是我们应该退回到 Amazon RDS 或 DigitalOcean 的托管 MySQL 集群,它们都允许分配公共 IP,但都不会自动扩展(这意味着我们需要根据我们的高峰使用量购买一个等级,并且可能会浪费大量资金,因为它会在一个月的大部分时间里几乎处于闲置状态)?
我们想要实现的是一个简单的、即发即弃的 MySQL 集群设置,由其他人管理,理想情况下可以自动扩展,并且不会花费地球或最终比当前更难管理,本地解决方案。
我们并不排斥云,但我们也不想为了更简单的数据库基础架构而突然开始将一切全部迁移到云中。
为了投入额外的工作,我们不管理自己的防火墙 - 因此设置站点到站点 VPN 可能会很棘手,并且需要与第三方(我们的网络提供商)进行协调。理想情况下,如果可能的话,我也想避免这种麻烦。
【问题讨论】:
标签: amazon-web-services aws-aurora-serverless