DanLevy.net

测验:AWS 存储:20+ 题目!

你能在云端迷宫中找到出路吗?

准备好上云了吗?🤡

深入探索 AWS 存储服务!本测验将检验你对 S3、DynamoDB、Aurora、RDS、ElastiCache 等的了解。从最佳实践到隐藏坑点,我们一起踏遍云存储全景。

准备好展示你的云技术实力吧!🚀

最后验证时间:2026年5月8日。AWS 限制和定价变化迅速。

名称 S3 是什么意思?

S3 代表 Simple Storage Service。它是一个可扩展的对象存储服务,旨在用于大规模数据存储。

AWS S3 提供多种存储类别:

  • Standard(标准):适用于频繁访问的数据
  • Infrequent Access (IA)(不常访问):对不常访问的数据成本更低
  • Glacier(冰川):长期、低成本的归档存储

每个类别都有不同的定价和访问特性,能够根据数据使用模式进行成本优化。

了解更多关于 S3 存储类别

当 DynamoDB 被描述为“无模式”时,这意味着什么?

DynamoDB 被认为是“无模式”的,因为它允许你在项中存储任意属性,而无需预先定义模式。

DynamoDB最佳实践

哪个 DynamoDB API 用于更新已有项的属性?

关键在于更新,而不是插入或 PUT。如果你要插入,可以使用 BatchWriteItemTransactWriteItems

虽然 BatchWriteItem 能处理多个操作,但仅限于 PUT 和 DELETE。TransactWriteItems 更强大,但对简单更新来说有点大材小用。 对于简单更新,UpdateItem 是最佳选择。它允许你 UPDATE,或修改现有项中的一个或多个属性。

UpdateItem 操作每次修改一个项。对于大规模回填或批量更新,通常会调度大量 UpdateItem 调用,或使用更大的工作流,例如 PartiQL 批处理执行、Step Functions、Glue、EMR,或自定义工作进程。

UpdateItem 操作:

  • 更新已有项的属性。
  • 向已有项添加新属性。
  • 从已有项中移除属性。
  • 在项存在或满足特定条件时有条件地执行更新。

DynamoDB UpdateItem

下面哪个 AWS 服务是专为全文搜索和搜索分析而构建的?

OpenSearch 是 AWS 提供的托管搜索、日志分析和全文搜索工作负载服务。

其他选项虽然都有用,但它们并不是列表中专门的搜索引擎:

  • ElastiCache:主要是内存缓存。当前的 ElastiCache for Valkey 包含对已索引内存数据的搜索命令,因此已不能再说整个服务没有内置搜索功能。
  • Neptune:图数据库;可与 OpenSearch 集成实现全文搜索。
  • Redshift:用于 SQL 分析的数据仓库。
  • DocumentDB:文档数据库,在受支持的版本中提供 MongoDB 兼容的文本搜索。

RDS 多可用区部署的主要好处是什么?

可用区(AZ)是位于同一区域内的独立数据中心。RDS 多可用区部署会将自动故障转移提供给位于相邻 AZ 的备用副本。

Multi-AZ 部署:

  • 提供自动故障转移
  • 提升数据库可用性
  • 创建同步的备用副本
  • 在基础设施故障时将停机时间降至最低

不要把 Multi-AZ 部署与用于读取扩展的只读副本混淆。

👋 我希望你到目前为止玩得开心!

来点棘手的吧……

哪个 AWS 服务提供托管的 WebSocket API,AWS 拥有客户端连接并将消息路由到集成?

API Gateway 支持双向 WebSocket API,但实现由 API Gateway 托管,而不是直接映射到您自己的服务器进程。 API Gateway 维护客户端连接并将消息路由到 Lambda、HTTP 端点或其他集成。可以通过 API Gateway Management API 将消息发送回已连接的客户端。

其他服务对 WebSocket 更友好:

  • Lightsail:非常适合简单的 WebSocket 部署 👌
  • AppSync:使用 WebSocket 实现托管的 GraphQL 订阅
  • EC2:经典的“想干嘛就干嘛” WebSocket 选项
  • EKS:适合运行可扩展的 WebSocket 集群

小技巧:如果需要原始的 WebSocket 能力,还是使用计算服务吧!

推荐的 S3 存储桶权限设置方法是什么?

几乎所有系统中,采用“最小权限”设计是强化安全并面向未来的关键。试图给已有系统加锁,难度堪比把整栋办公楼搬到新地基。

S3 存储桶也不例外。要落实最小权限原则,先从没有权限开始,只授予必要的访问。使用 IAM 角色和策略来控制访问,并定期审计存储桶权限。

安全最佳实践:

  • 应用最小权限原则
  • 从无权限开始
  • 只授予必要访问
  • 使用 IAM 角色和策略
  • 定期审计存储桶权限

避免过于宽松的设置,以免泄露敏感数据。

S3 安全最佳实践

Aurora Serverless 的关键特性是什么?

Aurora Serverless:

  • 自动扩展计算容量
  • 根据工作负载调整资源
  • 适用于不可预测的工作负载
  • 仅为使用的资源付费

非常适合流量波动的应用程序。

Aurora Serverless 概览

再来一个 DynamoDB 批处理问题!
使用单个 DynamoDB BatchGetItem 请求,最多可以检索多少项?

DynamoDB SDK 允许在单个 BatchGetItem 请求中检索最多 100 项。这比 BatchWriteItem 的限制(25 项)要高。 此外,还存在总负载大小、文档大小和请求速率的限制。

理解这些限制对于优化应用性能和确保高效的数据操作至关重要。

注意: 某些限制是可以突破的——只要你能说服你的 AWS 客户经理。 😎

DynamoDB 在一次批处理里最多能 UPDATE 多少个文档?

DynamoDB 客户端本质上都是其 HTTP API 的包装。BatchWriteItem 操作一次 HTTP 请求最多可以 PUTDELETE 25 个文档,但它不能一次性 UPDATE 多个文档。

虽然 DynamoDB 可以在一次 HTTP 请求中 INSERT 最多 25 个文档,但使用 UpdateItem 操作时每次只能 UPDATE 1 个文档。

什么时候应该使用 DynamoDB 按需容量?

按需容量最适合:

  • 不可预测的工作负载
  • 零星流量
  • 访问模式未知的应用
  • 避免过度预置

预置容量更适合:

  • 可预测、稳定的工作负载
  • 对性能有更多控制
  • 有潜在的成本节约

DynamoDB 容量模式

如何为高请求速率优化 S3 性能?

S3 性能提示:

  • 现代 S3 会自动根据前缀扩展请求速率
  • 你不需要为性能使用随机/哈希前缀
  • 使用符合访问模式的逻辑键名
  • 如果请求率极高,监控 503 Slow Down 响应

旧的指南建议通过随机化前缀来避免热点分区,但 AWS 已不再将其作为默认性能要求。

S3 性能指南

推荐的 RDS 备份方式是什么?

最佳备份实践:

  • 启用自动备份
  • 使用时间点恢复
  • 根据合规需求保留备份
  • 定期测试恢复过程
  • 考虑跨区域备份

自动备份提供:

  • 持续的数据保护
  • 灵活的恢复选项

RDS 备份最佳实践

ElastiCache 中,RedisMemcached 的关键区别是什么?

Redis 优势:

  • 支持复杂的数据结构
  • 持久化选项
  • 高级操作
  • Pub/Sub 消息

Memcached:

  • 简单的键值存储
  • 纯缓存
  • 在简单场景下的高性能

Redis 与 Memcached 对比

DynamoDB 中全局二级索引的作用是什么?

全局二级索引 (GSI):

  • 允许对非主键属性进行查询
  • 创建替代访问模式
  • 增强查询灵活性
  • 会产生额外的写入容量费用

适用于超出主键的复杂查询需求。

DynamoDB 索引

S3 生命周期管理可以实现什么?

生命周期管理:

  • 自动在存储类别之间转换对象
  • 将不常访问的数据迁移到更便宜的存储
  • 设置对象过期规则
  • 优化存储成本
  • 减少手动管理工作量

S3 生命周期规则

Amazon Aurora 支持的最大只读副本数量是多少?

Amazon Aurora 支持 最多 15 个只读副本,让您能够显著扩展读取操作。这些副本具备以下优势:

  • 几乎瞬时的复制 在副本之间
  • 对主实例的性能影响最小
  • 高效的读取工作负载分配

这种配置为读取需求高的应用提供水平扩展能力。

了解更多关于 Aurora 只读副本的信息

RDS 提供哪些加密功能?

RDS 加密特性:

  • 使用 KMS 对静止数据进行加密
  • 使用 SSL/TLS 对传输中的数据进行加密
  • 在创建数据库时启用加密
  • 保护敏感信息
  • 符合安全标准

RDS 加密选项

DynamoDB Streams 的主要用途是什么?

DynamoDB Streams:

  • 捕获项目级别的更改
  • 支持事件驱动架构
  • 触发 Lambda 函数
  • 支持跨区域复制
  • 提供近实时的数据移动

DynamoDB Streams 概览

将大文件上传到 S3 的最佳方法是什么?

分段上传的好处:

  • 高效处理大文件
  • 可恢复中断的上传
  • 并行上传文件分块
  • 推荐用于大于 100 MB 的文件
  • 提升网络可靠性

S3 分段上传

对于 1PB 数据,其中 20% 每日访问,30% 每月访问,50% 每年访问,最具成本效益的存储方案是什么?

最佳存储策略:

  • 20% 使用 S3 Standard 进行每日访问
  • 30% 使用 S3 Standard-IA 进行每月访问
  • 50% 使用 Glacier 进行年度访问

该方案在保持合适访问模式的同时优化成本。

成本考虑因素:

  • 每 GB 的存储定价
  • 检索费用
  • 访问模式
  • 转换费用

一个 DynamoDB 表的预置读取容量为 100 RCUs。每秒可以执行多少次 4KB 项目的强一致性读取?

理解 DynamoDB 一致性模型至关重要:

  • 1 RCU = 每秒 1 次强一致性读取(针对最多 4KB 的项目)
  • 1 RCU = 每秒 2 次最终一致性读取(针对最多 4KB 的项目)

因此:

  • 100 RCUs = 100 次每秒的强一致性 4KB 读取
  • 100 RCUs = 200 次每秒的最终一致性 4KB 读取

根据以下因素选择一致性模型:

  • 应用需求
  • 成本考量
  • 性能需求
  • 数据新鲜度要求

在拥有多个只读副本的 Aurora 集群中,主实例故障时自动故障转移会发生什么?

Aurora 故障转移过程:

  1. 检测到主实例故障
  2. 基于故障转移优先级层选择 Aurora 副本
  3. 当优先级相同的情况下使用实例特性作为平局决胜因素
  4. 自动更新集群终端节点

最佳实践:

  • 在多个可用区保持多个副本
  • 有意配置提升层级
  • 在应用中使用集群终端节点
  • 定期测试故障转移场景

截至 2020 年底,S3 对所有操作提供什么一致性模型?

S3 一致性模型:

  • 对所有操作提供强读后写一致性
  • 适用于 PUT 和 DELETE
  • 不再需要之前使用的变通方案
  • 无额外费用

影响:

  • 简化应用逻辑
  • 无需一致性检查
  • 写入后可立即可靠读取
  • 提升应用可靠性

DynamoDB 的 TTL 功能如何处理项目删除?

DynamoDB TTL 特性:

  • 后台进程监控 TTL 属性
  • 过期项目会在尽力而为的调度下删除,通常在几天内完成
  • TTL 不产生额外费用
  • 删除的项目会出现在流中

使用场景:

  • 会话管理
  • 日志过期
  • 临时数据清理
  • 合规性要求

在依赖 Aurora Serverless 处理突发流量高峰时,关键考虑因素是什么?

Aurora Serverless 扩展:

  • Aurora Serverless v2 以细粒度 ACU 增量扩展容量
  • 扩展速度取决于当前容量和最小/最大 ACU 设置
  • 支持的版本在配置后可在 0 ACU 时自动暂停
  • 按秒计费,基于 ACU 使用量

最佳实践:

  • 为关键工作负载的突发峰值设置足够高的最小容量
  • 监控扩展事件
  • 注意连接管理

哇,这段冒险真是深入细节了!🚀☁️
希望你玩得开心,甚至还能学到一点关于 AWS 存储服务的知识。

去看看更多 Dan 的挑战! 🧠

法律声明:本测验仅用于教育目的。所有商标和版权均归其各自所有者所有,尤其是那些大公司。