2023-01-10 · 4

Amazon S3(Simple Storage Service)

cloudawss3

这篇文章发布已超过两年,内容可能已过时。

什么是 Amazon S3?

Amazon S3 是为随时随地存储和检索任意数量数据而构建的对象存储。它是一项简单的存储服务,以极低的价格提供业界领先的持久性、可用性、性能、安全性和近乎无限的扩展性。— Amazon 官方文档

S3(Simple Storage Service)是一项承担文件服务器角色的服务。随着规模扩大,文件服务器流量增长本来需要扩充服务器,用 S3 就能解决。此外还可以为文件指定访问权限,防止服务被当作托管用途滥用。

Amazon S3 的特点

  • 即使大量用户访问,也无需为承载而做额外工作。
  • 可存储的文件数量没有限制。
  • 可存储并提供最小 1 byte、最大 5TB 的数据。
  • 可为文件附加认证,阻止未经授权的访问。
  • 支持 HTTP 和 BitTorrent 协议。
  • 提供 REST、SOAP 接口。
  • 数据冗余存储在多个设施中,发生丢失时自动恢复。
  • 通过版本管理功能,用户误操作也能恢复。
  • 可按信息重要程度分级保护,从而节省费用(RRS)。

Amazon S3 中的术语

  • 对象(object):存储在 AWS S3 中的每份数据都称为对象。
  • 桶(bucket):如果说对象是文件级别,桶就是把相关对象分组的顶级目录。可以按桶指定区域,并对桶内所有对象统一设置认证和访问限制。
  • 版本管理 — 记录 AWS S3 中对象的变化。例如即使用户删除或修改了对象 A,每次变化都被完整记录,因此可以挽回失误。
  • RRS(Reduced Redundancy Storage):相比普通 AWS S3 对象,数据丢失概率更高的存储方式。但价格便宜,适合存放可再生的数据,例如缩略图。即便如此,Amazon 声称它仍比物理硬盘安全约 400 倍。
  • Glacier:英文意为冰川,是 Amazon 以极低价格存储数据的存储服务。

Amazon S3 使用方法(静态网站托管)

这是 S3 的主页面。点击红框即可创建桶。

可以指定桶的名称和区域(region)。

Access List 设置 — 选择停用“阻止所有公开访问”。

作为测试创建时,可以停用“阻止所有公开访问”,方便直接访问 AWS S3 URL。其余保持默认。

这是创建完成后的桶页面。点击红框。

在这个页面可以把想上传的文件拖进来上传。

拖入后会像上图一样自动跳到上传页面。点击“上传”即可进行。

可以看到上传成功了。

之后再进入桶,打开“属性”,点击最底部“静态网站托管”的编辑。

按格式填好后点击“保存更改”。

完成后就能像上图一样看到生成了域名。

如果像上面那样出现 403,是公开访问被阻止的问题。照下面做即可。

再次进入桶页面,打开“权限”。然后点击“阻止公开访问(桶设置)”的编辑。

解除“阻止所有公开访问”后点击“保存更改”。

接着点击正下方“桶策略”的编辑。

点击桶 ARN 提前复制好,然后打开策略生成器。因为要获取的是一个个文件即对象,所以需要设置 getObject 策略。

请按上图说明修改。如果直接用复制的 ARN,之后应用时会像下图一样报错——因为没有指定 resource 的路径。如果 arn:aws:s3:::demo-web1-bucket 是基础形式,想允许访问整个桶就要写成 arn:aws:s3:::demo-web1-bucket/*,要指定特定文件夹则写成 arn:aws:s3:::demo-web1-bucket/DirecotryName/* 这样。

可以看到生成成功。现在点击 Generate Policy。

把那个 JSON 的内容原样复制,粘贴到刚才的桶策略编辑框里。

然后刷新刚建好的网站主机,就能看到正常显示了。

来源


原文(韩语): tistory — 发布于 2023-01-10,已迁移至本博客。本翻译由 AI 协助完成。

评论

删除这条评论?

相关文章

Amazon S3(Simple Storage Service) · 나봄하랑