
亚马逊S3概述。亚马逊S3是为存储和检索任何地方的任何数量的数据而建立的对象存储。它是一个简单的存储服务,以微薄的成本提供行业领先的耐用性、可用性、性能、安全性和几乎无限的可扩展性。
- 亚马逊S3是AWS的主要构件之一
- 它被宣传为 "无限扩展 "的存储
- 许多网站使用亚马逊S3作为骨干
- 许多AWS服务也使用亚马逊S3作为集成
AWS S3使用案例
- 备份和存储
- 灾难恢复
- 存档
- 混合云存储 - 应用程序托管
- 媒体托管
- 数据湖和大数据分析 - 软件交付
- 静态网站
亚马逊S3桶
一个桶是一个存储在Amazon S3中的对象的容器。你可以在一个桶中存储任何数量的对象,在你的账户中最多有100个桶。要申请增加,请访问服务配额控制台。每个对象都包含在一个桶里。例如,如果对象被命名为photos/puppy。一个公司可以使用服务配额来集中请求和跟踪服务限额的增加。
- Amazon S3允许人们将对象(文件)存储在 "桶"(目录)中。桶必须有一个全球唯一的名称(跨越所有地区和所有账户,并在地区一级定义)。
- S3看起来像一个全球服务,但桶是在一个地区创建的
- 命名惯例
- 没有大写字母
- 没有下划线
- 3-63个字符长
- 不是一个IP
- 必须以小写字母或数字开头
S3对象
一个对象是一个文件和描述该文件的任何元数据。一个桶是一个对象的容器。要在Amazon S3中存储你的数据,你首先要创建一个桶,并指定一个桶的名称和AWS区域。然后,你把你的数据作为对象上传到Amazon S3的那个桶里。
- 对象(文件)有一个密钥
-密钥是完整的路径:
- s3://my-bucket/my_file.txt
- s3://my-bucket/my_folder1/another_folder/my_file.txt
- 密钥由前缀+对象名称组成
- s3://my-bucket/my_folder1/another_folder/my_file。txt
- 在桶内没有 "目录 "的概念(尽管用户界面会欺骗你,让你不这么认为)
- 只有包含斜线("/")的很长的名字的键。
- 对象值是主体的内容:
- 最大的对象大小是5TB(5000GB)
- 如果上传超过5GB,使用 "多部分上传"。
- 元数据(文本键/值对列表 - 系统或用户元数据)
- 标签(Unicode键/值对 - 最多10个) - 对安全/生命周期有用
- 版本ID(如果启用了版本管理)。
AWS S3安全和桶策略
一个桶策略是一个基于资源的AWS身份和访问管理(IAM)策略。您将桶策略添加到桶中,以授予其他AWS帐户或IAM用户对桶和其中的对象的访问权限。对象权限只适用于桶所有者创建的对象。
有几种方法来处理Amazon S3的安全性。人们可以使用IAM策略,在IAM控制台中为特定的用户指定允许哪些API调用。此外,我们有基于资源的安全,基于桶策略、对象访问控制列表和桶访问控制列表。如果用户的IAM权限允许或资源策略允许,IAM委托人可以访问S3中的一个对象。还需要没有明确的拒绝。如果需要,Amazon S3对象可以使用加密密钥进行加密。
水桶策略示例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddCannedAcl",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:root",
"arn:aws:iam::444455556666:root"
]
},
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": [
"public-read"
]
}
}
}
]
}
- 基于JSON的策略
- 资源:桶和对象
- 行动。设置API为允许或拒绝
- 效果。允许/拒绝
- 主体:将策略应用到的账户或用户
- 将S3桶用于策略:
- 允许公众访问该桶
- 强制对象在上传时被加密
- 允许访问另一个账户(交叉账户)
如果你需要限制对对象的访问,以满足在Amazon S3中存储对象时的合规义务,请给S3桶中的对象贴上标签,并使用网络ACL。
亚马逊S3网站
你可以配置一个Amazon S3桶,使其像一个网站一样运作。这个例子告诉你如何在Amazon S3上托管一个网站。
- 网站的URL将是:
- bucket-name.s3-website-AWS-region.amazonaws.com OR
- bucket-name.s3-website.AWS-region.amazonaws.com
- 如果你得到一个403(禁止)错误,确保桶的策略允许公共读取
AWS S3的版本管理
亚马逊S3中的版本管理是在同一个桶中保存一个对象的多个变体的一种手段。您可以使用S3版本功能来保存、检索和恢复存储在您的桶中的每个对象的每个版本。
- 你可以在Amazon S3中对你的文件进行版本管理
- 它是在桶级别启用的
- 相同的键重写将增加 "版本"。1, 2, 3....
- 最好的做法是对你的桶进行版本管理
- 防止意外的删除(能够恢复一个版本) - 易于回滚到以前的版本
当公司必须能够恢复被意外覆盖或删除的数据时,如公司在AWS云中启动使用Amazon S3存储的应用程序时,S3的版本管理非常重要。
亚马逊S3服务器访问日志
服务器访问日志提供了对Amazon S3桶的请求的详细记录。服务器访问日志对许多应用是有帮助的。例如,访问日志信息可以有利于安全和访问审计。
- 出于审计目的,你可能想记录对S3桶的所有访问
- 从任何账户向S3提出的任何请求,无论授权还是拒绝,都将被记录到另一个S3桶
- 该数据可以使用数据分析工具进行分析
- 对于确定问题的根源、审计使用情况、查看可疑模式等非常有帮助。
AWS S3复制
亚马逊简单存储服务(S3)复制是一个弹性、完全管理、低成本的功能,在桶之间复制对象。S3复制在云存储中提供了最多的灵活性和功能,给你需要的控制,以满足你的数据主权和其他业务需求。
- 必须在源和目的地启用版本控制
- 跨区域复制(CRR)
- 相同区域复制(SRR)
- 桶可以在不同的账户中
- 复制是异步的
- 必须给S3适当的IAM权限
亚马逊S3存储类
S3存储类别是专门为不同的访问模式提供最低成本的存储而设计的。S3存储类别是任何使用情况的理想选择,包括那些有苛刻的性能需求、数据驻留要求、未知或不断变化的访问模式,或存档存储。
- 亚马逊S3标准-通用
-亚马逊S3标准-频繁访问(IA)-亚马逊S3一区-频繁访问。一家公司如果想使用Amazon S3来存储其很少被访问的、关键的、不能被重新创建的、同时在几秒钟内可被检索的遗留数据,可以低成本地使用S3标准-频繁访问(S3 Standard-IA)。
- 亚马逊S3冰川即时检索
- 亚马逊S3冰川灵活检索
- 亚马逊S3冰川深度存档
- 亚马逊S3智能分层
一家银行需要将其联络中心的通话记录储存6年,但又能在被要求后的48小时内访问,可以使用Amazon S3 Glacier。
AWS S3 Glacier Vault Lock & S3 Object Lock
S3 Glacier Vault Lock可以帮助您通过Vault Lock策略快速部署和执行对单个S3 Glacier保险库的合规性控制。你可以在Vault Lock策略中指定规则,如 "写一次读多次"(WORM),并锁定该策略,防止未来的编辑。亚马逊S3对象锁是一个新的S3功能,在客户定义的保留期内阻止对象版本的删除。你可以强制执行保留政策,作为数据保护或监管的一个层次。
Glacier Vault Lock
- 采用WORM(一次写入多次读取)模式
- 锁定策略以备将来编辑(不能再更改)
- 有助于合规和数据保留
对象锁
- 采用WORM(一次写入多次读取)模式
- 在指定时间内阻止对象版本的删除
AWS Snow系列
AWS Snow系列是一个物理设备的集合,有助于将大量的数据迁移到云中或从云中迁移出来,而不依赖于网络。这使您能够将分析、文件系统和归档的各种AWS服务应用于您的数据。

雪球边缘数据传输
AWS Snowball Edge是一种具有板载存储和计算能力的Snowball设备,用于选择AWS功能。Snowball Edge除了在您的本地环境和AWS云之间传输数据外,还可以进行本地处理和边缘计算工作负载。
- 物理数据传输解决方案:将TB或PB的数据移入或移出AWS
- 替代通过网络移动数据(并支付网络费用)
- 按数据传输工作付费
- 提供块存储和亚马逊S3兼容的对象存储
- Snowball Edge存储优化
- 80TB的硬盘容量用于块体积和S3兼容的对象存储
- Snowball Edge计算优化
- 42TB的硬盘容量用于块体积和S3兼容的对象存储
- 使用情况。大数据云迁移、DC退役、灾难恢复
AWS Snowball Edge可用于这样的场景:公司在海上有货船,有收集数据的传感器,而互联网连接时断时续或没有。AWS Snowball Edge使货运公司有可能在海上收集、格式化和处理数据,并在以后将数据转移到AWS。当公司迁移到Amazon S3时,AWS Snowball可用于在10天内将60TB的数据从企业内部的数据中心转移到AWS。
AWS存储网关
AWS存储网关是一种混合云存储服务,让你在企业内部访问无限的云存储。存储网关提供了一套标准的存储协议,如iSCSI、SMB和NFS,允许你使用AWS存储,而无需重写你现有的应用程序。
- AWS正在推动 "混合云"。
- 你的一部分基础设施是在企业内部,你的一部分基础设施是在云上
- 推动混合云的原因是:
-漫长的云迁移
-安全要求
-合规要求和IT战略
- S3是一种专有的存储技术(与EFS / NFS不同),那么你如何在内部暴露S3数据?你可以通过AWS存储网关来实现。

当用于存储数据备份的物理磁带库需要将容量扩展到AWS云时,如果磁带库的空间用完了,就可以使用AWS存储网关。