Q27 — AWS SAA-C03 第16章
第 27/100 题 | ← 返回第16章
Q1227. 一家公司在员工的笔记本电脑上运行 Python 脚本,用于转换和更新存储在 Amazon RDS 数据库中的数据。该公司希望将转换工作负载迁移到 AWS 云。该解决方案必须每 30 分钟运行一次 Python 脚本。每次运行脚本大约需要 20 秒来更新 RDS 数据库中的数据。哪种解决方案能够最经济有效地满足这些要求?
- A. 启动 Amazon EC2 按需实例来运行 Python 脚本。配置 EC2 实例以访问 RDS 数据库。配置 cron 作业来调用 Python 脚本。
- B. 启动 Amazon EC2 Spot 实例来运行 Python 脚本。配置 EC2 实例以访问 RDS 数据库。配置 cron 作业来调用 Python 脚本。
- C. 配置 AWS Lambda 函数以访问 RDS 数据库。使用 Amazon EventBridge Scheduler 调用 Lambda 函数。 ✓
- D. 配置 AWS Lambda 函数以访问 RDS 数据库。使用预置并发配置 Lambda 函数。使用 Amazon API Gateway HTTP API 调用 Lambda 函数。
正确答案: C. 配置 AWS Lambda 函数以访问 RDS 数据库。使用 Amazon EventBridge Scheduler 调用 Lambda 函数。
解析
为了满足公司每30分钟运行一次Python脚本来更新Amazon RDS数据库中的数据的要求,同时确保解决方案最具成本效益,让我们分析一下这些选项:期权分析:A.启动 Amazon EC2 按需实例成本:按需实例按小时计费。即使脚本只运行 20 秒,您仍需支付整整一小时的费用。每 30 分钟运行一次会导致高昂的成本,因为您每小时需要支付两小时的费用(即使时间安排得当,但这不切实际)。适用性:对于短时间、频繁的任务来说,性价比不高。B.启动 Amazon EC2 Spot 实例成本:竞价型实例便宜得多,但如果现货价格超过您的出价或容量不再可用,则可能会中断。适用性:对于需要每 30 分钟不间断运行的任务来说,这种方法不太可靠。中断会导致脚本失败,从而影响数据更新。C. 配置 AWS Lambda 函数 + Amazon EventBridge Scheduler 费用:Lambda 根据请求数量和执行时长(四舍五入到最接近的毫秒数)计费。与 EC2 实例相比,运行 20 秒脚本的成本非常低。适用性:EventBridge Scheduler 可以精确地每 30 分钟触发一次 Lambda 函数,满足时间要求。这是一种无服务器解决方案,因此无需管理服务器,并且可以自动扩展。D. 使用预置并发 + Amazon API Gateway HTTP API 配置 AWS Lambda 函数。成本:预置并发用于减少冷启动,但对于运行时间为 20 秒的脚本来说,冷启动几乎可以忽略不计。此外,API Gateway 用于基于 HTTP 的触发器,但由于此处要求的是自动定时执行,因此无需使用。适用性:对于简单的定时任务来说,此设置过于复杂且成本过高。它会为此用例引入不必要的组件(API Gateway)和成本(预置并发)。结论:选项 C(AWS Lambda + Amazon EventBridge Scheduler)是最具成本效益的解决方案。它利用 Lambda 的按使用付费定价模式和 EventBridge Scheduler 的精确计时功能,确保脚本每 30 分钟可靠地运行一次,并且成本尽可能低。这种无服务器方法无需管理服务器,并且可以轻松扩展。