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

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Sins of a Solar Empire P3

★ 实验任务 正如你所知道的 s_sin 是一个贪玩的不得了的小 P 孩 QAQ,你也知道他最近很喜欢玩一 个叫做太阳帝国的原罪的策略游戏去年他已经和疯狂的 AI 交战了整整一年。而现在,战斗 的序幕又要拉开了。 如果你没有忘记去年的 gungnir 和 Freya 的话, 今年他又带来了新武器, 命名为 Cassandra。 已知疯狂的 AI 占领了 n 个行星,这 n 个行星中有 n-1 个

一键云迁移:利用VMware PowerCLI将OVA虚拟机顺利迁移到AWS

哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)。 “   大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利不见不散) 第一章、小叙         众所周知,在vSphere6.5/6.7版本后,已经无法通过Web Console导出虚拟机为OVA(单个文件),vSphere 7和8只能通过Po

如何进行 AWS 云监控

什么是 AWS? Amazon Web Services(AWS)是 Amazon 提供的一个全面、广泛使用的云计算平台。它提供广泛的云服务,包括计算能力、存储选项、网络功能、数据库、分析、机器学习、人工智能、物联网和安全。 使用 AWS 有哪些好处? 使用 AWS 可为企业提供可扩展性、成本效益、可靠性、安全性、灵活性、全球覆盖和创新等。凭借对计算资源的按需访问、即用即付定价、全球基础设施

AWS was not able to validate the provided access credentials

AWS同步监控报错 botocore.exceptions.ClientError: An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials 原因 计算机时间不同步

防火墙三种模式(路由/透明/混合模式)不支持主备部署 P3

防火墙的三种部署模式(路由、透明、混合),哪种不支持主备部署 在防火墙的三种部署模式中,透明模式通常不可以支持主备部署,但在某些情况下,配置和实现可能比较复杂。具体是否支持主备部署,取决于防火墙的品牌和型号。 部署模式解释 路由模式: 防火墙作为三层设备,具有IP地址。支持主备部署,适用于大多数网络环境。 透明模式: 防火墙工作在二层,没有IP地址,像交换机一样转发流量。支持主备部署,

golang中使用aws-sdk-go-v2

1.aws-sdk-go-v2常用api 1.引入所需包     import ("context""fmt""log""os""path/filepath""sync""time""github.com/aws/aws-sdk-go-v2/aws""github.com/aws/aws-sdk-go-v2/config""github.com/aws/aws-sdk-go-v2/crede

AWS SES服务 Golang接入教程(排坑版)

因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码 一 基础设置 这里需要完成两个最基础的设置任务 1 是验证至少一个收件电子邮箱 2 【很关键】是验证发送域。即身份里的域类型的身份。(可以理解为配置你的域名邮箱服务器(SMPT)为亚马逊提供的服务器)。点击“待验证”可以看到 一份 DNS 解析记录,将此份记录逐个添加到你域名的DNS服务器。 如下图(我用的是Cloudflare)

[AWS云]EC2扩容磁盘之linux系统

背景: ec2的磁盘存储满了,需要扩容。 1.控制台修改存储大小: 2. 3.登录服务器,刷新磁盘: 云盘扩容growpart /dev/vdb 1对ext4扩容命令resize2fs /dev/vdb1对xfs扩容命令xfs_growfs /dev/vdc1

亚马逊云免费服务器安装教程AWS微软系统教程含Tomcat,mysql,Tomcat去项目名,端口名!

一直想弄个云服务器耍耍,奈何费用较高,又是个人,所以一直没弄! 昨天偶然得知有免费云服务器,搜索到了亚马逊云 aws.amazon.com 闲话少说! 亚马逊云服务器安装教程windows系统 步骤如下: 1.去aws.amazon.com注册账号,这个不用多说 2.登录进去后,在我的账户里面选择管理控制台 3.然后选择启动虚拟机 4.选择对应的操作系统,鄙人初始linu