Link

AWS 存储服务

目录

  1. AWS 存储服务
    1. 参考文档
    2. S3
      1. 权限控制
      2. 版本控制
      3. 使用场景
      4. S3 Glacier 长期数据存储
      5. S3 存储类
      6. S3 Analytics
      7. S3 生命周期策略
      8. S3 传输加速
      9. 区域选择
      10. 通过 OAI 限制对 S3 内容的访问
    3. EBS
    4. EFS
    5. FSx for Windows File Server
    6. FSx for Lustre
    7. S3/EBS/EFS 对比
    8. Storage Gateway
      1. 卷网关的两种模式
    9. Transfer Family

参考文档

http://d0.awsstatic.com/whitepapers/aws-overview.pdf

S3

Amazon Simple Storage Service(S3):一个简单的对象存储服务,提供 99.999999999% 的可靠性。

每个对象都被保存在存储桶,storage bucket 中,有着全球唯一的标识符,FQDN 格式。

支持分段上传,提高上传可靠性、上传吞吐量

权限控制

1、可以通过 AWS 存储桶策略来控制 S3 对象的访问控制,使用 JSON 格式定义。

默认是 deny any(隐式拒绝),可以配置显示拒绝策略和显示允许策略,优先级分别为拒绝策略>显示允许>隐式拒绝。

image-20211211111831251

Principal 表示访问者,可以是用户,也可以是其他应用,比如 web server。

2、AWS S3 也可以通过访问点来进行访问控制,有些类似于 RBAC。

3、S3 也可以通过 CORS (跨资源共享,即用户访问了 object1 JSON 后,授权他可以对 bucket 中的其他对象进行 PUT、GET 等操作)来进行访问控制,通过 XML 文件定义。支持 PUT、COPY、POST、LIST、GET请求

版本控制

支持版本控制,类似于 github,但又有一些差异,比如删除文件只是给文件添加删除标签,管理员可以通过删除此标签来进行回滚。

使用场景

  • 一次写入,多次访问的场景(对于频繁变化的文件,每次都得重复上传,不支持增量)
  • 峰谷不均匀的数据访问
  • 大量用户和不同数量的内容
  • 不断增长的数据集。

常见场景:

  • 静态web服务托管

  • 数据库备份
  • 大规模分析的数据存储,比如交易数据、媒体转码等

S3 Glacier 长期数据存储

适合长期存储数据、存档和备份、非常低的成本。

支持文件库锁定,锁定后数据无法被修改。

标准检索时间是数小时,可以使用额外付费使用加速检索,1~5分钟即可检索到。

S3 存储类

S3 支持存储分级,适合于不同的使用场景。

image-20211211113948584

* S3 Intelligent-Tiering 收取小额监控和自动化费用,对自动分层有 128KB 的最小合格对象大小限制。更小的对象也可以存储,但将始终按频繁访问层费率收费,不收取监控和自动化费用。有关更多信息,请参阅 Amazon S3 定价。智能分层看 30 天内有没有存储使用

** 存档访问层和深度存档访问层中的标准检索是免费的。如果您需要从存档访问层中更快地访问您的对象,您可以使用 S3 控制台为加快的检索付费。

*** S3 智能分层频繁和不频繁访问层的首字节延迟为毫秒访问时间,存档访问和深度存档访问层的首字节延迟为分钟或小时。

S3 Analytics

Storage Class 分析,可以分析数据的访问情况,决定哪些数据应该放在哪个存储类。

S3 生命周期策略

可以通过生命周期策略来管理存储对应应该被删除还是被分级移动。

 Amazon S3 存储类瀑布图形。

  • 当您知道对象不常访问时,您可能会将其转换为 S3 Standard-IA 存储类。
  • 您可能想要将不需要实时访问的对象存档到 S3 Glacier 存储类。

https://docs.amazonaws.cn/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html

S3 传输加速

通过 Transfer Acceleration 对 S3 传输进行加速。

image-20211230154839085

区域选择

1、遵照相关地区的数据隐私法,不能违反 GDPR 等法规。

2、用户与数据之间的距离,选择里用户最近的区域

3、服务和功能可用性,不同区域提供的服务也不一致

4、成本,不同位置的服务价格不一致

通过 OAI 限制对 S3 内容的访问

https://docs.aws.amazon.com/zh_cn/zh_cn/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

要限制对您通过 Amazon S3 存储桶提供的内容的访问,请执行以下步骤:

  1. 创建一个称为源访问身份 (OAI) 的特殊 CloudFront 用户,并将该用户与您的分配相关联。
  2. 配置 S3 存储桶权限,以便 CloudFront 能够使用 OAI 访问存储桶中的文件并将这些文件提供给您的用户。确保用户无法使用 S3 存储桶的直接 URL 访问该存储桶中的文件。

执行完这些步骤后,用户只能通过 CloudFront 访问您的文件,而无法直接从 S3 存储桶访问您的文件。

EBS

Elastic Block Store,block storage,搭配 EC2 使用。仅支持附加到一个实例。

支持 SSD 和 HDD 两种类型

  • 通用 SSD:大部分工作负载
  • 预配置的 IOPS SSD:需要持续 IOPS 性能的关键业务应用程序、大型数据库工作负载
  • 吞吐优化 HDD:日志处理、数据仓库、大数据、流处理工作负载、不能作为启动盘
  • cold HDD:不频繁访问的大量数据、存储成本最低、不能作为启动卷

EBS 支持通过 KMS 管理的密钥进行加密。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html

加密默认是个 Region 级别的设置,一旦开启后无法针对执行 Volume 不加密。

全局加密开启后,任何新创建的 volume/快照都会被加密,已有的不会被加密。

如果全局不加密,可以在创建 Volume/快照时设置加密。此时可以使用系统默认的 KMS key 或者手动指定对称密钥。

EFS

Elastic File System,Linux 下使用 NFSv4,支持在可用区、区域、VPC、账户间进行共享。

FSx for Windows File Server

Windows 下使用 NTFS 格式,通过 SMB 协议传输,支持 AD 集成。

Linux 安装 cifs 驱动后也可以挂载 FSx 存储:

https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-file-shares.html#map-shares-linux

FSx for Lustre

适合于 HPC 的共享存储。兼容 POSIX 标准, 因此 Linux 可以直接支持。

FSx for Lustre 支持挂载给 EC2、EKS、ECS

S3/EBS/EFS 对比

特性Amazon S3EBSEFS
存储类型对象存储块存储文件存储
存储大小没有限制最大为16TB没有限制
单个文件大小限制0字节~5TB没有限制最大52TB
IO吞吐量支持multipart上传如果使用single object upload,单个文件大小限制为5GB可以选择HDD或者SSD的磁盘类型,以提供不同的IO默认3GB
访问能通过因特网访问只能被单个EC2实例访问可以被上千个EC2实例同时访问
可用性99.99%99.99%高度可用(官方没有公布相关数据)
速度比较最慢最快中等
价格最便宜中等最贵

Storage Gateway

参考链接:

https://aws.amazon.com/cn/blogs/storage/centralize-data-access-using-aws-transfer-family-and-aws-storage-gateway/

在 on-premises 使用 AWS 云端存储,提供和本地存储一样的性能,但是可以无限扩展,适合于 ROBO、迁移、突发需求、存储分层等场景。

文件网关:通过 NFS 和 SMB 访问 AWS S3 中的文件;

卷网关:通过 iSCSI 访问 S3 中的数据。或者通过 iSCSI 访问 EBS 的快照创建的 EBS 卷。

磁带网关:iSCSI 虚拟磁带库。后端支持 S3 和 S3 Glacier。

https://aws.amazon.com/cn/storagegateway/faqs/

卷网关的两种模式

卷网关可提供 iSCSI 目标,使您可以通过本地或 EC2 应用程序服务器创建数据块存储卷并将其挂载为 iSCSI 设备。卷网关以缓存或存储模式运行。

  • 在缓存模式下,您的主要数据会写入 S3,同时您可以将其中需经常访问的那部分数据保留在本地缓存中,以实现低延迟访问。
  • 在存储模式下,您的主要数据存储在本地,且您的整个数据集便于进行低延迟访问,并会异步备份到 AWS 中。

在任一模式下,您都可以拍摄卷的时间点快照并将其存储在 AWS 中作为 Amazon EBS 快照,从而能够创建既节省了空间又控制了版本的卷副本,以满足数据保护、恢复、迁移和各种其他复制数据的需求。

Transfer Family

通过托管的 Transfer Family 可以使得不同用户/服务通过安全的协议直接往 S3 读写数据,支持 SFTP、FTPS、FTP 等协议。

How File Gateway and AWS Transfer Family can be used together for your reporting workflow.