Q68 — AWS SAA-C03 第16章
第 68/100 题 | ← 返回第16章
Q1268。一家公司正在构建一个无服务器应用程序来处理来自其网站的点击流数据。点击流数据从应用程序的 Web 服务器发送到 Amazon Kinesis Data Streams 数据流。该公司希望通过将点击流数据与来自 Amazon Aurora 多可用区数据库的客户资料数据相结合来丰富点击流数据。该公司希望使用 Amazon Redshift 来分析丰富的数据。该解决方案必须具有高可用性。哪种解决方案可以满足这些要求?
- A. 使用 AWS Lambda 函数处理并丰富点击流数据。使用相同的 Lambda 函数将点击流数据写入 Amazon S3。使用 Amazon Redshift Spectrum 查询 Amazon S3 中已丰富的数据。 ✓
- B. 使用 Amazon EC2 Spot 实例轮询数据流并丰富点击流数据。配置 EC2 实例以使用 COPY 命令将丰富的结果发送到 Amazon Redshift。
- C. 使用具有 AWS Fargate Spot 容量的 Amazon Elastic Container Service (Amazon ECS) 任务轮询数据流并丰富点击流数据。配置 Amazon EC2 实例以使用 COPY 命令将丰富的结果发送到 Amazon Redshift。
- D. 使用 Amazon Data Firehose 将点击流数据从 Kinesis Data Streams 加载到 Amazon S3。使用 AWS Glue 爬虫推断架构并填充 AWS Glue 数据目录。使用 Amazon Athena 查询 Amazon S3 中的原始数据。
正确答案: A. 使用 AWS Lambda 函数处理并丰富点击流数据。使用相同的 Lambda 函数将点击流数据写入 Amazon S3。使用 Amazon Redshift Spectrum 查询 Amazon S3 中已丰富的数据。
解析
处理来自 Kinesis 的点击流数据、使用来自 Aurora 的客户数据对其进行丰富并在 Redshift 中进行分析同时确保高可用性 (HA) 和无服务器效率的最合适的解决方案是:正确答案:A. 使用 AWS Lambda 函数处理并丰富点击流数据。使用相同的 Lambda 函数将丰富的数据写入 Amazon S3。使用 Amazon Redshift Spectrum 在 Amazon S3 中查询丰富的数据。为什么选项 A 是最佳选择:无服务器且高可用性:AWS Lambda 本身具有高可用性(跨多个可用区运行),并可根据 Kinesis 吞吐量自动扩展。无需服务器管理(不像 EC2 Spot 或 ECS Fargate Spot 那样容易中断)。高效的数据丰富:Lambda 可以轮询 Kinesis 数据流,从 Aurora 多可用区(通过 RDS 代理连接池)获取客户资料数据,并丰富点击流记录。丰富的数据将写入 Amazon S3(持久、可扩展且经济高效)。无缝红移分析:Redshift Spectrum 允许直接查询 S3 数据,而无需加载到 Redshift 集群(降低存储成本)。如果需要更深入的分析,可以通过 COPY 命令将丰富的数据加载到 Redshift 中(尽管 Spectrum 足以满足许多用例的需求)。成本效益:按使用付费定价(Lambda、S3、Spectrum)避免了闲置资源成本。无需始终在线的 EC2/ECS 实例。为什么其他选择不太合适:B. 使用 Amazon EC2 Spot 实例轮询数据流并丰富点击流数据。配置 EC2 实例以使用 COPY 命令将丰富的结果发送到 Amazon Redshift。非高可用性:Spot 实例可能突然终止,存在数据丢失风险或需要复杂的重试逻辑。运营开销:手动管理扩展、故障转移和 Aurora 连接。如果全天候运行,成本会更高(与 Lambda 的按使用付费模式相比)。C. 使用具有 AWS Fargate Spot 容量的 Amazon ECS 任务轮询数据流并丰富点击流数据。配置 Amazon EC2 实例以使用 COPY 命令将丰富的结果发送到 Amazon Redshift。Spot 中断风险:Fargate Spot 可能被终止,需要检查点/重启逻辑。混合架构:使用 ECS + EC2 会增加复杂性(与完全无服务器的 Lambda 相比)。仍然需要手动扩展/管理 EC2 复制步骤。D. 使用 Amazon Data Firehose 将点击流数据从 Kinesis Data Streams 加载到 Amazon S3。使用 AWS Glue 爬虫推断架构并填充 AWS Glue 数据目录。使用 Amazon Athena 查询 Amazon S3 中的原始数据。没有丰富的步骤:Firehose 无法将数据与 Aurora 客户资料连接起来(需要 Lambda 进行丰富)。Athena 与 Redshift:要求指定使用 Redshift 进行分析,而不是 Athena(尽管选项 A 中的 Spectrum 弥补了这一差距)。对于连接数据集效率较低:Athena 查询原始 S3 数据,可能缺乏丰富的上下文。高可用性注意事项:组件选项 A (HA?)选项 B/C (HA?)数据处理Lambda(多可用区)Spot(终止风险)数据存储S3(多可用区)Redshift(多可用区) 查询 LayerSpectrum(无服务器)取决于 Redshift 正常运行时间结论选项 A 是最佳选择,因为:完全无服务器和 HA(Lambda + S3 + Spectrum)。通过结合 Kinesis 和 Aurora 有效地丰富数据。经济高效(仅按使用的计算付费)。满足 Redshift 分析要求(通过 Spectrum 或可选的 COPY 到 Redshift)。最终答案:A