学习了很久AWS的知识,现在写这个扫盲,主要就是帮我自己理清这些知识点。其中很多问题虽然非常基础,但却都属于那种自己心里好像明白是怎么回事儿,给别人讲解的时候却讲不清楚的问题,所以我都在这里整理出来,以便在以后为别人讲解的时候能够逻辑清晰的讲出来。第一篇就是AWS的存储部分。 一、存储部分 1.”对象存储”的“对象”有哪些? 例如:一个视频、一个文档、一张excel表、一张图片等等都可以存储在“对象存储”里。
2.“11个9”如何解释? 通俗来说,就是数据存在S3中就不用担心了,基本不会丢失,那么要丢失的话,也是每年100000000000个对象中,可能会有1个对象丢失。假设你租来1百亿个对象,想等着看到其中一个崩溃的话,可能要等10年。也是十万年才会丢一个文件。
3.S3作为Lambda的事件触发器的运行原理是怎样的? 列一张架构图就能明白了: 4.S3存储桶策略用JSON文件怎么写? (1)以下示例策略向多个 AWS 账户授予 s3:PutObject 和 s3:PutObjectAcl 权限,并要求针对这些操作的任何请求都包含 public-read 标准 ACL。 (2)下面的示例策略向任何公用匿名用户授予 s3:GetObject 权限,此权限允许任何人读取对象数据,当您将存储桶配置为网站并且希望每个人都能读取存储桶中的对象时,这十分有用。 5.“版本控制”的具体内容是什么? 通过版本控制,您可以保留、提取和恢复存储在 Amazon S3 存储桶中的每个数据对象的每个版本。一旦我们使用的时候启用了版本控制功能,则S3 将在我们每次执行 PUT、POST、COPY 或 DELETE 操作时保留现有数据对象。默认情下,GET 请求将提取最近写入的版本。可通过在请求中指定版本,提取已覆盖数据对象或已删除数据对象的旧版本。当用户对某个对象执行 DELETE 操作时,后续的简单(不受版本控制)请求将不再检索该对象。但是,该数据对象的所有版本将继续保留在我们这个 S3 存储桶中,可以提取或恢复。只有 Amazon S3 存储桶的拥有者才能永久删除某个版本。您可以设置生命周期管理来管理生命周期和存储对象的多个版本的成本。
6.S3的“CORS”的具体含义? 全称为“跨源资源共享”,跨源资源共享 (CORS) 定义了在一个域中加载的客户端 Web 应用程序与另一个域中的资源交互的方式。利用 CORS 支持,您可以使用 Amazon S3 构建丰富的客户端 Web 应用程序,同时可以选择性地允许跨源访问您的 Amazon S3 资源。场景示例有:假设您在名为 website 的 Amazon S3 存储桶中托管网站,您的用户加载了网站终端节点 http://website.s3-website-us-east-1.amazonaws.com。现在,您想要使用此存储桶中存储的网页上的 JavaScript,以便能够使用该存储桶的 Amazon S3 API 终端节点 website.s3.amazonaws.com 向同一存储桶发出经身份验证的 GET 和 PUT 请求。浏览器通常会阻止 JavaScript 允许这些请求,但借助 CORS,您可以配置您的存储桶以显式支持来自 website.s3-website-us-east-1.amazonaws.com 的跨源请求。 启用了CORS后,ACL和存储桶策略仍然适用。
7.如何利用S3作为备份工具? 现在很多第三方软件都支持本地上云,其中一条就是支持把本地数据传输到S3,使用S3作为存储工具,这样就多了一份公有云备份。比如veeam、commvault厂商提供的备份软件,都集成了S3,只要你有AWS账号,就可以把本地数据传到S3中做备份。
8.S3分段上传,每段的大小以及是否支持断点传输? 最大支持5TB,可以支持断点传输。
9.S3的“Transfer Acceleration”是什么? Amazon S3 Transfer Acceleration 是为了满足客户与我们的 Amazon S3 存储桶之间实现快速、轻松、安全的远距离文件传输。S3 Transfer Acceleration 利用了 Amazon CloudFront 遍布全球的 AWS 边缘站点。数据到达某个 AWS 边缘站点时,即被通过优化的网络路径路由至您的 Amazon S3 存储桶。所以被称为“传输加速器”。而且客户每次使用 S3 Transfer Acceleration 上传对象时,AWS都会检查 S3 Transfer Acceleration 的传输速度是否真的比常规 Amazon S3 传输更快。如果说确定 S3 Transfer Acceleration 的传输速度不会快于常规 Amazon S3,那么对于 本次使用 S3 Transfer Acceleration 进行的传输,AWS将不会收取任何费用,并且可能会绕过该次上传的 S3 Transfer Acceleration 系统。这就是AWS提供的一个小小付费工具,以满足我们对数据传输速度的要求。
10.为何Glacier成本如此低廉? 目前还有一款产品价格更低,就是S3 Glacier Deep Archive ,它进一步扩大了AWS的数据存档产品,使您能够根据存储和检索成本以及检索时间选择最佳的存储类别。它与Glacier最大的不同一是成本,它的费用比Glacier低75%;二是检索速度不同,当需要使用加速检索在短短 1-5 分钟内提供某些存档数据时,请选择 S3 Glacier;相比之下,S3 Glacier Deep Archive 专门用于不太可能访问但仍然需要长期持久存储的较冷数据。S3 Glacier Deep Archive 仅支持在 12 小时内,使用标准检索速度提供检索。您还可以通过选择批量检索来降低检索成本,批量检索将在 48 小时内返回数据。 对于它们成本如此低廉的猜测有,它们就是磁带存储,就是把数据存进去之后就直接断电,也不需要对于温度湿度有高强度的维护,所以呢就节省了大量电费,从而使得它们的成本能够如此低廉。当然这只是一个不负责任的猜测。
11.使用S3如何选择区域? 需要基于用户的特定应用程序考虑多个因素,举例如下: (1)距离用户自身的客户、数据中心或其他 AWS 资源较近,以便缩短数据访问延迟。 (2)距离其他运营地点很远,以实现地理位置冗余和灾难恢复。 (3)让用户能够达到特定法律和法规要求,满足合规性。 (4)让用户能够降低存储成本。用户可以选择价格较低的区域以节省资金。(比如宁夏的就比北京的便宜)
12.静态内容或静态网站具体指什么? (1)静态内容,指在不同请求中访问到的数据都相同的“静态”文件。例如:图片、视频、网站中的html、css和js文件、软件安装包、apk文件、压缩包文件等。 (2)动态内容,指在不同请求中访问到的数据不相同的“动态”内容。例如:网站中的.asp、.jsp、.php、.perl和.cgi文件、API接口、数据库交互请求等。 所以相比较之下我们知道,采用CDN加速的一般都是静态内容,无需访问服务器,直接由边缘站点提供内容,就实现了加速的效果;而动态内容每次都需要访问服务器,使不使用CDN没有区别。
13.大致介绍一下NFSv4文件系统? 文件共享系统NFS的新版本,它实现了将所有共享使用一个虚拟文件系统展示给客户端。