推广 热搜: page  关键词  获取  数据分析  链接  搜索  红书  哪些  服务  小红 

AWS-storage & database

   日期:2025-01-01     作者:qyn41e    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/14272.html
核心提示:目录Simple Storage Service S3 存储桶(Bucket): S3 对象(Object): storage class

目录

Simple Storage Service

S3 存储桶(Bucket

S3 对象(Object

storage class 存储类别

moving between storage classes

Storage Class Analysis

数据管理

S3 Versioning版本控制

S3 Lifecycle Rules生命周期

对象锁定-保护对象免受删除和更改

S3 Replication (CRR & SRR)复制

注意事项

S3 Transfer Acceleration 数据传输加速

S3 – baseline Performance基准性能

S3 Performance

S3 Select & Glacier Select

S3 Batch Operations批量操作

S3 Byte-range Fetches字节范围获取

安全性security

Encryption for Objects-加密(服务器端加密、客户端加密

访问控制(IAM、桶策略、ACLs

S3 MFA-Delete

跨域资源共享(CORS

事件通知和监控

S3 event notification事件通知

S3 Glacier

EBS

Elastic block system

EBS Volume:

volume types-卷类型

delete on termination attribute

root volume *EBS volume *instance store

root volume是instance的一部分,可以是instance store或EBS volume。

snapshot 快照

multi attach -多重附加

Encryption-加密

Instance store

EFS

Elastic File System

serverless

储类别选项

FSx

File System for Windows and Lustre

FSx for Windows File Server

FSx for Lustre

存储类型

seamless integration with S3

FSx file system deployment options-文件部署选项

FSx for NetApp ONTAP

FSx for OpenZFS

Database

AWS可托管的数据库引擎类型

RDS

Relational Database Service 关系数据库服务

RDS Backups 备份

storage auto scaling存储自动扩展

RDS Proxy 代理

RDS read replica for read scalability读取可扩展性的只读副本

Network Cost

网络成本

Multi AZ used for disaster recovery-用于灾难恢复的多个可用区

RDS – From Single-AZ to Multi-AZ

RDS – 从单可用区迁移到多可用区

important ports:

vs RDS Databases ports:

Amazon Aurora

Aurora High Availability and Read Scaling

Aurora DB Cluster

Aurora replicas -auto scaling

Aurora – Custom Endpoints

Aurora serverless

Aurora Multi-master

Global Aurora

Aurora Database Cloning

RDS & Aurora Security

1 **-**静态加密(At rest encryption

2-动态加密(In-flight encryption

3.安全组(Security Groups

4-IAM Authentication(身份验证

5-审计日志可以启用,并发送到CloudWatch Logs以便更长时间保留。

6-除RDS Custom外,不支持SSH

Amazon ElastiCache

Cache Security

patterns for ElasticCache

ElastiCache – Redis Use Case

DynamoDB

capacity modes-数据流容量模式

DynamoDB Global Tables

DynamoDB Backup-备份

DynamoDB与S3的集成:

Stream Processing (数据流处理):

dynamoDB scream VS kinesis data scream

DynamoDB Accelerator-DAX

DAX(DynamoDB Accelerator)和 Elasticache

Storage Gateway-混合存储

use cases

部署模式

S3 File Gateway

FSx File Gateway

Volume Gateway-卷网关

**Tape Gateway-**虚拟磁带库存储网关

DataSync-在线数据传输

Task

工作过程

Transfer Family-安全传输

serverless

Snow Family


  • S3是AWS提供的对象存储服务,适用于存储和检索任意类型的数据,如文件、图像、视频等。
  • S3是高度可扩展、耐用、安全的存储解决方案。
  • 存储桶的名称在整个AWS中必须是全局唯一的。
  • Amazon S3 允许用户将object(文件)存储在“bucket”(目录)中。
  • 存储桶必须有一个全局唯一的名称
  • Buckets are defined at the region level存储桶在区域级别上定义。

<aside> 🐳 命名约定

  • 不使用大写字母
  • 不使用下划线
  • 长度为3-63个字符
  • 不是IP地址
  • 必须以小写字母或数字开头。 </aside>

可以是任意类型的数据,例如文本文件、图像、视频、数据库备份等。

在S3中,对象由以下三个主要组成部分构成

  1. (Key
    • 键是对象的唯一标识符,用于在S3存储桶中唯一标识对象。
    • Key并不是完整路径,而是相对于存储桶的路径或文件名。
  2. (Value
    • 对象值是主体内容
    • 值是实际的数据内容,也就是存储在对象中的实际数据。
    • 值可以是任何字节流,允许存储各种类型的文件和数据。
  3. 元数据(metadata
    • 元数据是关于对象的一组键值对信息,用于描述对象的属性和其他相关信息。
    • 元数据可以包含诸如对象的创建日期、文件类型、大小、所有者等信息。
S3 Standard(default)标准存储适用于频繁访问的数据大数据分析,移动应用,游戏S3 Intelligent-Tiering智能分层—数据根据访问模式分层存储自动优化存储费用和性能;不确定访问频率的数据, 成本敏感型应用S3 Standard-IAinfrequent access访问频率较低,但即时访问的数据。灾难恢复,备份S3 One Zone-IAS3-One zone not suitable for business critical data不适合关键性数据可重新创建的、不经常访问的数据(每月一次),存储在单个可用区中,访问时间为毫秒……………与 S3 Standard-IA相比具有更低的存储成本Glacier Instant RetrievalGlacier 即时检索,数据不可更新适用于需要即时访问的归档数据;Glacier Flexible RetrievalGlacier 灵活检索,数据不可更新适用于很少访问且不需要即时访问的长期数据;S3 Glacier Deep ArchiveGlacier 深度存档,long-term:适用于以最低的云存储成本进行长期归档和数字保存。

Amazon S3 还提供了在整个数据生命周期内管理数据的功能。设置 S3 生命周期策略之后,无需更改您的应用程序,您的数据将自动传输到其他存储类。

<aside> 🚫 您无法从以下内容进行转换

  1. 任何存储类别到S3 Standard。
  2. 任何存储类别到冗余存储(RRS)类别。
  3. S3 Intelligent-Tiering存储类别到S3 Standard-IA。 S3 One Zone-IA存储类别到S3 Intelligent-Tiering,S3 Standard-IA或S3 Glacier即时检索存储类别。 </aside>

moving objects can be automated using a lifecycle configuration

Storage Class Analysis

  • 您可以设置S3分析以帮助确定何时将对象从标准转换为Standard_IA。
  • 不适用于ONEZONE_IA或GLACIER。
  • 报告每天更新。
  • 首次启动需要约24小时至48小时。
  • 组合生命周期规则(或改进生命周期规则)的好第一步

:对象版本控制、生命周期配置、跨区域复制、数据传输加速等功能。

S3 Versioning版本控制

启用版本控制后,S3将为每个存储在存储桶中的对象创建不同的版本,而不是覆盖之前的版本。

  • 可在bucket级别启用
  • 可恢复特定版本以及轻松回滚
  • 默认版本 ID 为“null”
  • suspending versionsing does not delete the previous versions

S3 Lifecycle Rules生命周期

  • Transition actions::它定义了对象何时转换为另一个存储类别。
    • 创建后60天将对象移动到标准IA类别。
    • 6个月后将对象移动到Glacier进行归档。
  • Expiration actions配置对象在一定时间后过期(删除
    • 访问日志文件可以设置为在365天后删除。
    • 可用于删除旧文件版本(如果启用了版本控制
    • 用于删除未完成的多部分上传。
  • 可以为某个前缀prefix创建规则(例如 - s3://mybucket/mp3/*
  • 可以为某些objects tags创建规则(例如 - Department: Finance

对象锁定-保护对象免受删除和更改

  1. 合规模式(Compliance Mode
    • 合规模式是 Amazon S3 中的一种对象锁定模式,用于确保对象在指定的锁定期间内不被删除或更改。
    • 在合规模式下,对象一旦被锁定,即使具有管理权限的用户包括 root 用户)也无法删除或更改对象,直到锁定期结束。
    • 合规模式适用于需要满足法规和合规性要求,确保数据不被篡改或删除的场景。
  2. 治理模式(Governance Mode
    • 治理模式也是 Amazon S3 中的一种对象锁定模式,用于在指定的锁定期间内保护对象免受删除和更改。
    • 在治理模式下,具有管理权限的用户(如 root 用户)可以申请对对象进行更改或删除,但需要提前指定锁定结束的日期和时间。
    • 治理模式适用于需要保护数据免受误删除或更改的场景,但允许有一定管理权限的用户提前申请解锁。

S3 Replication (CRR & SRR)复制

  • Must enable versioning in source and destination

  • 跨区域复制Cross Region Replication (CRR)

  • 同一区域复制Same Region Replication (SRR)

  • 复制是asynchronous异步的

  • 存储桶可以位于不同的账户中

  • 必须为S3授予适当的IAM权限

  • CRR - 使用场景:合规性,更低的延迟访问,跨账户复制

  • SRR - 使用场景:log aggregation日志聚合,live replication between production and test accounts生产和测试账户之间的实时复制

    注意事项

  • 激活后,只有新对象会被复制(不会追溯复制旧对象

  • 对于删除操作

    • 可以从源复制到目标删除maker(可选设置
    • 具有版本 ID 的删除不会被复制(以避免恶意删除
  • 复制不传递

    • 如果 bucket 1 复制到 bucket 2,bucket 2 复制到 bucket 3, 那么在 bucket 1 中创建的对象不会被复制到 bucket 3

S3 Transfer Acceleration 数据传输加速

  • 通过将文件传输到AWS边缘位置,增加传输速度,该位置将数据转发到目标区域的S3存储桶
  • 兼容多部分上传Compatible with multi-part upload

S3 – baseline Performance基准性能

  • Amazon S3可以自动扩展到高请求率,延迟为100-200毫秒。
  • 您的应用程序每个存储桶前缀每秒可以实现至少3,500个PUT/COPY/POST/DELETE和5,500个GET/HEAD请求。

S3 Performance

  • Multi-Part upload:

    • 推荐用于大于100MB的文件,对于大于5GB的文件必须使用

    • 可以并行上传(加快传输速度

  • S3 Transfer Acceleration

    • 通过将文件传输到AWS边缘位置,增加传输速度,该位置将数据转发到目标区域的S3存储桶
    • 兼容多部分上传Compatible with multi-part upload

S3 Select & Glacier Select

  • 使用简单的SQL进行服务器端过滤,以检索较少的数据
  • 可以按行和列进行过滤
  • 较少的网络传输和客户端的CPU成本
  • Use Case:
    • 适用于需要从大型对象中仅提取特定数据的情况,例如从CSV或JSON文件中提取特定字段的值,而不需要下载整个对象。
    • Glacier Select则用于从S3 Glacier存储中检索特定数据,这样可以避免将整个归档文件恢复到S3中,从而节省时间和费用。

S3 Batch Operations批量操作

  • 通过单个请求对现有S3对象执行批量操作
    • 一个作业包括一个对象列表,要执行的操作和可选参数
    • S3批量操作管理重试,跟踪进度,发送完成通知并生成报告
    • 步骤
      • 使用S3清单获取对象列表
      • 使用S3 Select过滤对象
      • 使用S3批量操作处理对象

S3 Byte-range Fetches字节范围获取

  • 通过请求特定的字节范围并行化GET操作
  • 使用场景:加快下载速度或只需要部分数据(例如文件头
  • Use Case: S3 Byte-range Fetches适用于需要仅获取对象的一部分内容的情况,例如音频或视频文件的部分播放、分块下载大文件或断点续传等。通过指定字节范围,客户端可以仅下载所需的部分数据,而不需要下载整个对象,从而提高效率和性能。

Encryption for Objects-加密(服务器端加密、客户端加密

  • 服务器端加密(Server-Side Encryption,SSE

    S3 管理加密密钥(SSE-S3 或 SSE-KMS

    SSE-S3

    • Object is encrypted server side
    • AES-256 encryption type
    • Must set header: "x-amz-server-side-encryption": "AES256"

    SSE-KMS

    加密密钥由 AWS Key Management Service (KMS) 管理。

    • KMS Advantages: user control + audit trail
    • Object is encrypted server side
    • Must set header: "x-amz-server-side-encryption": "aws:kms"
  • 客户管理加密密钥(SSE-C

    • SSE-C(Server-Side Encryption with Customer-Provided Keys
    • Amazon S3 不会存储您提供的加密密钥
    • HTTPS must be used
    • Encryption key must provided in HTTP headers, for every HTTP request made
    • 允许客户使用自己管理的加密密钥对数据进行加密。客户在上传对象时必须提供加密密钥,并在后续下载时提供正确的密钥来解密数据。
  • 客户端加密Client Side Encryption

    • 客户端必须在发送到S3之前自行加密数据
    • 客户端必须在从S3检索数据时自行解密数据
    • 客户完全管理密钥和加密周期
  • encryption in transit(SSL/TSL)

    • 使用 SSL/TLS 加密协议保护数据在传输过程中的安全性。
    • 数据在从客户端上传到 S3 或从 S3 下载到客户端的过程中会被加密,防止中间人攻击或窃听。

访问控制(IAM、桶策略、ACLs

  • Bucket Policy-S3存储桶策略

    基于JSON的策略

    • 资源:buckets and objects
    • 效果:Allow / Deny
    • 操作:允许或拒绝的API集合
    • 主体:要应用策略的帐户或用户
    • 应用场景
      • 授予公共访问桶
      • 强制上传的对象进行加密
      • 授予另一个帐户访问权限(跨帐户访问必须使用存储桶策略
  • 使用IAM策略进行访问控制

    • 基于用户
      • IAM策略,控制特定用户从IAM可以允许哪些API调用
  • 使用预签名URL(Pre-Signed URL)授予临时访问权限

    • Can generate pre-signed URLs using SDK or CLI
      • For downloads (easy, can use the CLI)
      • For uploads (harder, must use the SDK)
    • Valid for a default of 3600 seconds, can change timeout with --expires-in [TIME_BY_SECONDS] argument
    • Users given a pre-signed URL inherit the permissions of the person who generated the URL for GET / PUT
    • 可以使用SDK或CLI生成预签名URL
      • 对于下载(容易,可以使用CLI
      • 对于上传(更难,必须使用SDK
    • 默认有效期为3600秒,可以使用--expires-in [TIME_BY_SECONDS]参数更改超时时间
    • 获得预签名URL的用户继承生成URL的人的GET / PUT权限
  • bucket setting for block public access

    在AWS S3(Simple Storage Service)中"Block Public Access"(阻止公共访问)是一组设置,用于确保您的S3存储桶及其内容不会被未经授权的公众访问。这些设置旨在增加您数据的安全性,防止因配置错误或意外而导致敏感信息泄露。

    Block Public Access有以下四个设置选项

    1. Block all public access:
    2. Block public access to buckets and objects granted through new access control lists (ACLs):
    3. Block public access to buckets and objects granted through any public bucket or access point policies:
    4. Block public access to buckets and objects granted through new public bucket or access point policies:

S3 MFA-Delete

  • MFA(多因素认证)会强制用户在进行S3上的重要操作之前,在设备上(通常是手机或硬件)生成一个代码。
  • 要使用MFA-Delete,请在S3存储桶上启用Versioning。
  • 您需要MFA来
    • permanently delete an object version
    • suspend versioning on the bucket
    • 永久删除对象版本
    • 暂停存储桶的版本控制
  • 您不需要MFA来
    • 启用版本控制
    • 列出已删除的版本
  • 只有桶所有者(root account)可以启用/禁用MFA-Delete
  • MFA-Delete目前只能使用CLI启用
  • 注意:默认加密之前会评估Bucket策略

(Cross-Origin Resource Sharing

用于处理跨域资源共享。

在Web开发中,当您的网页或Web应用程序在一个域名下加载资源(例如图片、字体、脚本等,然后尝试从另一个域名进行访问时,就会发生跨域请求。默认情况下,浏览器执行跨域请求时会阻止访问,并产生CORS错误。

为了允许其他域名下的网页或应用程序访问S3存储桶中的资源,您可以配置S3 CORS规则。CORS规则告诉S3允许哪些域名下的请求来访问S3资源,并在响应中附加适当的CORS头部信息,以允许浏览器处理跨域请求。

CORS规则通常包含以下信息

  1. 允许访问的来源(Origin:指定允许访问S3资源的域名或URL,可以是单个域名、多个域名,或者使用通配符进行匹配。
  2. 允许的HTTP方法:指定允许的HTTP方法(例如GET、PUT、POST等,用于执行跨域请求。
  3. 允许的自定义头部:指定允许浏览器在跨域请求中包含的自定义头部信息。
  4. 允许的暴露头部:指定在响应中暴露给浏览器的自定义头部信息。

配置S3 CORS规则可以确保其他域名下的网页或应用程序能够正常访问和加载S3存储桶中的资源,从而实现跨域资源共享。

S3 event notification事件通知

S3的Event Notification功能允许您对存储桶中的对象操作事件进行监视,并在事件发生时自动触发相应的通知动作。这些事件可以包括对象的创建、删除、还原等。

  • S3event notification
    • 当事件发生时,发送通知到SQS、SNS、Lambda或Amazon EventBridge
    • Amazon EventBridge提供了
      • 使用JSON规则(元数据、对象大小、名称)的高级过滤选项
      • 多个目的地-例如Step Functions,Kinesis Streams/Firehose
      • EventBridge功能-归档、重放事件和可靠的传递
    • 可以进行对象名称过滤(例如*.jpg
    • 创建尽可能多的"S3事件"
    • 通常只需要几秒钟,但可能需要1分钟或更长时间
  1. 目标(Destination:事件发生时,您可以选择将通知发送到一个或多个目标,包括
    • S3存储桶
    • SNS主题(Simple Notification Service
    • SQS队列(Simple Queue Service
    • Lambda函数
    • 其他支持的AWS服务

Amazon S3 Glacier(S3)是一项安全持久的服务,适用于低成本的数据存档和长期备份。

  1. Glacier: 数据不可变,创建存档后便无法对其进行更新

<aside> 🧊 S3 Glacier Instant Retrieval

– 用于归档很少访问的、需要毫秒检索的数据。

</aside>

<aside> 🧊 S3 Glacier Flexible Retrieval

-用于可能需要在几分钟内检索其部分数据的归档。使用加速检索只需 1-5 分钟即可访问 数据。您还可以在最多 5-12 小时内申请免费批量检索。

</aside>

<aside> 🧊 S3 Glacier Deep Archive

– 用于归档很少需要访问的数据。存储的数据的默认检索时间为 12 小时。

</aside>

一种持久性、高性能的存储解决方案,专为在AWS云环境中运行的EC2实例设计。

EBS Volume:

EBS卷是AWS提供的一种块存储服务,用于为EC2实例提供持久性存储。它提供了可供EC2实例使用的虚拟硬盘。EBS卷可以附加到EC2实例,并用于存储应用程序数据和其他持久性数据。

以下是一些关键特点和用途

  1. 持久性和可靠性:EBS卷的数据是持久存储的,即使EC2实例关机或遇到故障,数据也会得到保留。EBS数据具有高可靠性,并提供数据冗余和自动备份功能。
  2. 可扩展性和高性能:EBS卷的容量和性能可以根据需要进行调整。你可以根据应用程序的需求增加或减少卷的大小,并调整卷的吞吐量和IOPS(每秒输入/输出操作数)。
  3. 快照备份:EBS提供了快照功能,可以创建卷的点-in-time备份。快照是卷数据的完整拷贝,可以用于数据备份、灾难恢复和创建新的EBS卷。
  4. 多种卷类型:EBS提供多种卷类型,包括SSD(固态硬盘)和HDD(机械硬盘)等。每种类型都具有不同的性能和成本特性,可以根据应用程序的需求选择适合的卷类型。
  5. 可用性和地理位置:EBS卷可以在不同的可用区之间进行复制和备份,以提高数据的可用性和可靠性。此外,EBS卷还可以进行跨区域复制,以实现地理位置的灾难恢复。

volume types-卷类型

SSD 和 HDD 是存储设备的类型

  1. SSD(Solid State Drive:SSD 是一种基于闪存存储技术的固态硬盘。它使用无机化合物(如硅)来存储数据,并通过电子信号进行读写操作。SSD 具有较快的访问速度和较低的延迟,适用于对性能要求较高的工作负载。它们通常较小、较轻、能耗较低,并且不受物理震动的影响。

    快访问速度,低延迟,小轻,能耗低

  2. HDD(Hard Disk Drive:HDD 是一种传统的机械硬盘。它使用旋转的磁盘和移动的读写头来读取和写入数据。HDD 具有较大的存储容量和较低的成本,适用于需要大容量存储且对性能要求较低的工作负载。它们通常较大、较重、能耗较高,并且对物理震动比较敏感。

    大容量,低成本

EBS volume types

only gp2/gp3 and io1/io2 can be used as boot volumes

  • gp2/gp3(SSD:General purpose SSD volume,提供平衡的价格和性能,适用于各种工作负载。

    • gp3可以独立设置IOPS和throughput,gp2的IOPS和 throughput是linked
    • 价格
  • io1/io2(SSD:Highest-performance SSD volume for mission-critical low-latency or high-throughput workloads

    • more than 16000 IOPS
    • great for databases workloads
    • increase PIOPS independently from storage size
  • st1(HDD:Low cost HDD volume,专为频繁访问、吞吐量密集型的工作负载而设计。

  • sc1(HDD:Low cost HDD volume,专为不频繁访问的工作负载而设计。

delete on termination attribute

EBS volume的属性

用于定义当关联的 EC2 实例终止时是否自动删除该 EBS 卷。具体而言,如果 "delete on termination" 属性被设置为启用(默认情况下是启用的,则当关联的 EC2 实例终止时,该 EBS 卷将自动被删除,其上的数据也将被清除。

By default, the Root volume type will be deleted as its "Delete On Termination" attribute checked by default. Any other EBS volume types will not be deleted as its "Delete On Termination" attribute disabled by default.

默认情况下,根卷类型将被删除,因为其“删除终止”属性已默认选中。任何其他EBS卷类型将不被删除,因为其“删除终止”属性默认禁用。

root volume *EBS volume *instance store

root volume是EC2实例的主要存储卷,通常用于操作系统和系统文件。它是EC2实例的一部分,与实例的生命周期绑定。

EBS volume是一种可附加attach到EC2实例的虚拟硬盘

root volume是instance的一部分,可以是instance store或EBS volume。

  • 如果根卷是实例存储,直接连接到实例主机。它提供了高性能和低延迟的存储,但是它是临时性
  • 如果根卷是EBS卷,它是一种持久性存储,数据会被保留,即使实例停止或终止

snapshot 快照

a backup of EBS volume at any point time

can copy snapshots across AZ or Region

增量备份 快照采用增量备份的方式,只备份卷上的更改数据,从而减少存储空间和传输成本。

multi attach -多重附加

Attach the same EBS volume to multiple EC2 instances in the same AZ

io1/io2 family

  • Attach the same EBS volume to multiple EC2 instances in the same AZ
  • Each instance has full read & write permissions to the volume
  • Use case:
    • Achieve higher application availability in clustered Linux applications (ex: Teradata)
    • Applications must manage concurrent write operations
  • Must use a file system that's cluster-aware (not XFS, EX4, etc…)

Encryption-加密

当您创建一个加密的EBS卷时

  • 数据静态存储时会在卷内部进行加密,保护数据的安全性。
  • 实例和卷之间传输的所有数据都会进行加密,确保数据在传输过程中的机密性。
  • 所有的快照都会被加密,包括从未加密的卷创建的快照。
  • 从快照创建的所有卷都会继承快照的加密属性,成为加密卷。
  • EBS加密使用来自AWS KMS的AES-256密钥进行加密和解密。

要对未加密的EBS卷进行加密,您可以按照以下步骤操作

  1. 创建卷的快照。
  2. 使用复制操作对快照进行加密。
  3. 使用加密的快照创建新的EBS卷,这个卷也会是加密的。
  4. 将加密的卷附加到原始实例上。

EC2 Instance Store是基于物理硬盘的本地存储,它直接连接到运行实例的物理硬件。这意味着实例存储是实际的物理硬盘驱动器,提供了低延迟和高吞吐量的性能。

EBS 卷是基于网络连接的虚拟存储设备,它是通过网络连接到实例,并提供持久性数据存储。

EBS volume are network drives with good but limited performance

if you need a high-performance hardware disk, use EC2 instance store

  • better I/O performance
  • **ephemeral—**EC2 instance store lose their storage if they’re stopped
  • good for buffer/ cache / scratch data / temporary content
  • not for long term storage

serverless

可以挂在到一个instance上

可以挂载到multi-AZ的不同instance上

EFS 文件系统不能直接跨越多个 AWS region进行挂载。

扩展到 PB 级数,在添加和删除文件时自动增加和缩减

EFS 基于NFS协议的文件存储服务,是一个分布式的文件系统,允许多个 Amazon EC2 实例同时访问和共享文件。

POSIX 兼容性:Amazon EFS 设计为与 POSIX 文件系统接口兼容,因此你可以将现有的应用程序和工作负载迁移到 EFS 上,而无需进行大量修改。

<aside> ➡️ POSIX(Portable Operating System Interface,可移植操作系统接口)是一组操作系统标准,旨在提供一种标准化的编程接口,使不同操作系统上的应用程序能够在不进行太多修改的情况下移植和运行。

</aside>

  • Highly available, scalable, expensive (3x gp2), pay per use
  • Use cases: content management, web serving, data sharing,Wordpress
  • Uses NFSv4.1 protocol
  • Uses security group to control access to EFS
  • Compatible with Linux based AMI (not Windows):兼容Linux AMI(不支持Windows
  • 不支持在基于微软 Windows 的Amazon EC2 实例上使用 Amazon EFS。
  • Encryption at rest using KMS

储类别选项

  • 标准存储类别
    • EFS Standard: 经常访问的数据需要最高的耐久性和可用性。
    • EFS Standard–IA: 寿命长、不经常访问的数据,需要最高的耐久性和可用性。
  • 单区存储类别
    • EFS One Zone:经常访问的数据,不需要最高水平的耐久性和可用性。

    • EFS One Zone-IA:寿命长、不经常访问的数据,不需要最高水平的耐久性和可用性。

      由于 EFS One Zone 存储类将数据存储在单个AWS可用区中,因此在发生影响可用区内所有数据副本的灾难或其他故障时,或者可用区被破坏时,存储在这些存储类中的数据可能会丢失。

  • Amazon FSx for Windows File Server 是一种托管的Windows文件共享服务,支持标准的SMB协议,适用于文件共享和备份。
  • 提供了完全托管的第三方文件系统。
  • 启动、运行和扩缩功能丰富的高性能文件系统
  • Windows 兼容性:FSx for Windows File Server 支持标准的 Server Message Block(SMB)协议,这是 Windows 环境中常用的文件共享协议。您可以使用现有的 Windows 工具和应用程序,无缝地连接和访问 FSx 文件系统。
  • 可伸缩性:FSx 可以根据您的需求自动扩展存储和性能,确保您始终能够满足不断增长的文件存储需求。
  • 备份和数据复制:FSx 自动处理数据的备份和复制,确保数据的高度可靠性和持久性。
  • 集成 AWS 功能:FSx 与其他 AWS 服务紧密集成,例如 Amazon S3、AWS Identity and Access Management(IAM)等,帮助您构建全面的存储和数据管理解决方案。

**high performance computing(HPC)**高性能计算

可扩展的、低延迟的

适用于 HPC、机器学习、媒体处理等场景

存储类型

  • 固态硬盘 (SSD):
    • 对于低延迟、IOPS 密集型工作负载,这些工作负载通常具有小型随机文件操作,请选择其中一个 SSD 存储选项。
  • 硬盘驱动器 (HDD)
    • 对于吞吐量密集型工作负载,这些工作负载通常具有大型顺序文件操作,请选择其中一个 HDD 存储选项。

seamless integration with S3

与S3无缝集成: 允许您在 Lustre 文件系统中无缝访问和处理 Amazon S3 存储的对象数据

  1. 直接访问 S3 数据:FSx for Lustre 可以直接访问存储在 Amazon S3 上的对象数据
  2. 数据一致性:当您将数据从 Amazon S3 写入 Lustre 文件系统或从 Lustre 文件系统写回到 S3 时,FSx for Lustre 会确保数据的一致性。
  3. 高性能:Lustre 文件系统和 Amazon S3 存储都是高性能的服务。通过 Seamless Integration with S3,您可以在 Lustre 文件系统中利用 Lustre 的低延迟和高吞吐量特性来快速读取和处理 S3 存储的数据,从而提高数据处理效率。
  4. 数据持久性:由于 Lustre 文件系统直接访问 S3 存储的数据,数据的持久性和可靠性与 Amazon S3 保持一致。
  • Persistent File System (持久文件系统)
    • temporary storage
    • data is not replicated (doesn’t persist when file server fails).意味着如果文件服务器发生故障,数据可能会丢失。
    • high bust
    • usage :short-term processing, optimize costs
  • Scratch File System (短期文件系统)
    • long-term storage
    • data is replicated witnin same AZ
    • raplace failed files within minutes确保数据的可靠性和完整性。
    • usage: long-term processing , sensitive data

一项完全托管的服务,提供基于流行的 onTAP 文件系统构建的高可靠、可扩展、高性能和功能丰富的文件存储。

  • 企业级性能和功能:FSx for NetApp onTAP 基于 NetApp 公司的存储操作系统,提供了企业级的性能、可靠性和功能。
  • 多协议支持:支持 Network File System (NFS) 和 Server Message Block (SMB) 等多种协议,与不同应用程序和环境无缝集成。
  • 高可用性:FSx for NetApp onTAP 部署在多个 AWS 可用区,提供数据冗余和高可用性。
  • 数据备份和恢复:FSx for NetApp onTAP 支持数据备份、快照和灾难恢复,确保数据的安全性。
  • Amazon FSx for Lustre 是一种高性能的托管文件系统服务,适用于高性能计算、机器学习、媒体处理等场景。可选择SSD或HDD存储类型,并可以与Amazon S3无缝集成。
    • Windows 兼容性:FSx for Windows File Server 支持标准的 Server Message Block(SMB)协议,这是 Windows 环境中常用的文件共享协议。您可以使用现有的 Windows 工具和应用程序,无缝地连接和访问 FSx 文件系统。
    • 可伸缩性:FSx 可以根据您的需求自动扩展存储和性能,确保您始终能够满足不断增长的文件存储需求。
    • 备份和数据复制:FSx 自动处理数据的备份和复制,确保数据的高度可靠性和持久性。
    • 集成 AWS 功能:FSx 与其他 AWS 服务紧密集成,例如 Amazon S3、AWS Identity and Access Management(IAM)等,帮助您构建全面的存储和数据管理解决方案。

AWS可托管的数据库引擎类型

  • MariaDB
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Aurora (AWS proprietary database)

we can’t SSH into our RDS inst

多种数据库引擎支持:包括MySQL、PostgreSQL、Oracle、Microsoft SQL Server和Amazon Aurora。这使得用户可以根据应用程序的需求选择合适的数据库引擎。

  • RDS中自动启用备份功能。
  • 自动备份
    • 每天在维护窗口期间对数据库进行完整备份。
    • RDS每隔5分钟备份一次事务日志。
    • 可以还原到任意时间点(从最早的备份到5分钟前的时间点)。
    • 保留备份数据的时间为7天(可以增加至35天)。
  • 数据库快照(DB Snapshots
    • 用户可以手动触发备份操作。
    • 可以根据需要保留备份数据的时间,没有时间限制。

自动备份适用于对数据可靠性和恢复性有较高要求的场景

数据库快照更适用于具有特定备份需求或需要长期保留备份的场景。(花费更小

根据需要自动调整RDS数据库实例的存储空间

  • 您需要设置最大存储阈值(数据库存储的最大限制
  • 满足以下条件: 剩余存储空间少于已分配存储空间的10% 低存储状态持续至少5分钟 距离上次调整已经过去6小时
  • 适用于具有不可预测的工作负载的应用程序。
  • 支持所有RDS数据库引擎(MariaDB,MySQL,PostgreSQL,SQL Server,Oracle)。

RDS Proxy allows for managing thousands of concurrent database connections, which can help reduce connection errors

serverless, autoscaling, multi-AZ (high available)

RDS Proxy提高数据库的性能、可扩展性和安全性

RDS Proxy是RDS(Amazon Relational Database Service)的全管理数据库代理,它为应用程序提供了一个连接池,并允许应用程序共享与数据库建立的连接。它的主要目标是通过减少数据库资源(如CPU、RAM)的负载和最小化开启的连接数(以及超时)来提高数据库的效率。

解释

  • RDS Proxy充当应用程序和数据库之间的中间代理,它可以处理与数据库的连接和请求,从而减轻数据库的负担。应用程序可以通过连接池共享已建立的数据库连接,而不是每次请求都创建一个新的连接,这样可以降低数据库上的开销,提高响应效率。
  • 减少数据库资源(如CPU和RAM)的使用
  • RDS Proxy可以显著减少RDS和Aurora数据库的failover time,据称可高达66%。
  • RDS Proxy通过IAM身份验证强制执行数据库连接的安全性,并使用AWS Secrets Manager安全地存储数据库凭据。这意味着连接到数据库的应用程序必须经过身份验证,并且凭据被安全地存储,以确保数据库的安全性。
  • RDS Proxy永远不会公开访问(不可公开访问,只能从VPC(Virtual Private Cloud)内部访问。这增加了数据库的安全性

分担主数据库的读取负载,提高读取性能。

主数据库负责写入操作,而读取副本负责处理查询操作,从而减轻主数据库的负担。

  • 最多可创建5个读取副本

  • 支持Within AZ, Cross AZ or Cross Region

  • 复制是ASYNC,因此读取最终一致性

    • 主数据库对数据的更改会立即应用到主数据库本身,但不会立即传输到所有读取副本。这意味着读取副本的数据可能在某些时候是稍有延迟的,但最终会达到一致性。
  • 副本可以晋升为独立的数据库

  • 应用程序必须更新连接字符串以使用读取副本

    • In AWS there's a network cost when data goes from one AZ to another
    • For RDS Read Replicas within the same region, you don't pay that fee
    • 在AWS中,当数据从一个AZ传输到另一个AZ时,会产生网络成本。
    • 对于同一区域中的RDS只读副本,您不需要支付该费用
  • SYNC replication, Increase availability
  • 同步复制,提高可用性
  • RDS 主实例和辅助实例(读取副本)位于不同的可用区

RDS – From Single-AZ to Multi-AZ

  • Zero downtime operation (no need to stop the DB)
  • Just click on "modify" for the database
  • The following happens internally:
    • A snapshot is taken
    • A new DB is restored from the snapshot in a new AZ
    • Synchronization is established between the two databases

RDS – 从单可用区迁移到多可用区

  • 零停机操作(无需停止数据库
  • 只需单击数据库的“modify”按钮
  • 下列操作在内部进行
    • 拍摄一个快照
    • 在新的 AZ 中从快照中还原一个新的数据库
    • 在两个数据库之间建立同步

important ports:

  • FTP: 21
  • SSH: 22
  • SFTP: 22 (same as SSH)
  • HTTP: 80
  • HTTPS: 443

vs RDS Databases ports:

  • PostgreSQL: 5432
  • MySQL: 3306
  • Oracle RDS: 1521
  • MSSQL Server: 1433
  • MariaDB: 3306 (same as MySQL)
  • Aurora: 5432 (if PostgreSQL compatible) or 3306 (if MySQL compatible)

Amazon Aurora 是一款完全托管式关系数据库引擎,专为云端打造,与 MySQL 和 PostgreSQL 兼容。Amazon Aurora 是 Amazon RDS 的一部分。

separation of storage and compute

  • Aurora is a proprietary technology from AWS (not open sourced)
  • Postgres and MySQL are both supported as Aurora DB (that means your drivers will work as if Aurora was a Postgres or MySQL database)
  • Aurora被称为“AWS云优化”,声称相比RDS上的MySQL,性能提高了5倍,比RDS上的PostgreSQL性能提高了3倍。
  • Aurora存储会自动以10GB为增量增长,最高可达128TB。
  • Aurora最多可以有**15个raplica,而MySQL只能有5个,**并且复制过程更快(副本延迟低于10毫秒)。
  • Aurora的故障切换是即时的。它具有本地高可用性(High Availability)。
  • Aurora的成本比RDS更高(高出20%,但更高效。
  • 数据在3个AZ中有6个copies
    • 对于写入,需要6个副本中的4个。
    • 对于读取,需要6个副本中的3个。
    • 使用点对点复制实现自动修复。
    • 存储跨数百个卷进行条带化(striped)。
  • 一个Aurora实例用于写入(master)。
  • automated failover for instance for master in less then 30s
  • 主实例和最多15 Aurora Read Replicas serve用于读取服务。
  • 支持跨区域复制(Cross Region Replication
  • 将一组Aurora实例定义为自定义终端节点。
  • 示例:在特定副本上运行分析查询。
  • 在定义自定义终端节点后,通常不再使用读取终端节点(Reader Endpoint)。

!https://img2022.cnblogs.com/blog/2122768/202204/2122768-20220417155832116-1925105483.png

可以根据实际负载需求自动调整数据库的计算容量,从而实现按需自动缩放。

  1. 自动扩展和缩减:Aurora Serverless可以根据负载自动增加或减少计算容量,确保数据库能够高效地处理变化的工作负载,同时最大程度地降低成本。
  2. 无需管理实例大小:用户无需手动配置数据库实例的大小,Aurora Serverless会自动处理资源调整。
  3. 暂停和恢复功能:当数据库不活动时,Aurora Serverless可以自动暂停实例,从而节省资源并降低成本。一旦有查询请求或数据库活动,它会快速恢复并处理请求。
  4. 基于秒级的计费:Aurora Serverless按照数据库使用的秒数进行计费,这意味着您只需支付实际使用的资源量。

<aside> 🐳 适合infrequent不频繁, intermittent间歇性 or unpredictable 不可预测的workloads

</aside>

<aside> 🐳 对数据库负载有波动性的场景,如开发和测试环境、不规则的工作负载和季节性业务。

</aside>

传统的数据库系统通常只有一个主节点,所有写入操作都要经过该主节点处理,这可能会成为瓶颈并限制数据库的写入吞吐量。而Aurora Multi-Master则允许多个主实例并行处理写入请求,从而显著提高了数据库的写入性能和容量。

主要特点如下

  1. 多主节点:Aurora Multi-Master允许在Aurora集群中配置多个主节点,每个主节点都可以处理写入请求。
  2. 并行写入:由于有多个主节点,写入操作可以并行处理,这样大大提高了数据库的写入吞吐量。
  3. 高可用性:每个主节点都具有独立的网络和存储,因此即使某个主节点发生故障,其他主节点仍然可以继续处理写入请求,确保数据库的高可用性。
  4. 读取负载均衡:Aurora Multi-Master还支持读取负载均衡,多个主节点可以处理读取请求,从而进一步提高数据库的读取性能。

Aurora Multi-Master适用于高写入负载的场景,例如大规模的写入操作、高并发的写入请求或需要实时同步多个数据源的应用程序。通过允许多个主节点处理写入请求,Aurora Multi-Master提供了更高的可伸缩性和性能,使得数据库可以更好地适应大规模的写入操作。

Aurora multi-AZ replicas:用于disaster recovery

这种设置适用于非常关键的应用程序,因为它提供了最小的故障恢复时间,但它并不提供在另一个区域中实时写入的能力。

    • 每个辅助区域最多16个 read replica
    • 有助于降低延迟
    • 将另一个区域提升为主要区域(用于灾难恢复)的恢复时间目标(RTO)小于1分钟
    • replicate data across-region takes less than 1s

create a new aurora DB cluster from an existing one

faster than snapshot & restore

  1. 快速创建准确副本:Aurora数据库克隆使用现有数据库的快照创建副本,因此它是原始数据库的准确复制。这个过程是非常快速的,不需要从头开始复制和创建数据库。
  2. 节省时间和资源:通过克隆,您无需手动配置新的数据库实例,从头开始加载数据,或者执行其他复杂的操作。这节省了时间和资源,使得数据库克隆非常便捷。
  3. 测试和开发:Aurora数据库克隆非常适合用于测试和开发环境。您可以创建数据库的克隆副本,并在测试或开发环境中使用它,而不影响生产环境的数据库。
  4. 数据分析和报告:您可以使用克隆数据库来进行数据分析、生成报告以及运行复杂查询,而无需在生产数据库上执行这些操作,从而减少生产数据库的负担。
  5. 数据库快照:数据库克隆是基于现有数据库的快照创建的。因此,在克隆数据库上执行的任何更改不会影响原始数据库

1 **-**静态加密(At rest encryption

  • 可以使用AWS KMS(Key Management Service)的AES-256加密,对主数据库和只读副本进行加密。
  • 加密必须在启动时定义。
  • 如果主数据库未加密,则无法对只读副本进行加密。
  • 对已存在的未加密数据库进行加密,可以通过创建数据库快照,并在恢复时选择使用加密方式进行恢复,以实现加密功能

2-动态加密(In-flight encryption

  • 默认支持TLS,客户端使用AWS TLS根证书

3.安全组(Security Groups

控制对RDS / Aurora数据库的网络访问

4-IAM Authentication(身份验证

使用IAM角色连接数据库(而非用户名/密码

5-审计日志可以启用,并发送到CloudWatch Logs以便更长时间保留。

6-除RDS Custom外,不支持SSH

doesn't cache at edge locations

Amazon ElastiCache允许您在云中轻松创建和管理cache。

缓存是一种快速存储数据的方法,可以加快应用程序的速度。

它提供了高性能、低延迟的内存数据库,用于缓存数据。

  • ElastiCache支持两种流行的缓存引擎:Redis和Memcached。
  • 内存数据库(Caches)的高性能和低延迟 ElastiCache提供了高性能和低延迟的内存数据库,允许您在内存中存储和检索数据,从而加快数据访问速度。
  • 减轻数据库负载 使用ElastiCache可以将读取密集型工作负载的负载转移到缓存数据库中,从而减轻主数据库的负载,提高数据库的性能和响应能力。
  • 用户会话存储 ElastiCache还可以用作应用程序的用户会话存储,帮助使应用程序无状态化。通过将用户会话存储在缓存中,可以实现应用程序的无状态设计,从而更好地处理负载均衡和可扩展性。
  • AWS管理和维护 Amazon ElastiCache负责托管Redis或Memcached的操作系统维护、补丁管理、性能优化、设置、配置、监控、故障恢复和备份。这样,您无需担心底层基础设施和管理任务。
  • 应用程序代码更改 使用ElastiCache通常需要对应用程序代码进行适度的更改,以支持缓存功能。例如,您需要调整应用程序的读取逻辑,以先查找缓存,如果缓存中没有,则再查找主数据库。

<aside> <img src="/icons/palm-tree_red.svg" alt="/icons/palm-tree_red.svg" width="40px" /> Redis与Memcached对比

特征RedisMemcached数据结构支持支持更丰富的数据结构,如字符串、哈希、列表、集合、有序集等仅支持简单的键值对存储persistent data持久化数据✅❌replication✅❌backup and restore✅❌多节点分区✅✅多线程支持单线程多线程适用场景复杂数据结构、持久化需求、高可用性简单键值对缓存、高性能需求</aside>
  • All caches in ElastiCache:
    • 不支持IAM身份验证
    • ElastiCache上的IAM策略仅用于AWS API级别的安全性
  • Redis认证(AUTH
    • 令牌:You can set a "password/token" when you create a Redis cluster
    • This is an extra level of security for your cache (on top of security groups)
    • Support SSL in flight encryption
  • Memcached
    • 支持基于SASL的身份验证(高级功能

Lazy Loading (延迟加载) 这个方法很lazy,读取数据首先检查cache里面有没有,有的话直接读取,没有再到持久性数据储存中读取。但这样导致cache里的数据可能会过时,必须额外设置更新数据

Write-through (写入透穿) 在写入数据库时同时将数据添加或更新到缓存中

Session Store (会话存储) 将临时会话数据存储在缓存中(使用TTL功能)。

  • 游戏排行榜的复杂计算
  • Redis排序集保证了唯一性和元素顺序
  • 每次添加新元素时,都会对其进行实时排名,然后添加到正确的顺序

Amazon DynamoDB 是一种全托管式 NoSQL 数据库服务,可提供快速且可预测的性能,能够实现无缝扩展。

  • 完全托管,高可用性,在多个可用区进行复制
  • NoSQL database - 不是关系型数据库
    • with transaction support
  • 可扩展到大规模工作负载分布式数据库distributed database
  • 每秒数百万次请求,数万亿行数据,数百TB的存储
  • 高性能且稳定(单位数毫秒级
  • 与IAM集成以提供安全性、授权和管理
  • 低成本和自动扩展能力
  • 无需维护或打补丁,始终可用No maintenance or patching, always available
  • 标准和低频访问(IA)表格类型

<aside> 🍁 DynamoDB 在许多应用场景中得到广泛应用,包括 Web 应用程序、移动应用程序、游戏、物联网(IoT)设备、实时分析等。它的高可用性、弹性扩展性和低延迟性能使其成为处理大规模非结构化数据的优秀选择。

</aside>

在 DynamoDB 中,读取和写入容量模式是一种用于配置表格吞吐量的选项:

  1. Provisioned Capacity Mode(预配置容量模式)default

    default 在预配置容量模式下,您需要在创建表格时显式指定预期的读取容量单位(Read Capacity Units,RCUs)和写入容量单位(Write Capacity Units,WCUs)。每个 RCU 和 WCU 表示每秒钟读取或写入项目的数量。根据您的配置,DynamoDB 将分配所需的硬件资源来支持指定的吞吐量。

预配置容量模式适用于具有可预测和稳定流量的应用程序。您可以根据业务需求预先分配容量,并根据需要随时进行调整。这种模式允许您更精确地控制和优化数据库的性能和成本。

  1. On-Demand Capacity Mode(点播/按需容量模式 在按需容量模式下,DynamoDB 会根据您的实际读取和写入请求的数量动态地自动缩放表格的吞吐量。您无需预先配置 RCUs 和 WCUs,只需根据实际使用情况支付实际使用的读写吞吐量。

    按需容量模式适用于具有不稳定和不可预测流量的应用程序

。它提供了更大的灵活性和简便性,无需手动管理吞吐量配置。按需模式适用于突发性负载或流量波动较大的场景,因为它可以自动缩放以满足您的应用需求,同时避免了预配置容量可能带来的浪费。

DynamoDB Global Tables

DynamoDB Global Tables是一种全球性的多主区域数据库解决方案。它允许您在不同AWS区域中创建多个DynamoDB副本,并确保这些副本之间的数据同步。这样可以实现数据的全球性复制和低延迟的读写操作。

  • 多主区域数据库:每个区域中的DynamoDB表格都可以作为主表(Master Table,允许在该区域内执行读写操作。这样,当数据写入到一个区域时,会自动复制到其他区域中的主表。
  • 自动复制和同步
  • 低延迟访问

DynamoDB Backup-备份

DynamoDB Backup是一种全托管的备份服务,可用于定期备份DynamoDB表格的数据。备份可以保留在AWS中,以防止意外数据丢失或系统故障。

  • 全托管备份:DynamoDB Backup由AWS完全管理,您无需关心备份的维护和管理。您可以使用AWS控制台或AWS SDK创建和管理备份。
  • 点-in-time恢复:备份不仅可以用于恢复整个表格,还支持点-in-time恢复。这允许您将表格恢复到特定时间点之前的状态。
  • 自动保留:您可以设置备份的保留期,AWS将自动保留备份,并在保留期过后自动删除旧备份。

DynamoDB与S3的集成:

DynamoDB与Amazon S3之间有多种集成方式,这可以帮助您更好地处理和存储数据。

  • DynamoDB Streams与Lambda集成:DynamoDB Streams是一种记录表格中数据更改的数据流服务。您可以使用AWS Lambda来订阅DynamoDB Streams,然后根据数据更改触发特定的逻辑和处理。这样,您可以在表格中的数据发生变化时,自动触发Lambda函数,处理和分析数据。

  • DynamoDB导出到S3:您可以使用DynamoDB的数据导出功能将表格中的数据导出到Amazon S3中。导出后的数据可以用于数据备份、数据分析和长期存储等用途。

  • DynamoDB与S3之间的数据交互:您可以编写AWS Lambda函数,实现DynamoDB表格与S3之间的数据同步和交互。这可以帮助您将数据从DynamoDB表格导出到S3,或者将S3中的数据导入到DynamoDB表格中。

Stream Processing (数据流处理):

DynamoDB Streams和AWS Lambda结合使用,使得实时数据流处理变得非常方便。数据流处理允许您实时地对DynamoDB表格中的数据更改进行处理和分析。

  • 数据流订阅:使用AWS Lambda函数订阅DynamoDB Streams,以便在数据更改时自动触发Lambda函数。
  • 实时处理:当表格中的数据更改时,DynamoDB Streams会捕获这些变化,并将记录发送给Lambda函数。Lambda函数可以实时处理这些数据,执行特定的业务逻辑或将数据发送到其他服务。
  • 数据流处理的用途:数据流处理可以用于实时数据分析、数据同步、业务逻辑处理、监控和告警等场景。

<aside> 🍁 use case典型使用场景

</aside>

  1. react to changes in real-time (welcome email to new users)
  2. real-time analytics-实时数据分析:通过订阅DynamoDB Streams并使用AWS Lambda函数来实时处理表格中的数据变更,可以进行实时数据分析和计算。
  3. 数据同步:在多个DynamoDB表格之间进行数据同步是常见的应用场景。通过DynamoDB Streams,您可以捕获一个表格的数据变更,并将这些变更实时地复制到其他表格中,从而保持数据的一致性。
  4. 触发事件:DynamoDB Streams可以作为触发器,当表格中的数据发生变更时,自动触发相应的事件。这可以用于实现业务流程、发送通知、执行后续操作等。
  5. 实时通知:通过订阅DynamoDB Streams并与其他服务集成,可以实现实时通知。例如,当有新数据插入到DynamoDB表格中时,可以触发Lambda函数发送实时通知到移动设备或者Web应用程序。
  6. 实时监控:利用DynamoDB Streams和Lambda函数,可以实现对表格的实时监控。您可以设置特定的数据变更规则,当满足条件时,触发监控和告警操作。
  7. 版本控制:通过DynamoDB Streams,可以记录数据变更的历史,并实现数据的版本控制。这有助于跟踪和回溯数据的变更历史。
  8. 数据审计:DynamoDB Streams可以用于数据审计目的,记录表格中的数据变更和操作,确保数据的安全性和合规性。

总体而言,DynamoDB Stream Processing为DynamoDB表格的实时处理提供了强大的功能和灵活性。它可以与其他AWS服务集成,帮助您构建强大的实时数据处理和响应机制,从而更好地满足业务需求和用户期望。

dynamoDB scream VS kinesis data scream

特性DynamoDB StreamsKinesis Data StreamsRetention(数据保留期限)24小时按需配置,默认值 24 小时。最长365天消费者数量limithigh数据源和目的地的集成主要用于DynamoDB,与Lambda函数适用于多种数据源和目的地数据目的实时处理和分析实时处理和分析数据传递方式服务器推送客户端拉取可订阅的事件插入、更新、删除数据记录数据延迟通常为毫秒级可以自行配置
  1. Retention(数据保留期限
    • DynamoDB Streams:默认的数据保留期限是24小时,即数据变更记录在DynamoDB Streams中保留24小时,过期后会自动删除。
    • Kinesis Data Streams:数据保留期限可以根据需求进行配置,最长可达7天,可以设置数据在Stream中保留的时间。
  2. Of Consumers(消费者
    • DynamoDB Streams:DynamoDB Streams主要用于实时处理DynamoDB表格中的数据变更。消费者通常是AWS Lambda函数,可以使用Lambda函数订阅DynamoDB Streams,并在数据变更时触发Lambda函数执行特定逻辑。
    • Kinesis Data Streams:Kinesis Data Streams适用于多种数据源,并可以根据业务需求实现实时处理和分析。消费者可以是Lambda函数,也可以是自行实现的Kinesis Client Library。
  3. Processing Using(数据处理方式
    • DynamoDB Streams:主要用于实时处理DynamoDB表格中的数据变更,通常与Lambda函数结合使用。Lambda函数可以对数据变更进行实时处理,比如计算、聚合、触发事件等。
    • Kinesis Data Streams:适用于多种数据源和场景,数据消费者可以根据需求自行实现数据处理逻辑。Kinesis Data Streams通常用于实时数据流处理,如设备数据采集、日志数据处理、实时监控等。

DynamoDB Accelerator-DAX

  • DAX集群用于读取缓存,微秒级读取延迟

AWS 提供的全托管的缓存服务,专门为加速 Amazon DynamoDB 数据库的读取操作而设计。

它允许您将缓存层置于 DynamoDB 之前,从而显著提高读取操作的性能,降低对 DynamoDB 的负载压力,并降低应用程序的延迟。

DAX 具有以下关键特点和优势

  1. 高性能缓存 DAX 使用一个分布式内存缓存,可以存储 DynamoDB 表中经常访问的数据。这使得读取操作可以在缓存中完成,从而大大加快响应时间和降低 DynamoDB 的负载。
  2. 无缝集成 DAX 可以无缝集成到现有的 DynamoDB 应用程序中,无需更改应用程序代码。通过使用 DAX,您的应用程序可以保持对 DynamoDB 表的相同访问模式,但获得更快的响应时间。
  3. 自动缓存管理 DAX 提供自动缓存管理,会根据数据的使用频率和模式来自动填充和更新缓存。这样,您无需手动管理缓存,可以专注于应用程序的开发。
  4. 高可用性 DAX 提供多个可用区的多活功能,以实现高可用性和容错性。它在多个可用区内复制缓存数据,以保证缓存的可用性。
  5. 安全性 DAX 与 DynamoDB 一样,提供了多层级的安全性措施,包括 VPC 网络隔离、IAM 访问控制和加密。
  6. 降低成本 通过使用 DAX,您可以显著降低 DynamoDB 的读取操作费用,因为 DAX 缓存数据后,大部分读取操作都可以在缓存中完成,无需访问 DynamoDB 表。

DAX 适用于需要高度响应性和低延迟的读取操作的应用程序,特别是对于具有高流量的读取工作负载的应用程序。它可以显著提高应用程序的性能,并为用户提供更好的体验,同时还可以降低与 DynamoDB 读取操作相关的费用。

  1. 适用的数据库
    • DAX 是专门为加速 Amazon DynamoDB 的读取操作而设计的缓存服务。它与 DynamoDB 密切集成,通过将缓存层置于 DynamoDB 之前,加快读取操作的性能。
    • Elasticache 是 AWS 提供的通用缓存服务,支持多种缓存引擎,如 Redis 和 Memcached。它可以用于缓存各种数据库的查询结果、计算结果或应用程序的状态,不限于特定数据库。
  2. 目标数据库类型
    • DAX 主要用于加速 DynamoDB 的读取操作,对于写入操作(写入数据到 DynamoDB 表)仍然需要直接访问 DynamoDB。
    • Elasticache 可以用于任何需要缓存的应用场景,无论是读取还是写入操作。
  3. 缓存引擎
    • DAX 使用一个专门针对 DynamoDB 设计的缓存引擎,支持高性能和自动缓存管理。
    • Elasticache 支持多种缓存引擎,包括 Redis 和 Memcached。您可以根据应用程序的需求选择合适的缓存引擎。
  4. 特定应用场景
    • DAX 适用于对 DynamoDB 读取操作延迟要求较高的应用场景。当应用程序需要频繁读取 DynamoDB 表的数据,并且要求低延迟和高吞吐量时,DAX 可以显著提高性能。
    • Elasticache 适用于各种应用程序,特别是需要缓存读取结果、频繁访问外部数据源、降低数据库负载压力或提供临时计算结果的场景。
  5. 集群规模
    • DAX 可以配置成多个节点的集群,但其规模通常不会像 Elasticache 那样大,因为 DAX 主要用于加速 DynamoDB 读取操作,而 DynamoDB 本身已经具有高度的水平扩展性。
    • Elasticache 可以根据需求配置成更大规模的缓存集群,以支持大量的缓存数据和高并发访问。

总的来说,DAX 是专为加速 DynamoDB 读取操作而设计的缓存服务,针对 DynamoDB 表的读取优化。而 Elasticache 则是通用的缓存服务,可以用于任何需要缓存的应用场景,支持多种缓存引擎,并适用于各种不同类型的数据库和应用程序。

DynamoDB Accelerator (DAX) 为访问最终一致性数据提供快速响应时间。

在本地环境和AWS云存储之间建立连接

AWS Storage Gateway充当本地应用和AWS云存储之间的桥梁,使您能够轻松扩展本地存储容量,将本地数据备份到AWS云中,并在本地应用和AWS云存储之间实现无缝的数据迁移

  • 文件网关接口:NFS 和 SMB。

NFS和SMB都是用于文件共享的协议

  1. NFS(Network File System:NFS是一种用于在计算机网络中共享文件的协议,最初由Sun Microsystems开发。它允许不同操作系统的计算机之间通过网络访问和共享文件和目录。NFS主要在Unix和Linux系统中使用。
  2. SMB(Server Message Block:SMB是一种用于共享文件、打印机和其他资源的网络协议,最初由微软开发,后来被称为CIFS(Common Internet File System)。SMB/CIFS协议通常用于Windows操作系统中的文件和打印机共享。

在S3文件网关的情境中,NFS和SMB是用于创建本地网络共享,使得应用程序可以通过这些共享访问存储在Amazon S3中的数据。

  1. Backup & recovery
  2. Disaster Recovery
  3. Local Storage Extension
  4. tiered storage
  5. Data Archiving and Long-Term Storage数据归档和长期存储
  6. Cloud Backup and Data Migration云中备份和数据迁移
  7. Hybrid Cloud Environments混合云环境

部署模式

S3 File Gateway

S3文件网关特点

  • 将S3文件网关部署在本地,作为本地文件系统和Amazon S3 之间的桥梁。
  • 支持四种存储网关类型:文件、卷、缓存和虚拟带。
  • 可以使用文件共享协议(NFS、SMB)访问存储在Amazon S3中的数据
  • 文件网关提供本地缓存,可以缓存频繁访问的数据,提供更快的访问速度。
  • 支持数据在本地缓存和Amazon S3之间的自动传输。

适合使用场景

  • 需要在本地应用程序和Amazon S3之间建立文件共享的场景。
  • 需要快速访问本地缓存数据和远程S3数据的应用程序,提高数据访问速度。
  • 需要自动化数据传输,将本地数据定期或按需上传到Amazon S3中。
  • 适用于文件备份、归档、协作等需要本地和云存储的场景。

FSx File Gateway

Volume Gateway-卷网关

  • 缓存卷(Cached Volumes:在本地缓存中保留常用数据,将数据异步上传到云中。适用于需要低延迟访问的应用程序。
    • 缓存卷的大小范围可以是 1 GiB 到 32 TiB
  • 存储卷(Stored Volumes:将数据完全保存在本地,并异步备份到云中。适用于需要在本地保留副本的应用程序。
    • 存储卷的大小范围从1gib到16tib

卷网关允许您在本地创建iSCSI(Internet Small Computer System Interface)卷,将卷视为本地存储设备。然后,您可以通过卷网关将这些iSCSI卷的快照备份到AWS S3或AWS EBS(Elastic Block Store)卷中。

适用于将本地存储扩展到云中或进行数据备份和灾难恢复的场景。

  • 特点:提供iSCSI协议的块级别访问,允许在本地服务器上挂载虚拟卷。分为缓存卷和存储卷两种模式,数据可以部分或完全存储在云中。

**Tape Gateway-**虚拟磁带库存储网关

虚拟磁带库允许您在本地创建虚拟磁带库,将虚拟磁带视为磁带存储设备。您可以通过虚拟磁带库将磁带数据备份到AWS S3 Glacier或AWS S3 Glacier Deep Archive中,以实现长期数据归档和存储。

  • 特点:模拟磁带库,允许将备份和归档数据保存为虚拟磁带,并将其存储在Amazon S3中。适用于长期数据保留和归档

AWS DataSync is a fully managed data transfer service that simplifies moving large amounts of data between on-premises storage systems and AWS services.

It can also transfer data between different AWS services,

  • 数据传输:本地存储和 AWS 云存储之间的数据传输,AWS服务之间。
  • 高性能:多线程、网络优化。
  • 数据一致性:数据校验和、数据验证报告。

it will be the unique option that will preserve the metadata of you file when moving them from one location to another

AWS 是 AWS 提供的一项数据传输服务,用于在本地存储和 AWS 云存储之间进行快速、安全和可靠的数据传输。它旨在简化大规模数据迁移、数据备份和数据复制的过程,同时提供高性能和数据一致性。

Task

在AWS DataSync中定义的数据传输操作,包括源和目标位置、传输选项和计划。它描述了数据如何从源到目标进行传输。

Schedule task

创建任务,配置源和目标,设置计划,启动任务

以下是 AWS DataSync 的主要特点和用途

  1. 高性能数据传输:AWS DataSync 可以利用多线程和网络优化,实现高速的数据传输,快速地将大量数据从本地环境传输到 AWS 云存储或相反。
  2. 数据一致性:AWS DataSync 确保数据在传输过程中的一致性。它使用数据校验和来验证数据的完整性,并提供数据验证报告,以确保数据没有被篡改或损坏。
  3. 跨平台支持:AWS DataSync 支持多种数据源和数据目标,包括 Amazon S3 存储桶、Amazon EFS 文件系统、本地网络共享和 NFS 等。这使得它可以在不同的环境中灵活地进行数据传输。
  4. 计划和自动化:AWS DataSync 允许您创建数据传输计划,并可以按需或定期自动进行数据传输。这样,您可以轻松地安排数据传输任务,减少手动操作的工作量。
  5. 数据迁移和备份:AWS DataSync 适用于大规模数据迁移和备份。无论是将本地数据迁移到 AWS 云,还是将 AWS 云中的数据备份到本地环境,都可以使用 DataSync 来实现快速、高效和可靠的数据传输。
  6. 跨 AWS 区域数据复制:AWS DataSync 支持跨 AWS 区域进行数据复制。这允许您将数据复制到不同的 AWS 区域,以实现数据的灾难恢复和容灾备份。

总的来说,AWS DataSync 是一个强大的数据传输工具,用于快速、可靠地将数据在本地存储和 AWS 云存储之间进行传输,满足数据迁移、数据备份和数据复制的需求。它提供了高性能、数据一致性和自动化功能,帮助组织更加轻松地管理数据传输任务。

serverless

安全的传输服务,使您能够将文件传入和传出 AWS 存储服务

  • [ ] AWS Transfer Family支持通过以下协议传输数据

  • Secure Shell (SSH) 文件传输协议 (SFTP):版本 3

  • 安全文件传输协议 (FTPS)

  • 文件传输协议 (FTP)

  • 适用性声明 2 (AS2)

  • [ ] AWS Transfer Family支持从以下存储服务传输数据或向以下AWS存储服务传输数据。

  • S3

  • EFS

  • [ ] SFTP服务端点

包括定义用户的身份验证方式、访问权限、上传/下载的路径等。一旦SFTP服务端点配置好并运行客户端可以通过SFTP协议连接到该端点,并进行文件上传和下载操作。这使得您能够建立安全的、可扩展的文件传输解决方案,而无需管理基础设施和服务器。

本文地址:https://sicmodule.kub2b.com/news/14272.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号