Q39 — AWS SAP-C02 第1章

第 39/75 题 | ← 返回第1章

Q114. 一家国际快递公司在 AWS 上托管交付管理系统。司机使用该系统上传交付确认。确认包括收件人的签名或包裹与收件人的照片。司机的手持设备通过 FTP 将签名和照片上传到单个 Amazon EC2 实例。每个手持设备将文件保存在基于登录用户的目录中,文件名与交付编号匹配。然后 EC2 实例在查询中央数据库以获取交付信息后向文件添加元数据。文件随后被放入 Amazon S3 进行归档。随着公司扩展,司机报告系统拒绝连接。FTP 服务器由于连接断开和内存问题出现问题。为应对这些问题,系统工程师安排了一个 cron 任务每 30 分钟重启 EC2 实例。计费团队报告文件并不总在归档中,中央系统也并不总是更新。解决方案架构师需要设计一个最大化可扩展性的解决方案,以确保归档始终接收文件并且系统始终更新。手持设备无法修改,因此公司无法部署新应用程序。哪个解决方案将满足这些要求?

正确答案: C. 使用 AWS Transfer Family 创建将文件放入 Amazon S3 的 FTP 服务器。使用通过 Amazon Simple Notification Service (Amazon SNS) 的 S3 事件通知来调用 AWS Lambda 函数。配置 Lambda 函数添加元数据并更新交付系统。

解析

为最大化可扩展性并确保可靠性,推荐的解决方案是: C. 使用 AWS Transfer Family 创建将文件放入 Amazon S3 的 FTP 服务器。使用通过 Amazon Simple Notification Service (Amazon SNS) 的 S3 事件通知来调用 AWS Lambda 函数。配置 Lambda 函数添加元数据并更新交付系统。 说明: AWS Transfer Family 提供完全托管的 FTP 服务,可以直接将文件存储到 S3。这消除了管理 EC2 实例作为 FTP 服务器的需要。Lambda 函数可以在文件上传后自动处理元数据和更新操作。手持设备无需修改,因为它们仍然使用 FTP 协议。 选项 A 虽然增加了可扩展性,但仍需要管理 EC2 实例。 选项 B 仍然依赖 EC2 实例处理文件。 选项 D 不可行,因为手持设备无法修改。