解决方案架构师需要降低大数据应用程序的成本。应用程序环境由数百台向 Amazon Kinesis Data Streams 发送事件的设备组成。设备 ID 用作分区键,因此每台设备都会获得一个单独的分片。每台设备每秒发送 50KB到 450KB 的数据。AWS Lambda 函数轮询分片、处理数据并将结果存储在 Amazon S3 中。每小时都会有另一个 Lambda 函数对结果数据运行一个 Amazon Athena 查询,以识别异常值。此 Lambda 函数可将异常值放入 Amazon Simple Queue Service (Amazon SQS) 队列中。由两个 EC2 实例组成的Amazon EC2 Auto Scaling 组可监控队列,并运行 30 秒的流程来解决异常值。这些设备平均每小时提交 10 个异常值。
应用程序的哪种更改组合能够更大限度地降低成本? (请选择两项)
A. 更改 Auto Scaling 组启动配置,以使用同一实例系列中的较小实例类型。
B. 将 Auto Scaling 组替换为消息到达队列时调用的 Lambda 函数。
C. 重新配置设备和数据流,以设置 10 个设备对 1 个数据流分片的比率。
D. 重新配置设备和数据流,以设置 2 个设备对 1 个数据流分片的比率。
E. 将所需的 Auto Scaling 组容量更改为单个 EC2 实例。
B、D
A. 不正确。不是最优方案。可以考虑的方案,可以降低费用,但是仍然需要为多个 Amazon EC2 实例付费,每台 EC2 实例每小时会闲置 3300 秒。
B. 正确。每小时处理异常值的平均计算时间为 300 秒(10 个事件,每个事件 30 秒)。使用 AWS Lambda,只需为处理异常值所需的少量计算时间付费。
C. 不正确。该方案的数据量将超过单个分片的 1MB/s 配额。
D. 正确。
E. 不正确。不是最优方案。可以考虑的方案,可以降低费用,但是仍然需要为一个 Amazon EC2 实例付费,该实例每小时会闲置 3300 秒。