开发者存储

发布: (2026年1月10日 GMT+8 19:42)
4 分钟阅读
原文: Dev.to

Source: Dev.to

模块目标

完成本模块后,学习者将能够:

  • 从开发者的角度理解 AWS 存储服务
  • 为不同的应用模式选择合适的存储选项
  • 编程方式安全地使用 Amazon S3
  • 为计算工作负载配置 EBS 和 EFS
  • 应用 IAM 权限和加密
  • 处理持久性、可用性和成本问题

为什么有多种存储服务?

不同的应用需要:

  • 对象、文件、块存储的区别
  • 高持久性 vs. 低延迟
  • 共享访问 vs. 单实例访问

什么是 Amazon S3?

  • 对象存储
  • 几乎无限的扩展能力
  • 11 9 的持久性

核心 S3 概念

  • Bucket(存储桶)
  • Object(对象)
  • Key(键)
  • 区域范围的存储桶
  • 全局命名空间

S3 存储类别

🔑 存储类别影响成本,而不影响持久性。

S3 安全与访问控制

访问机制

  • IAM 策略
  • 存储桶策略
  • ACL(遗留的,不推荐使用)

加密选项

  • SSE‑S3
  • SSE‑KMS
  • 客户端加密

公共访问

  • 阻止公共访问(默认 ON
  • 存储桶策略进行控制

S3 存储桶设置示例

目标

创建一个 S3 存储桶,启用版本控制和默认加密,上传示例对象,并附加 IAM 角色/策略。

步骤

  1. 创建一个 S3 存储桶。

  2. 启用 Versioning(版本控制)。

  3. 启用 Default encryption(默认加密)。

  4. 上传示例对象。

  5. 附加 IAM 角色/策略:

    {
      "Effect": "Allow",
      "Access": "bucket via AWS CLI or SDK"
    }
  6. 使用 AWS CLI 或 SDK 验证访问。

验证

  • 成功上传和下载对象。
  • 未拥有相应权限时访问被拒绝。

常见开发者使用场景

  • 静态网站托管
  • 应用制品(artifact)
  • 日志和备份
  • 数据湖

事件驱动模式

  • S3 → Lambda 触发器
  • S3 → EventBridge

什么是 EBS?

为 EC2 提供块存储,一次只能挂载到一个实例。

关键 EBS 概念

  • Volume(卷)
  • Snapshot(快照)
  • 可用区范围

使用场景

  • EC2 上的数据库
  • 引导卷
  • 低延迟工作负载

实操实验 2:EBS 卷与 EC2

目标

将 EBS 卷挂载到 EC2 实例并进行挂载。

步骤

(在实验环境中执行的详细步骤。)

什么是 EFS?

托管的 NFS 文件系统,可在多个 EC2 实例之间共享,并自动扩展。

关键特性

  • 多可用区(Multi‑AZ)
  • POSIX 兼容
  • 区域性服务

使用场景

  • 共享应用数据
  • 内容管理系统
  • 微服务共享存储

🔑 EFS 支持多个 EC2 实例的并发访问。

成本驱动因素

  • 存储容量
  • 访问频率
  • 数据传输
  • API 请求(S3)

性能因素

  • S3 前缀分布
  • EBS 卷类型
  • EFS 吞吐模式

其他 S3 主题

  • 使用 S3 进行预签名 URL 上传
  • 跟踪分段上传
Back to Blog

相关文章

阅读更多 »

你好,我是新人。

嗨!我又回到 STEM 的领域了。我也喜欢学习能源系统、科学、技术、工程和数学。其中一个项目是…