## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
[Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail) 是一个完全托管的关系型数据库,旨在实现全球范围内无与伦比的高性能和可用性,并与 MySQL 和 PostgreSQL 完全兼容。Aurora 在亚马逊云科技区域内和跨亚马逊云科技区域提供托管高可用性(HA)和灾难恢复(DR)功能。在本讲座中,您将了解 Aurora 的 HA 和 DR 功能,并发现能够开发弹性应用程序的设计模式。了解如何利用 Aurora 功能,包括 Multi-AZ deployments、[Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail) Global Database 和 [Amazon RDS](https://aws.amazon.com/cn/rds/?trk=cndc-detail) Proxy,建立区域内和跨区域 HA 和 DR,以及如何使用 JDBC 驱动程序缩短故障切换时间。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共1100字,阅读时间大约是6分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
演讲者在欢迎约300名观众后,开始了关于如何利用[Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail)设计高可用性和灾难恢复模式的讨论,以实现全球韧性。尽管房间内的一些人可能一直在处理静态系统,但大多数人都在面对不断变化的环境,如频繁的代码部署、不断增加的客户负载和各种基础设施故障等。为了应对这些挑战,需要构建具有弹性的系统,以适应各种情况。
演讲者精确地解释了弹性的定义,即工作负载在基础设施和服务中断时能够动态恢复的能力,以及根据负载变化适当扩大或缩小资源的能力。他还强调了弹性由两个关键支柱支持:可用性和灾难恢复。
可用性是指工作负载实际可用并执行其功能的时间比例,通常以“九个9”(例如99.99%)表示。这意味着每年大约有52分钟的停机时间。通过添加冗余,可以消除单点故障,从而提高整体可用性。
灾难恢复关注的是恢复时间目标(RTO)和恢复点目标(RPO)。RTO是一个影响事件或停业的最大容忍长度,而RPO是可接受的数据丢失的最大量。
演讲者明确表明,没有一个解决方案适合所有情况。相反,针对每个应用程序,需要根据其特定需求平衡可用性、灾难恢复、性能和成本之间的关系。他用一个虚构的例子来说明沿此谱系的不同配置。
在初始阶段,天空图片公司采用了最简单的Aurora配置,通过在三个可用性区域(AZ)间复制数据来实现数据库持久性。然而,由于只有一个数据库实例,因此在一个单独的AZ中具有可用性。这个单一的主实例旨在平衡成本、性能和可用性。这种分解的存储层具有弹性,可以根据需要自动调整存储吞吐量,而无需预先配置IOPS。即使主要实例发生故障,分布在跨AZ的分布式存储群中的数据仍然保持持久。可以快速调配新实例以恢复可用性。
深入探讨Aurora存储
进一步深入研究横跨三个AZ的分布式多租户Aurora存储集群。它由许多专门用于包含加密数据分片的存储节点组成。为了实现耐用性,Aurora会将每个数据更改的六个副本写入存储节点,只需确认四个副本即可最小化延迟。这种架构使得Aurora能够在整个AZ(包括其存储节点)完全故障时仍能持续提供不间断的数据耐用性。
存储卷被智能地划分为称为保护组(PG)的十亿字节分段,以允许并行处理。与传统的事务日志和数据完整页面一起使用的数据库不同,Aurora只编写数据更改的增量日志记录。它可以高效地将这些日志合并回完整的页面上。这种优化的存储布局实现了极高的性能,并支持许多Aurora的高可用性/灾难恢复功能。
备份和恢复
随着天空图片公司的崛起,一次应用程序代码部署意外破坏了某些生产数据。不必担心——Aurora的连续增量备份到S3已经提供了一个从过去5分钟到最长35天的方便可恢复窗口。存储引擎可以跨保护组快速应用日志以将数据恢复到此窗口内的任何点。在选择所需的恢复点后,任何中断的交易会自动回滚,数据库将立即变得一致并可再次使用。
克隆用于测试
为了允许使用生产规模的数据测试应用程序变更,而不会影响性能或导致存储成本翻倍,Sky Image Company采用了Aurora Storage-level Clone technology. This storage clone initially redirects write operations to the production volume, avoiding the replication of any unchanged data blocks. Any modifications used for testing or data anonymization would break the redirection and only copy the changed portions, making it possible to test at scale without incurring the cost of replicating all data. This technology also supports isolated workloads such as batch processing jobs.
To improve availability, Sky Image Company needs to add an alternate instance outside the provided single zone as a backup. This forms an Aurora cluster spanning across multiple zones, allowing for failure resilience at the zone level. Fast automatic failover can switch the alternate instance into a new primary instance in as little as 60 seconds, with data loss limited to transactions in progress and unaffected by the durability of the full three-zone level.
As the business continues to grow, read replicas are deployed to offload the read-only query workload, helping to prevent the main instance from becoming saturated. The Aurora cluster now spans across three zones, with custom endpoints created to simplify application connection management by logically grouping instances. RDS proxies are utilized efficiently to pool database connections and multiplex requests while still enforcing limits to prevent excessive resource reservation.
Ready to meet the demands of a global expansion, new requirements arise. Initially, periodic cross-region full backups provide the basic disaster recovery, but the recovery point objectives (RPO) heavily depend on backup frequencies ranging from 10 to 70 minutes.
By utilizing optimized storage for the global database that only replicates changed data, better recovery point objectives (RPO) are achieved, with data changes synchronously copied to new regions within less than one second. If needed, additional instances can be added in a second region for fast RTO failover testing of global recovery capabilities. Regular alternation between active regions is performed for switching tests to evaluate global recovery capabilities.
通过在第二个区域中添加高性能的读取副本来实现对称的双活部署,可以更快地实现恢复时间目标(RTO)。这种配置使得在发生故障时,只需简单地将备用区域提升为主区域,即可实现接近即时的故障切换。同时,快速切换也能迅速完成活动主区域的角色转换。
跨多个区域的支持遵循太阳轨迹,以便更好地满足用户需求并降低读取延迟。正确的转发简化了将数据库写操作从读取副本路由到避免复杂应用程序级重写路由问题的方法。一致性模型,如会话或全局影响网络依赖项,需要进行权衡。使用多个账户增加了除地区中断之外的弹性。
总的来说,演讲者解释了如何通过结合和使用Aurora灵活的数据库架构和全球功能来优化可用性、灾难恢复、性能和成本,从而实现从多区域到全球规模的应用程序弹性。
**下面是一些演讲现场的精彩瞬间:**
高可用性和灾难恢复策略使得Aurora具有更强的弹性。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_0.png)
演讲者在谈论出售夜空照片的幽默时刻时,引爆了观众的笑声。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_1.png)
领导者们解释了如何使用RDS代理处理连接池化和固定来优化数据库连接。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_2.png)
亚马逊云计算服务通过跨区域的实时备份,轻松实现了数据库的全球抗灾能力。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_3.png)
领导者强调了亚马逊云计算服务如何通过极低延迟的跨区域异步复制来提供强大的灾难恢复能力。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_4.png)
领导者展示了Global Tables如何在美国西部2区和全球33个地区之间进行低延迟和一致性复制。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_5.png)
亚马逊云计算服务提供了多个区域,以实现更好的抗灾能力、备份和全球恢复点目标。
![](https://d1trpeugzwbig5.cloudfront.net/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience/images/rebranded/DAT324-Amazon_Aurora_HA_and_DR_design_patterns_for_global_resilience_6.png)
## 总结
这段视频探讨了如何为一家名为Sky Pictures的初创公司设计一个高度稳定的数据库架构,具体方法包括利用[Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail)技术。
首先,最小化的Aurora配置可以在三个可用性区域之间实现数据库的持久性,但在其中一个区域具有唯一的可用性。通过在其他区域增加读取副本,可以增强这种单一区域的设计,从而提高多区域的可用性。通过每小时备份到另一个地区,可实现全球范围内的灾难恢复。
其次,通过Global Database的仅存储复制,可以将异步复制到其他地区,这会导致亚秒级的延迟,从而提高了恢复点目标。在第二个地区预先配置只读的Aurora副本,以最大限度地减少恢复时间目标。双向复制使得在灾难恢复测试中切换活动区域成为可能。
最后,将只读的工作负载分布在全球的副本上,以便为客户带来低延迟并提供更高的读取能力。正确的转发简化了将写入操作路由到主要区域,同时从本地区域进行读取的过程。通过仔细配置读取一致性模式,可以在正确性和性能之间取得平衡。
总的来说,结合Aurora的固有高可用性功能、多区域冗余、智能流量路由以及预防性测试,构建了一个能够在全球范围内抵御灾难的高度可靠的数据库平台。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!
[2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站")
[点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯!
[点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯!
## 即刻注册亚马逊云科技账户,开启云端之旅!
[【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“")
[【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")