Q99 — AWS SAA-C03 第16章

第 99/100 题 | ← 返回第16章

Q1299. 一家金融服务公司推出了一款使用 Amazon RDS for MySQL 数据库的新应用程序。该公司使用该应用程序跟踪股票市场趋势。该公司只需在每周结束时运行该应用程序 2 小时。该应用程序必须在每周的 2 小时内保持高可用性。哪种解决方案能够以最具成本效益的方式满足这些要求?

正确答案: A. 将现有的 RDS for MySQL 数据库迁移到 Aurora Serverless v2 MySQL 数据库集群。

解析

对于一款每周仅运行 2 小时但需要高可用性 (HA) 的股票市场趋势跟踪金融服务应用而言,最具成本效益的解决方案是方案 A:迁移到 Aurora Serverless v2 MySQL。以下是详细分析:关键要求和评估标准高可用性 (HA):必须确保在 2 小时窗口期内零停机时间(例如,无数据库故障,自动故障转移)。成本效益:最大限度地降低数据库每周剩余 166 小时闲置期间的费用。操作简便性:避免人工干预(例如,每周启动/终止实例)。逐项分析选项 A:Aurora Serverless v2 MySQL高可用性 (HA):内置多可用区部署,支持自动故障转移。Aurora Serverless v2 默认在三个可用区之间复制数据。成本效益:按秒计费:空闲时(约 5 分钟内无连接)费用降至零,2 小时窗口期之外每小时费用为 0.00 美元。在 2 小时的时间窗口内,它会根据负载情况进行扩展(例如,2 个 ACU,每个每小时 0.06 =总计每小时 0.12)。每周总费用:~0.24(2小时?)0.12/小时)。操作简便:无需手动扩展或实例管理。选项 B:Aurora MySQL(已配置)HA:多可用区部署,具有自动故障转移功能(与 Serverless v2 相同)。成本效益:需要配置最小实例大小(例如,db.t3.medium,每小时 0.051 美元)。每周总费用:~17.54(168小时?)即使数据库只使用了 2 小时,每小时也要花费 0.051 美元。缺点:由于始终在线的资源配置,闲置成本较高。选项 C:亚马逊 EC2 + 竞价型实例高可用性:竞价型实例本身并非高可用性实例(它们可能在 2 分钟内被终止)。要实现高可用性,您需要:至少包含两个竞价型实例的多可用区配置(成本翻倍)。手动或自动故障转移逻辑(例如,Route 53 健康检查)。成本效益:MySQL 竞价实例(例如,m6i.large)每小时 0.025 美元)的成本0.05,持续2小时。然而,添加高可用性(例如,两个实例 + EBS 卷 + 故障转移脚本)会增加复杂性和成本(~0.10?0.15/小时)。缺点:并非真正意义上的高可用性,需要大量的 DevOps 工作。方案 D:Amazon ECS 搭配 MySQL 容器高可用性:需要一个多可用区 ECS 集群,其中包含 MySQL 容器,以及手动或自动扩展功能。成本效益:在容器中运行 MySQL 并不会降低成本;您仍然需要为 EC2 实例或 Fargate 任务付费。每周使用 Fargate 2 小时,费用约为 ~0.013每vCPU小时(例如,2个vCPU?小时?0.013 = 0.052 美元)。然而,高可用性增加了复杂性(例如,ECS 服务自动扩展、多可用区任务部署)。缺点:对于简单的数据库工作负载来说过于复杂;运维开销高于 Aurora Serverless。为什么方案 A 胜出成本:对于此用例,Aurora Serverless v2 比预置的 Aurora MySQL 便宜 98%(每周成本:0.24vs.17.54)。高可用性:无需人工干预即可达到已配置 Aurora 的可靠性。简易性:无需管理实例、集群或故障转移逻辑。实施步骤迁移到 Aurora Serverless v2:使用 AWS 数据库迁移服务 (DMS) 将数据从 RDS MySQL 迁移到 Aurora Serverless v2,最大限度地减少停机时间。配置自动伸缩:将最小容量设置为 0 ACU(空闲时缩放至零),最大容量根据峰值负载而定(例如,10 ACU)。测试故障转移:模拟可用区故障,验证自动故障转移是否能在 30 秒内完成。监控成本:使用 AWS Cost Explorer 跟踪支出并验证节省情况。结论对于每周使用 2 小时的数据库,方案 A 是唯一能够提供高可用性、零空闲成本且无运维开销的解决方案。其他方案要么无法满足高可用性要求(方案 C、D),要么成本过高(方案 B)。