AWS 专题学习 P3 (RDS、Aurora、ElastiCache)

2024-01-17 05:52

本文主要是介绍AWS 专题学习 P3 (RDS、Aurora、ElastiCache),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. Amazon RDS Overview
    • RDS v.s. 在 EC2 上部署数据库
    • RDS — Storage Auto Scaling
    • RDS Read Replicas
      • Read Scalability
      • Use Cases
      • Network Cost
    • RDS 多可用区(灾难恢复)
    • RDS — 从单可用区到多可用区
    • RDS Custom
  • 2. Amazon Aurora
    • Aurora 高可用性和只读扩展
    • Aurora 数据库集群
    • Aurora 的特点
    • Aurora Replicas - Auto Scaling
    • Aurora – 自定义端点
    • Aurora Serverless
    • Aurora Multi-Master
    • Global Aurora
    • Aurora 机器学习
  • 3. Backups
    • RDS 备份
    • Aurora 备份
    • RDS 和 Aurora 还原选项
    • Aurora 数据库克隆
  • 4. RDS & Aurora Security
  • 5. Amazon RDS Proxy
  • 6. Amazon Elasticache
    • 概述
    • ElastiCache 解决方案架构 - DB缓存
    • ElastiCache 解决方案架构 - 用户会话存储
    • ElastiCache - Redis vs Memcach
    • Elasticache - 缓存安全性
    • Patterns for ElastiCache
    • Elasticache - Redis用例

1. Amazon RDS Overview

  • RDS 代表关系型数据库服务
  • 它是一种托管数据库服务,用于使用SQL 作为查询语言的数据库。
  • 它允许您在云中创建由 AWS 管理的数据库
    • Postgres
    • MySQL
    • MariaDB
    • Oracle
    • Microsoft SQL Server
    • Aurora(AWS 专有数据库)

RDS v.s. 在 EC2 上部署数据库

  • RDS 是一项托管服务:
    • 自动配置、操作系统修补
    • 持续备份和恢复到指定时间戳(时间点恢复)
    • 监控仪表板
    • 读取副本以提高读取性能
    • DR(灾难恢复)的多可用区设置
    • 升级维护窗口
    • 缩放能力(垂直 & 水平)
    • EBS 支持的存储(gp2 或 io1)
  • 但是不能通过 SSH 直接连接到 RDS 实例

RDS — Storage Auto Scaling

  • 可以动态增加 RDS 数据库实例上的存储
  • 当 RDS 检测到数据库可用存储空间不足时,它会自动扩展
  • 避免手动扩展数据库存储
  • 必须设置最大存储阈值(数据库存储的最大限制)
  • 在以下情况下自动修改存储:
    • 免费存储空间少于分配存储空间的 10%
    • 低存储至少持续 5 分钟
    • 自上次修改以来已过去 6 小时
  • 适用于具有不可预测工作负载的应用程序
  • 支持所有 RDS 数据库引擎(MariaDB、MySQL、PostgreSQL、SQL Server、Oracle)
  • Screen Shot 2023-06-13 at 23.11.59.png

RDS Read Replicas

Read Scalability

  • 最多 5 个只读副本
  • AZ 内、跨 AZ 或 跨 Region
  • 复制是异步的,因此读取是最终一致的
  • 副本可以提升到它们自己的数据库
  • 应用程序必须修改连接地址字符串以利用只读副本

Screen Shot 2023-06-13 at 23.12.37.png

Use Cases

  • 已存在一个正常负载的生产数据库
  • 想使用一个报告应用程序来运行一些分析
  • 创建一个只读副本以运行新的工作负载
  • 希望生产应用不受影响
  • 只读副本仅用于 SELECT (=read) 类型的语句(不是 INSERT、UPDATE、DELETE)

Screen Shot 2023-06-13 at 23.16.09.png

Network Cost

  • 在 AWS 中,当数据 跨 AZ 传输 时会产生网络成本
  • 对于同一 Regoin 内的 RDS 只读副本,无需支付该费用

Screen Shot 2023-06-13 at 23.16.38.png

RDS 多可用区(灾难恢复)

  • SYNC replication
  • 一个 DNS 名称 – 自动将应用故障转移到待机状态
  • 提高可用性
  • 在 AZ 丢失、网络丢失、实例或存储出现故障时进行故障转移
  • 无需手动干预应用程序
  • 不用于缩放
  • 注意:只读副本需要被设置为用于灾难恢复 (DR) 的多可用区

Screen Shot 2023-06-13 at 23.16.58.png

RDS — 从单可用区到多可用区

  • 零停机操作(无需停止数据库)
  • 只需点击数据库的“修改”
  • 以下情况在内部发生:
    • 拍摄快照
    • 从新 AZ 中的快照恢复新数据库
    • 在两个数据库之间建立同步

Screen Shot 2023-06-13 at 23.17.18.png

RDS Custom

  • 通过操作系统和数据库定制管理 Oracle 和 Microsoft SQL Server 数据库
  • RDS:自动设置、操作和扩展 AWS 中的数据库
  • Custom:访问底层数据库和操作系统,这样就可以:
    • 配置设置
    • 安装补丁
    • 启用原生功能
    • 使用 SSH 或 SSM 会话管理器访问底层 EC2 实例
  • 停用自动模式以应用程序自定义配置,在这之前最好生成一份数据库快照
  • RDS vs RDS custom
    • RDS:整个数据库和由AWS管理的操作系统
    • RDS Custom:对底层操作系统和数据库的完全管理员访问权限

2. Amazon Aurora

  • Aurora 是 AWS 的专有技术(非开源)
  • Postgres 和 MySQL 都作为 Aurora DB 得到支持(这意味着您的驱动程序将像 Aurora 是 Postgres 或 MySQL 数据库一样工作)
  • Aurora 是“AWS 云优化”并声称 RDS 上的 MySQL 性能提高了 5 倍,RDS 上 Postgres 的性能提高了 3 倍以上
  • Aurora 存储以 10GB 的增量自动增长,最高可达 128TB。
  • Aurora 可以有 15 个副本,而 MySQL 有 5 个,并且复制过程更快(低于 10 毫秒的副本滞后)
  • Aurora 中的故障转移是即时的。 它是 HA(高可用性)原生的。
  • Aurora 的成本高于 RDS(高出 20%)— 但效率更高

Aurora 高可用性和只读扩展

  • 跨 3 个可用区的 6 个数据副本:
    • 写入所需的 6 个副本中有 4 个副本
    • 6 份中的 3 份需要读取
    • 通过点对点复制进行自我修复
    • 存储跨 100 多个卷条带化
  • 一个 Aurora 实例进行写入(主节点)
  • 在不到 30 秒内完成主服务器的自动故障转移
  • Master + 最多 15 个 Aurora Read Replicas 服务读取
  • 支持跨区域复制

Screenshot 2023-06-14 at 22.51.47.png

Aurora 数据库集群

Screenshot 2023-06-15 at 01.45.15.png

Aurora 的特点

  • 自动故障转移
  • 备份和恢复
  • 隔离和安全
  • 行业合规
  • 一键缩放
  • 零停机自动补丁
  • 高级监控
  • 例行维修
  • 回溯:在任何时间点恢复数据而不使用备份

Aurora Replicas - Auto Scaling

Screenshot 2023-06-15 at 01.45.43.png

Aurora – 自定义端点

  • 将 Aurora 实例的子集定义为自定义端点
  • 示例:对特定副本运行分析查询
  • Reader Endpoint 通常在定义 Custom Endpoints 后不使用

Screenshot 2023-06-15 at 01.46.36.png

Aurora Serverless

  • 基于实际使用情况的自动数据库实例化和自动缩放
  • 适用于不频繁、间歇性或不可预测的工作负载
  • 无需容量规划
  • 按秒付费,更划算

Screenshot 2023-06-15 at 01.46.56.png

Aurora Multi-Master

  • 如果您希望写入节点 (HA) 立即进行故障转移
  • 每个节点都进行 R/W
  • 对比将 RR 提升为新的主节点

Screenshot 2023-06-15 at 01.47.27.png

Global Aurora

  • Aurora 跨区域只读副本:
    • 对灾难恢复有用
    • 安装简单
  • Aurora 全球数据库(推荐):
    • 1 个主要区域(读/写)
    • 最多 5 个次要(只读)区域,复制延迟小于 1 秒
    • 每个次要区域最多 16 个只读副本
    • 有助于减少延迟
    • 提升另一个区域(用于灾难恢复)的 RTO 小于 1 分钟
    • 典型的跨区域复制不到 1 秒
      Screenshot 2023-06-15 at 01.47.55.png

Aurora 机器学习

  • 使您能够通过 SQL 将基于 ML 的预测添加到您的应用程序
  • Aurora 和 AWS ML 服务之间简单、优化和安全的集成
  • 支持的服务
    • Amazon SageMaker(与任何 ML 模型一起使用)
    • Amazon Comprehend(用于情绪分析)
  • 您无需具备机器学习经验
  • 用例:欺诈检测、广告定位、情绪分析、产品推荐
    Screenshot 2023-06-15 at 01.48.25.png

3. Backups

RDS 备份

  • 自动备份:
  • 数据库的每日完整备份(在备份窗口期间)
  • RDS 每 5 分钟备份一次事务日志
  • => 能够恢复到任何时间点(从最旧的备份到 5 分钟前)
  • 1 到 35 天的保留,设置为 0 以禁用自动备份
  • 手动数据库快照
  • 由用户手动触发
  • 备份保留时间不限
  • 技巧:在停止的RDS 数据库中,您仍然需要为存储付费。 如果您打算长时间停止它,您应该改为快照和恢复

Aurora 备份

  • 自动备份
  • 1 到 35 天(无法禁用)
  • 该时间范围内的时间点恢复
  • 手动数据库快照
  • 由用户手动触发
  • 备份保留时间不限

RDS 和 Aurora 还原选项

  • 还原 RDS/Aurora 备份或快照创建新数据库
  • 从 S3 恢复 MySQL RDS 数据库
  • 创建本地数据库的备份
  • 将其存储在 Amazon S3(对象存储)上
  • 将备份文件还原到运行 MySQL 的新 RDS 实例上
  • 从 S3 恢复 MySQL Aurora 集群
  • 使用 Percona XtraBackup 创建本地数据库的备份
  • 将备份文件存储在 Amazon S3 上
  • 将备份文件还原到运行 MySQL 的新 Aurora 集群上

Aurora 数据库克隆

  • 从现有数据库集群创建新的 Aurora 数据库集群
  • 比快照和恢复更快
  • 新数据库集群使用与原始集群相同的集群卷和数据,但会在进行数据更新时发生变化
  • 非常快速且具有成本效益
  • 有助于在不影响生产数据库的情况下从“生产”数据库创建“暂存”数据库

4. RDS & Aurora Security

  • 静态加密:
  • 使用 AWS KMS 的数据库主副本加密 – 必须定义为启动时间
  • 如果主节点未加密,则只读副本无法加密
  • 要加密未加密的数据库,请查看数据库快照并恢复为加密状态
  • 动态加密:默认情况下 TLS 就绪,使用 AWSTLS 根证书客户端
  • IAM 身份验证:连接到您的数据库的 IAM 角色(而不是用户名/密码)
  • 安全组:控制对您的 RDS / Aurora 数据库的网络访问
  • 除 RDS Custom 外,没有可用的 SSH
  • 可以启用审计日志并将其发送到 CloudWatch Logs 以便保留更长时间

5. Amazon RDS Proxy

  • RDS 的完全管理的数据库代理
  • 允许应用程序汇总并共享与数据库建立的 DB 连接
  • 通过减少数据库资源的压力(例如CPU,RAM)来提高数据库效率,并最大程度地减少开放连接(以及超时)
  • 无服务器,自动化,高度可用(多功率)
  • 将 RDS 和 Aurora 故障转移时间减少了66%
  • 支持RDS(MySQL,PostgreSQL,Mariadb)和Aurora(MySQL,PostgreSQL)
  • 大多数应用程序无需更改代码
  • 对 DB 执行 IAM 身份验证,并在 AWS Secrets Manager 中安全存储凭据
  • RDS 代理永远无法公开访问(必须从VPC访问)
    Screenshot 2023-06-15 at 01.49.36.png

6. Amazon Elasticache

概述

  • RDS 的方式是获得托管的关系数据库…
  • Elasticache 是要管理 Redis 或 Memcach
  • 缓存是内存数据库,具有非常高的性能,低延迟
  • 有助于减少数据库的负载,以读取密集工作负载
  • 有助于使您的申请无状态
  • AWS 负责 OS 维护 /修补,优化,设置,配置,监视,故障恢复和备份
  • 使用 Elasticache 涉及重型应用程序代码更改

ElastiCache 解决方案架构 - DB缓存

  • 应用程序查询 Elasticache(如果不可用的话)从 RDS 获取并存储在 Elasticache 中。
  • 有助于减轻 RDS 的负载
  • 缓存必须具有无效策略,以确保其中仅使用最新数据。

Screenshot 2023-06-15 at 01.51.06.png

ElastiCache 解决方案架构 - 用户会话存储

  • 用户登录到任何应用程序
  • 应用程序将会话数据写入 Elasticache
  • 用户击中了我们应用程序的另一个实例
  • 实例检索数据,用户已经登录

Screenshot 2023-06-15 at 01.51.34.png

ElastiCache - Redis vs Memcach

RedisMemCached
- 自动禁用的多 AZ
- 阅读副本以扩展读取并具有高可用性
- 使用 AOF 持久性的数据耐用性
- 备份和还原功能
- 用于分区数据的多节点(碎片)
- 没有高可用性(复制)
- 非持久
- 没有备份和还原
- 多线程体系结构

Elasticache - 缓存安全性

  • Elasticache 支持 REDIS 的 IAM 身份验证
  • IAM 关于 Elasticache 的政策仅用于 AWS API 级安全性
  • redis auth
  • 创建 REDIS 群集时,您可以设置“密码/令牌”
  • 这是您的缓存的额外安全性(在安全组之上)
  • 在飞行加密中支持 SSL
  • 备忘录
  • 支持基于 SASL 的身份验证(高级)

Screenshot 2023-06-15 at 01.52.06.png

Patterns for ElastiCache

  • 懒惰加载:所有读取数据均已缓存,数据可能变为缓存中的陈旧
  • 写入:将缓存中的数据添加或更新数据写入DB(没有陈旧数据)
  • 会话存储:将临时会话数据存储在缓存中(使用TTL功能)
  • Quote:计算机科学中只有两件事:缓存无效和命名事物

Screenshot 2023-06-15 at 01.52.31.png

Elasticache - Redis用例

  • 游戏排行榜在计算上很复杂
  • REDIS 排序设置保证唯一性和元素排序
  • 每次添加新元素时,都会实时排名,然后以正确的顺序添加

Screenshot 2023-06-15 at 01.52.47.png

这篇关于AWS 专题学习 P3 (RDS、Aurora、ElastiCache)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/615043

相关文章

[ip核][vivado]aurora

Xapp1193:  discovered:1)并不是所有芯片都支持aurora.xc7z010就没有。                     2)XDC文件的指令-允许未约束的引脚的存在:                 set_property BITSTREAM.General.UnconstrainedPins {Allow} [current_design] PG046

AI赋能天气:微软研究院发布首个大规模大气基础模型Aurora

编者按:气候变化日益加剧,高温、洪水、干旱,频率和强度不断增加的全球极端天气给整个人类社会都带来了难以估计的影响。这给现有的天气预测模型提出了更高的要求——这些模型要更准确地预测极端天气变化,为政府、企业和公众提供更可靠的信息,以便做出及时的准备和响应。为了应对这一挑战,微软研究院开发了首个大规模大气基础模型 Aurora,其超高的预测准确率、效率及计算速度,实现了目前最先进天气预测系统性能的显著

aws的alb,多个域名绑定多个网站实践

例如首次创建的alb负载均衡只有www.xxx.com 需要添加 负载 test2.xxx.com aws的Route 53产品解析到负载均衡 www.xxx.com   添加CNAME,到负载均衡的dns字段axx test2.xxx.com   添加CNAME,到负载均衡的dns字段axx 主要介绍目标组和规则 创建alb就不介绍了 ,百度都有。主要有侦听器 【一般80和4

AWS-PatchAsgInstance自动化定时ASG组打补丁

问题 需要给AWS的EC2水平自动扩展组AutoScaling Group(ASG)中的EC2自动定期打补丁。 创建自动化运行IAM角色 找到创建角色入口页面,如下图: 开始创建Systems Manager自动化运行的IAM角色,如下图: 设置AmazonSSMAutomationRole权限,如下图: 设置AmazonSSMAutomationRole角色名和角色描述,点击创建角色

【AWS SMB】关于AWS 中小型企业 (SMB) 能力介绍及注意事项

文章目录 前言一、什么是 SMB?📢二、如何识别中小企业的需求三、中小企业营销活动的类型四、AWS 合作伙伴可获得的其他 AWS 机会4.1 AWS IQ4.2 APN 客户参与 (ACE) 计划 前言 AWS 中小型企业 (SMB) 能力合作伙伴专注于帮助中小型企业解决业务和技术挑战。通过与 SMB 能力合作伙伴合作,客户可以放心,这些合作伙伴在为 SMB 客户提

AWS CloudFront怎么计费的?

AWS CloudFront是Amazon Web Services提供的一项内容分发网络(CDN)服务,旨在加快网站、应用程序、视频流和其他Web内容的全球分发速度。通过在全球范围内缓存内容至边缘位置,CloudFront能够减少延迟,提高用户体验。关于CloudFront的计费方式,它采取了灵活且细致的收费策略,主要包含以下几个方面: AWS CloudFront收费概述 数据传输费:这是

AWS无服务器 应用程序开发—第十六章 CI/CD CodeBuild

在 AWS CodeBuild 中进行单元测试需要配置构建规范文件 (buildspec.yml),该文件定义了 CodeBuild 在构建过程中需要执行的步骤。以下是如何使用 CodeBuild 进行单元测试的具体步骤: 准备项目结构 首先,确保你的项目具有适当的目录结构和测试文件。以下是一个示例项目结构: my-lambda-project/│├── lambda_function.

AWS S3工具使用

AWS官方文档: http://docs.amazonaws.cn/cli/latest/userguide/using-s3-commands.html 管理存储桶 创建桶; $ aws s3 mb s3://bucket-name 删除桶: $ aws s3 rb s3://bucket-name 删除非空桶: $ aws s3 rb s3://bucket-name --f

AWS云从业者认证考试CLF-C02考后分享

报名费:100USD. 考试时长:100分钟,据说如果选择中文考试,可以申请加长30分钟,但是一定要注意是在schedule exam之前就先申请加时,否则schedule之后再申请是没用的。 我考试选择的是线下考点考试,由于之前以为加时30分钟是自动会加的,所以在schedule exam之前忽略了这一点,最终考试时长是100分钟,但总用时大概花了45分钟。选择中文考试时,每道题的页面上都会