AWS 存储服务(三)

AWS S3

业务场景

挑战

  • Web服务器传输大型文件可能引发网络延迟
  • 用户生成的内容须要分配到全部的web服务器中

解决方案

  • 静态资产存放在S3中
  • S3中的对象设置为公开,用户能够直接访问

S3的好处

  • 经过API或者HTTP进行访问
  • S3是以冗余方式将对象存储,至少在三个可用区存放副本
  • S3使用校验和来验证数据的完整性
  • 提供完善的版本控制使用户可以保存、检索和还原每一个对象的各个版本
  • 多副本的数据一致性

S3 属性

存储桶 Buckets

  • 存储S3的容器
  • Bucket 名 最多包含63个字符,且在全球AWS都必须是惟一的
  • 最佳实践是包含并符合DNS域名规范来对Bucket命名
  • 在靠近用户的区域建立Bucket以优化性能
  • 每用户最多可建立100个存储桶
  • 存储桶须要指定区域,可是不能指定可用区

对象 Object

  • 每个存储在S3的实体或文件都是对象
  • 最大支持单个对象5TB
  • 对象由文件自己和元数据组成
  • 文件自己在S3看来只是一串字节流
  • 元数据包含了对象的名称和键值,系统元数据包括了MD5,上次修改日期等系统信息,用户元数据是用户的可选项
  • 获取对象使用的Request包头html

    • x-amz-meta-
    • x-amz-storage-class
    • Content-MD5
    • Content-Length
  • 数据结构web

    • 键(Key):能够认为是数据的名字
    • 值(Value):表示数据自己
    • 版本号(Version ID):对于启用了版本控制的存储桶来讲很重要
    • 元数据(Metadata):关于数据的描述,好比说数据的建立时间,更改时间,文件类型,文件大小等信息
    • 访问控制信息:能管理对Bucket内文件的访问权限
  • Key数据库

    • 每一个对象的标识,在存储桶内惟一
    • 最大支持1024字节的UTF-8字符,能够包含斜杠等
    • 存储桶名+Key 组成S3对象的惟一标识
    • 最佳命名实践是利用/进行命名对对象进行逻辑组织,但记住这并不表明文件是被层次组织的,S3对象始终处于一个平面而不是一个真正的File System
    • S3对象能够基于其惟一标识经过Internet直接寻址访问,URL就是其惟一标识
  • 对象标签
    • 每一个对象添加最多10个标签
    • 用标签标记后能够用于IAM策略管理

S3 特性

S3 操做

  • 基于REST API接口进行操做,将HTTP动词映射到CRUD操做
  • 实际使用更高级的接口(如编程语言,SDK,CLI和控制台)来调用REST API

可用性和持久性

  • S3采用高度持久和可用的存储基础架构编程

    • 持久性 = 11个9
    • 可用性 = 4 个 9
  • 建议采用版本控制、跨域区复制、MFA删除等方式来防止用户意外形成的逻辑错误

一致性

  • S3会自动在区域内对数据进行自动复制
  • S3是一个最终一致性系统,保证全部的获取都是一致的
    • 为新对象PUTS 提供 先写后读一致性
    • 为 Overwrite PUTS和DELETE提供最终一致性

S3 订价策略

  • 存储容量
  • 读取操做
  • 数据传输

S3高级功能

存储级别

  • S3-Standard跨域

    • 提供高耐用、高可用、低延迟和高性能的存储对象
  • S3-Standard-IA浏览器

    • 提供较低的高可用标准但仍然是多可用区部署的,但设计用于长期存取和访问频率较低的数据,
    • 利用规模效应对存储超过30天以上的提供更低成本的选项,最小收费粒度128KB,最短使用30天。
  • S3-ONEZONE-IA缓存

    • 相似于Standard-IA,可是仅部署在一个可用区内提供高可用
    • 用于非关键性和易重现数据,用于替代RRS
  • INTELLIGENT_TIERING安全

    • 自动分层的数据,相似于IA的持久性和可用性
    • 可以提供标准的读写性能但不是一致的,取决于读写请求频率
    • 有额外的监控和自动分层的成本,最短使用30天,小于128K的对象没有资格进行自动分层但仍收费。
  • S3减小冗余存储 RRS性能优化

    • 适用于非关键数据或易于重现的派生数据,支持低延迟访问,不支持高可用的(4个9持久性)
    • 目前已经再也不推荐,使用S3-ONEZONE-IA替代
  • Glacier
    • 成本极低的归档数据存储,不须要实时数据访问
存储类 设计专门针对 持久性(设计目标) 可用性(设计目标) 可用区 最小持续时间 最小可计费对象大小 其余考虑因素 每GB费用
STANDARD 常常访问的数据 99.999999999% 99.99% >=3 0.022 USD
STANDARD_IA 长时间存在,不常常访问的数据 99.999999999% 99.99% >=3 30天 128KB 按每 GB 收取检索费用。 0.0125 USD
INTELLIGENT_TIERING 访问模式发生变化或未知的长时间存在的数据 99.999999999% 99.9% >=3 30天 按对象收取监控和自动化费用。无检索费用。
ONEZONE_IA 长时间存在的、不常常访问的、非关键数据 99.999999999% 99.5% 1 30天 128KB 按每 GB 收取检索费用。没法灵活地应对可用区丢失的状况。 0.01 USD
GLACIER 检索时间从数分钟到数小时不等的长期数据存档 99.999999999% 99.99%(在您还原对象以后) >=3 90天 按每 GB 收取检索费用。您必须先还原存档对象,而后才能够访问它们。 0.004 USD
DEEP_ARCHIVE 存档不多访问的数据,默认检索时间为 12 小时 99.999999999% 99.99%(在您还原对象以后) >=3 180天 按每 GB 收取检索费用。您必须先还原存档对象,而后才能够访问它们。 0.00099 USD
RRS(不推荐) 常常访问的非关键数据 99.99% 99.99% >=3

对象生命周期管理

  • 相似于自动存储分层的解决方案
  • S3能够利用生命周期配置规则,将数据从一个存储级别向另外一个存储级别转换,指导最终自动删除服务器

    • Transition :转换存储类别
    • Expiration:指定对象过时时间
  • 如: 最初在S3 Standard,30天后 S3 Standard IA, 90天后 Glacier, 3年后自动删除

数据访问

  • 桶策略

    • 默认只有存储桶和对象全部者才能访问他们建立的S3资源
    • 利用IAM能够修改和管理用户访问S3资源的权限
    • 存储桶策略能够对所有或部分S3对象的访问进行受权管理
  • S3 ACL

    • 使用S3 ACL能够为S3的对象提供其余AWS对其的访问权限管理

数据传输及其加速

  • S3传输加速 (Amazon S3 Transfer Acceleration),能够利用AWS CloudFront CDN网络的边缘节点(Edge Locations)加速传输的过程。能够将数据上传到离咱们最近的边缘节点,而后再经过AWS内部网络(更高速,更稳定)传输到目标区域的S3存储桶。

    • 您位于全球各地的客户须要上传到集中式存储桶
    • 您按期跨大洲传输数 GB 至数 TB 数据
    • 您在上传到 Amazon S3 时未充分利用 Internet 上的可用带宽
  • 上传须要指定专用的两个S3双堆栈加速节点
  • S3支持客户端加密和服务器端加密两种方式传输数据
  • 服务器端加密使用SSE AES-256 加密
  • S3对经过互联网传入传出流量收费,但对区域内部存储桶之间或者AWS服务之间的传输不收费

版本管理

  • S3容许每一个对象的多个版本保存在存储桶中,在数据被意外或者恶意删除时,能够利用对象的惟一标识+版本ID进行恢复
  • 版本控制是一个存储桶级别的可选项,一旦打开只能暂停而不能关闭
  • 开启版本管理后,删除一个对象实际是新增了一个删除标记使得对象不可见,在版本控制中删除这个删除标记便可恢复对象
  • 只有存储桶全部者才能永久删除版本,也能够设置生命周期规则来进行版本管理

MFA删除

  • 支持须要额外验证来永久删除对象版本或者更改存储桶版本控制状态
  • 仅能采用Root 用户执行该操做,且通常采用额外的硬件生成验证码

预先签名的网址

  • 默认S3对象是私有的,可是能够经过预先签名受权其余用户采用安全凭证授予有时间限制的访问
  • 安全凭证必须制定存储桶名称、对象Key、HTTP方法和过时时间等

静态网站托管

分段上传 API

  • 主要用于大型对象的上传,100MB以上建议使用,5GB以上必须采用
  • 被拆分以后的零件能够以任意顺序上传,在所有传输完成后再进行组装
  • 能够经过设置对象生命周期,在指定天数后终止不完整的分段上传
  • 好处
    • 提升吞吐量 – 您能够并行上传分段以提升吞吐量。
    • 从任何网络问题中快速恢复 - 较小的分段大小能够将因为网络错误而需重启失败的上传所产生的影响降至最低。
    • 暂停和恢复对象上传 – 您能够在一段时间内逐步上传对象分段。启动分段上传后,不存在过时期限;您必须显式地完成或停止分段上传。
    • 在您知道对象的最终大小前开始上传 – 您能够在建立对象时将其上传。

Range GET

  • 在S3或者Glacier 中仅下载对象的一部份内容,主要用于更高效的处理大型对象
  • 最小能够到1个字节的范围

随时查询

  • Amazon S3 容许客户对存储数据运行复杂的查询,无需将数据移动到独立的分析平台。
  • S3 Select

    • 利用简单的 SQL 语句检索对象内较小且具备针对性的数据集。
    • 您能够将 S3 Select 与 AWS Lambda 搭配使用,来构建无服务器应用程序,此类应用程序可以使用 S3 Select 有效且轻松地检索 Amazon S3 中的数据,而不是检索和处理整个对象。
  • Amazon Athena

    • Amazon Athena 是一项交互式查询服务,让您可以轻松使用标准 SQL 查询分析 Amazon S3 中的数据。
    • Athena 是无服务器式服务,所以您无需设置或管理基础设施便可立刻开始分析数据。您甚至无需将数据加载到 Athena 中,由于它能够直接处理全部 S3 存储类中存储的数据。
  • Amazon Redshift Spectrum

    • Amazon Redshift Spectrum 是 Amazon Redshift 的一项功能,借助这项功能,您能够对 Amazon S3 中的 EB 级的数据运行查询,而无需进行加载或 ETL 操做。
    • 当您发布查询时,查询会进入 Amazon Redshift SQL 终端节点,该终端节点会生成查询方案并对其进行优化。

跨区域复制(CRR)

  • S3的一个可选项,能够把AWS区域中的源存储桶中的新对象异步复制到另外一个区域中的目标存储桶
  • 与对象关联的元数据和ACL也会被复制
  • 源和目标存储桶都必须启用版本控制
  • 支持分别为源目标建立生命周期规则,也能够无视规则直接将数据复制到跨区域的Glacier中
  • 功能启动后,只有新对象会被跨区域复制,现有对象必须手工经过单独的命令复制过去
  • 支持跨帐户CCR
  • 删除操做(包括文件删除和版本删除)都不会被同步到目标区域

存储类分析

  • 借助存储类分析,您能够分析存储访问模式并将相应数据传输给正确的存储类。这一新的 S3 功能可自动识别不频繁访问模式,从而帮助您将存储转换为 S3 标准 – IA。
  • 您能够配置存储类分析策略来监视整个存储桶、前缀或对象标签。
  • 最后在控制台上可视化,也能够导出至S3以便用Amazon QuickSight 商业智能分析工具。

对象锁定

  • 能够在客户定义的保留期内阻止删除对象版本,让您可以经过实施保留策略来进一步保护数据或知足监管要求。
  • 在对象级别或存储桶级别配置 S3 对象锁定,防止在预约义的保留到期日期或依法保留日期以前删除对象版本。不管对象在哪一个存储类中,S3 对象锁定保护都将保留,而且会在存储类之间的整个 S3 生命周期转换期间保留。

S3 清单

  • 为S3同步列表提供的预约替代方案
  • 经过S3清单,提供每日,每周的对象元数据进行输入,以加快业务工做流和大数据做业的查询。

检测数据损坏

  • 是利用Content MD5 以及 CRC来检测数据损坏
  • 在空闲时对数据执行检测,并使用冗余数据修复任何损坏

记录日志

  • 跟踪对S3存储桶的访问日志,默认关闭
  • 日志记录采用尽力而为方式记录,会稍有延迟
  • 日志包含 请求者帐户和IP、存储桶名称、请求时间、请求操做和错误代码

事件通知

  • 在S3反应操做或上载等事件时,启用通知执行工做流,发送警报或执行其余操做来响应该事件
  • 通知消息结合SNS、SQS、Lambda函数进行响应触发

跨源资源共享 CORS

  • 现代浏览器默认使用了同源策略阻止JavaScript或HTML5加载其余站点的内容以确保不会有恶意内容被加载
  • S3能够配置明确启用跨源请求,实现外部网页、样式表、H5等程序安全的引用S3的资源

S3实践和场景

S3使用实践

  • 选择离用户较近的区域,距离对性能影响很是大
  • 与计算资源和其余AWS资源位于同一位置会影响性能
  • 使用全球惟一的字符串(3-63字符)来命名对象,是存储桶提供一致的性能

S3应用场景

  • 本地或云数据的备份和归档
  • 媒体和软件存储和分发
  • 大数据分析
  • 静态网站托管
  • 云原生移动互联网应用程序托管
  • 做为批量数据的Blob存储,同时在另外一数据库中保留数据索引实现快速搜索和复杂查询
  • 静态网站托管

S3请求处理性能优化

  • 当S3存储桶中的对象超过1000个时,存储桶会进行分区
  • 若是顺序命名这些对象,可能致使每次对多个邻近对象的读取都在一个分区里而影响性能
  • 经过在对象名前缀添加hash值得方式,使得对象随机的分布在不一样分区里,则能够提高处理性能
  • 之前存储桶常规能够支持 每秒 100个以上的PUT/LIST/DELETE 以及 300 个以上的GET,
  • 2018年后,提高到3500个PUT 和 5500个GET,通常状况下再也不须要对处理性能进行优化

AWS 存储服务(三)

  • 为了更有效的检索,还建议保留二级索引并存储在数据库中,如DynamoDB

AWS 存储服务(三)

S3 安全性

访问控制

  • Identity and Access Management (IAM) 策略

    • IAM 让拥有多名员工的组织可以使用一个 AWS 帐户建立和管理多个用户。使用 IAM 策略,公司可向 IAM 用户授予对 Amazon S3 存储桶或对象的精细控制权,同时保留对用户执行的全部操做的彻底控制。
  • 存储桶策略

    • 用存储桶策略,客户能够定义普遍适用于其 Amazon S3 资源的全部请求的规则,例如为 Amazon S3 资源的子集授予写入权限。客户还能够基于请求的某种特征(例如 HTTP 引用站点和 IP 地址)来限制访问。
    • 能够利用存储桶策略配合IAM策略,以及查询字符串认证来实现细粒度访问控制 (推荐)
  • 访问控制列表 (ACL)

    • 使经过 ACL,客户可为特定用户授予对单个存储桶或数据对象的特定权限,例如读取、写入、彻底控制。
      这是一种粗粒度的访问控制。
  • 查询字符串身份验证

    • 借助查询字符串身份验证,客户能够为 Amazon S3 对象建立一个仅在有限时间内有效的 URL。

S3的数据加密

  • 数据加密是可选项
  • 默认状况下,S3是私有数据,须要AWS凭证才能访问
  • 可是能够经过预签名URL分享对象,经过HTTP和HTTPS访问
  • S3提供日志功能审核全部对象的访问
  • S3支持为每一个存储桶、前缀和对象设置访问控制列表和策略
  • 最佳实践是对全部敏感数据加密
  • 传输中的数据使用SSL API,确保全部数据都采用HTTPS传输
  • 服务器端加密:

    • 数据在S3中存储是被加密,采用SSE的不一样组合解决方案
    • 若是是受权的访问,访问加密数据和非加密数据的过程其实是没有区别的
    • AWS加密密钥能够经过轮换密钥来进一步加密
    • SSE-S3

      • 使用256位AES-256加密标准进行加密,而且主密钥会按期轮换
      • 提供了一种集成式解决方案,Amazon 经过其使用多个安全层处理密钥管理和密钥保护问题。若是您但愿 Amazon 管理您的密钥,您应该选择 SSE-S3。
    • SSE-C

      • 客户来提供和管理加密密钥,S3负责加密和解密
      • 让您能利用 Amazon S3 对对象执行加密和解密操做,同时保持对加密对象所用密钥的控制权。借助 SSE-C,您无需实施或使用客户端库来对 Amazon S3 中储存的对象执行加密和解密,可是须要对您发送到 Amazon S3 中执行对象加密和解密操做的密钥进行管理。若是您但愿保留本身的加密密钥而不想实施或使用客户端加密库时,请使用 SSE-C。
    • SSE-KMS

      • 使用AWS提供的密钥管理系统,有更多的密钥管理能力
      • 可以让您使用 AWS Key Management Service (AWS KMS) 来管理您的加密密钥。使用 AWS KMS 管理您的密钥有几项额外的好处。利用 AWS KMS,会设置几个单独的主密钥使用权限,从而提供额外的控制层并防止 Amazon S3 中存储的对象遭到未受权访问。AWS KMS 提供审计跟踪,所以您能看到谁使用了您的密钥在什么时候访问了哪些对象,还能查看用户在没有解密数据的权限下所做的访问数据失败尝试次数。同时,AWS KMS 还提供额外的安全控制,从而支持客户努力符合 PCI-DSS、HIPAA/HITECH 和 FedRAMP 行业要求。
    • 客户端加密
      • 使用 Amazon S3 加密客户端之类的加密客户端库,
      • 您能够保持对密钥的控制并使用您选择的加密库完成对象客户端侧的加密和解密。一些客户倾向于对加密和解密对象拥有端到端的控制权;这样一来,只有通过加密的对象才会经过互联网传输到 Amazon S3。若是您想掌握对加密密钥的控制权,应该使用客户端库,这样即可实施或使用客户端加密库,同时在将对象传输到 Amazon S3 进行储存以前须要对其进行加密。
      • 数据在存入S3前已经被客户应用程序加密,除了用户本身进行彻底管理外,也能够选择使用AWS KMS进行密钥管理
      • 是嵌入AWS开发工具包中的一组开源API取×××源的加密工具,客户端将从KMI中提供一个密钥,做为S3调用的一部分用于加密或解密
      • 经过AWS EMR 数据写入 S3时,可使用S3DistCp请求服务器端加密,也能够在写入前进行客户端加密,须要将S3DistCP复制到EMR集群里

数据访问审计

  • 能够选择为存储桶配置建立访问日志记录
  • 也能够利用CloudTrail监控访问日志。

Amazon Macie

  • Amazon Macie 是一种支持 AI 技术的安全服务,能够帮助您经过自动发现、分类和保护存储在 Amazon S3 中的敏感数据来防止数据丢失。
  • Amazon Macie 使用机器学习来识别敏感数据(例如,我的身份信息 [PII] 或知识产权),分配业务价值,提供此数据的存储位置信息及其在组织中的使用方式信息
  • Amazon Macie 为您提供一种自动化和低接触的方式来发现和分类业务数据。Amazon Macie 识别客户在其 S3 存储桶中的对象,并将对象内容流式传输到内存中进行分析。当须要对复杂文件格式进行更深刻的分析时,Amazon Macie 将下载对象的完整副本,并在短期内保存,直到完成对象的全面分析。
  • Amazon Macie 可持续监控数据访问活动异常,并在检测到未经受权的访问或意外数据泄漏风险时发出警报。经过模板化的 Lambda 函数进行控制,可在发现可疑行为或对实体或第三方应用程序进行未经受权的数据访问时撤销访问或触发密码重置策略。发出警报时,您可使用 Amazon Macie 进行事件响应,并使用 Amazon CloudWatch Events 迅速采起行动,保护您的数据。

AWS S3 Glacier

概述

  • 成本极低的归档服务
  • 不支持实时读取,一般须要3-5个小时完成检索,但可使用加急检索(1-5分钟)
  • 支持传统磁带的TAR归档和ZIP文件归档
  • 每一个AWS帐号支持1000个存档库,每一个存档库能够无限量支持存档文件,每一个存档文件1KB-40TB,每一个文件须要额外32K+8K用于索引和元数据。
  • 达到11个9的数据持久性
  • Glacier数据是默认加密
  • 按照存储容量和检索容量收费
  • 最少存储90天,不然须要收取提早删除费

属性

Archives 档案

  • 每一个档案最大支持40TB数据
  • 每一个档案有惟一档案ID,但不支持用户友好的存档名称
  • 归档建立完成后,没法被修改

Vaults保管库

  • 存放归档的容器,每一个帐户最多拥有1000个Vault
  • 基于Vault能够实现访问策略控制,支持IAM策略

Vaults Locks 保管库锁

  • 强制执行各个Vaults的合规性策略,包括一次写入屡次读取控件
  • 一旦锁定,策略将不可改变

数据检索

  • 每个月能够免费检索10GB的归档数据
  • 须要使用Amazon S3 API 或 S3 控制台来对Glacier 进行检索和操做

    • 标准检索 3-5个小时
    • 批量检索 5-12小时
    • 加急检索 1-5分钟,经过预置容量保证每5分钟执行3次加急检索
  • 建议使用策略来限制检索数据大小以确保经济性
  • 读取Glacier 数据会在S3-IA中建立一个临时副本
  • 检索部分存档时,只要提取的范围和整个文档的哈希树对齐就能验证文档的完整性
  • 只能够维护一份Glacier的数据索引来列出全部存档清单,一天更新一次

数据传输和访问

  • 全部到Glacier的数据传输都是SSL加密的,无论是对内仍是对外
  • 经过文件库访问策略在资源级别设计权限
  • 使用IAM在用户权限级别设计权限
  • 仅容许自身的AWS帐户及受权的IAM用户能够对Glacier 进行访问,但能够供IAM Role授予跨帐户只读权限

Glacier Select

  • Amazon S3 Glacier Select 是一项功能,可以让您对存储在 Amazon S3 Glacier 中的数据运行查询,而不须要将整个对象恢复到 Amazon S3 等较热的层。
  • 借助 Amazon S3 Glacier Select,您如今可使用 SQL 子集直接对 Amazon S3 Glacier 中的数据进行筛选和基本查询。
  • 您提供 SQL 查询和 Amazon S3 Glacier 对象列表,Amazon S3 Glacier Select 将就地运行查询,并将输出结果写入您在 Amazon S3 中指定的存储桶

AWS上存储的文件生命周期策略

AWS 存储服务(三)

Elastic Block Store (EBS)

概述

  • EBS仅在单个可用区有效
  • 每一个EBS块会在可用区内自动复制,以提供高持久和高可用。
  • EBS卷能够挂载到EC2,一次只能将EBS链接到一个EC2
  • 要共享磁盘卷,须要使用EFS

EBS类型

  • 磁性卷(Megnetic Volume)

    • 最低的性能和最经济的存储
    • EBS磁盘大小从1GB - 1TB 不等,无论实际存储大小,均按预配置存储收费
    • 平均支持100 IOPS,但最大可突破到数百IOPS,吞吐量 40-90MB
    • 适用于 不常访问数据的工做负载,连续读取须要低成本存储的状况
  • 通用SSD (gp2)

    • 经济高效的存储,适合各类工做负载
    • 容量范围从1GB到16TB
    • 每GB提供3个IOPS基准性能,上限为10000IOPS,吞吐量160MB
    • 1TB如下能够支持突破3000IOPS,如当有500G硬盘标准IO为1500IOPS,在不使用磁盘时作IO信用积累,用于在大量IO是采用爆裂行为至3000IOPS
    • 不管实际使用多少容量,都按照预配置容量收费
    • 支持挂载多个卷条带化实现更高性能
    • 适用于:系统启动卷,中小型数据库,开发和测试环境
  • 预置IOPS SSD卷 (lo1)

    • 适合于对存储性能、随机IO一致性很是敏感的应用,即IO密集型工做负载,如大型数据库
    • 容量范围从4GB 到 16TB
    • IOPS上限为容量的30倍或32000IOPS, 吞吐量 320MB
    • 能够经过RAID0进行卷分割
    • 支持挂载多个卷条带化实现高性能,最大75000IOPS
    • 用户须要对预置的磁盘大小和IOPS进行付费
  • 吞吐量优化HDD (st1)

    • 适用于频繁访问、吞吐量密集型的工做负载的高性能低成本HDD
    • 容量范围 500GB - 16GB
    • 最大IOPS 500, 最大吞吐量 500MB/s
  • 冷硬盘 (sc1)

    • 容量范围 500GB - 16GB
    • 较少访问的工做负载,IOPS 250 , 最大吞吐量250MB
  • EBS优化实例

    • 使用任何标准EBS以外的数据卷挂载,都建议使用基于EBS优化的实例。
    • EBS优化实例须要为每小时租用支付额外一小笔费用

AWS 存储服务(三)

保护数据

  • 数据快照

    • 不管任何类型的卷,均可以采用EBS快照进行备份,并存储在S3中
    • 快照是增量备份, 但每一个快照文件利用快照连接是独立的可恢复的
    • 快照自己免费,仅需为快照数据存储付费
    • 快照完成后可继续操做数据库,但快照文件在传输完成以前将没法进行下一次快照
    • 快照存储虽然采用和S3相同技术,可是并不能像S3同样访问和管理,必须采用专门的快照管理功能
  • 数据恢复

    • 快照恢复只能在当前区域操做,若是要跨区域恢复快照,须要先跨区域拷贝快照
    • 快照恢复会首先建立卷,而后在逐块恢复数据,优先访问的块会被优先恢复
    • 数据第一次从快照恢复的时候,其读取速率会较慢
    • 数据快照能够用来做为当前EBS卷的扩容操做,即先作快照,再往新大小的卷上恢复快照
    • 当数据卷从当前实例中被分离后,便可挂载到新的实例,快照恢复卷自己就是个分离卷
  • 加密选项

    • ESS挂载前须要被指定加密选项
    • EBS卷加密一般使用KMS来管理密钥
    • 数据一般会在未访问时被自动加密,因此读取非加密数据和加密数据的各方面性能是一致的
    • 从加密卷获取的快照会被自动加密,加密快照文件自己也会被加密存储
    • 不能对已存在的卷进行加密,须要对其快照进行加密恢复成一个新的卷, 也能够将一个未加密快照拷贝成一个加密快照
    • EBS根卷默认不能加密,须要使用第三方软件加密
    • 除根卷以外的其余卷是能够加密的

EBS Volume 属性

  • EBS Root Volume必须在关机状态下进行挂载和卸载,可是Addtional Volume能够进行在线挂载删除
  • EBS数据是是持久性的,可是默认删除EC2会自动删除EBS的数据,可手工选择保留
  • EC2关机后 EBS数据存储会持续计费

EBS 安全性

  • EBS 卷的访问权限仅限于建立它的AWS帐户以及受权的IAM帐户
  • EBS快照能够有限制的分享给其余帐户,但须要谨慎
  • EBS卷创建时是未格式化设备,全部数据都被擦除
  • EBS卷能够支持用户定制化的擦除数据
  • 建议对EBS数据用AES-256进行加密及其快照

提高EBS性能

  • 确保选择了能够支持EBS优化的实例

    • C3,R3,M3会产生额外成本
    • M4,C4,C5和D2是免费支持的
  • 关闭EBS的RAID0提升吞吐量
  • 尽量减小或者进行有计划的Snapshot,特别对于HDD

实例存储

概述

  • 只有部分EC2实例支持实例存储
  • 挂载在EC2下面的临时块级存储
  • 主要用于临时存储频繁修改的信息: 缓冲区、缓存、临时数据和其余临时内容
  • EC2可挂载的存储大小取决于实例类型,最大可挂载24个2TB的实例存储,也有HDD和SSD可选,这都是与实例自己绑定的,无需另行付费
  • 实例终止或中止,底层磁盘失效都会致使实例存储数据丢失
  • 实例存储容许重启,但不容许中止
  • 支持用户自定义配置RAID0/1/5等
  • 虽然能够经过RAID或HDFS等方式支持冗余,可是对于持久性数据仍然建议使用更持久的解决方案如S3或EBS

AWS 存储服务(三)

EFS (Elastic File System)

概述

  • 支持GB-PB的自动扩展的数据容量
  • 提供延迟低每秒多GB并行的性能,而且支持预置吞吐量
  • 实现实例间的数据共享
  • 支持Network File System vesion 4 (NFSv4) 协议
  • EFS自动分配全局惟一ID,因此命名无需惟一
  • 使用挂载方式+文件系统的DNS链接到EC2
  • EC2和EFS必须在同一个安全组里面才能挂载
  • 只为使用的EFS份额付费
  • 能够同时间支持成千上万的NFS链接
  • 支持一个到上千个EC2挂载同一个EFS
  • EFS的数据会保存在一个区域内的多个可用区
  • EFS除了可以挂载到EC2,还支持挂载到本地的服务器(ClassicLink)
  • 数据从本地移动到EFS

    • 可使用Direct Connect
    • 使用DataSync 使用专用协议来加速和保护经过 Internet 或 AWS Direct Connect 传输的数据,速度比开源工具快 10 倍。使用 DataSync,您能够执行一次性数据迁移,传输本地数据以进行及时的云端分析,并自动复制到 AWS 以进行数据保护和恢复
  • 区域级服务,在不一样可用区之间进行冗余复制(可手工选择)
  • 能够利用AWS Backup来安排自动增量式备份
  • 读写一致性(Read After Write Consistency)
  • 支持使用IAM来控制和管理文件系统
  • 支持使用KMS进行静态数据加密
相关文章
相关标签/搜索