[SEO 副标题]
本指南可帮助您的应用程序实现接近于零的恢复点目标(RPO),最大限度地在 Amazon Aurora 失效转移期间减少可能发生的数据丢失。您可以使用持久消息队列来提高数据的持久性,在应用程序数据可以安全地提交到数据库之前,该队列可临时存储这些数据。借助本指南,您可以为应用程序设计高弹性数据库,帮助确保尽可能地减少数据丢失,并保持数据的完整性。
请注意:[免责声明]
架构图

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
本指南通过失效转移到辅助可用区,帮助确保业务连续性,实现接近于零的 RPO。Amazon CloudWatch 可捕获指南中采用的所有服务的全面指标。可自定义的 CloudWatch 控制面板为监控资源提供了统一视图,使您能够主动识别和解决潜在问题。
该指南旨在自动应对可用区故障,消除了人工干预的需要。CloudWatch 提供了有关服务和应用程序依赖关系的关键指标的见解,有助于做出明智的决策并提高运营弹性。
-
安全性
AWS WAF 和 Amazon CloudFront 可保护应用程序免受漏洞攻击,例如控制恶意僵尸流量和阻止常见攻击模式,包括 SQL 注入或跨站脚本攻击(XSS)。AWS WAF 可监控对受保护 Web 应用程序资源的 HTTP(S) 请求,实现对内容访问的细粒度控制。
Amazon Cognito 可对用户界面(UI)和应用程序的 API 调用进行身份验证,从而简化客户身份和访问管理(CIAM)的实施,并建立强大的身份基础。此外,Secrets Manager 可安全地存储数据库凭证。这项服务简化了数据库凭证、API 密钥和其他敏感信息在其整个生命周期内的管理、检索和轮换,实现了对密钥的严格访问控制和审计。
-
可靠性
本指南整合了 Amazon SQS(一种消息队列服务),当 Amazon Relational Database Service(Amazon RDS)代理重新建立与备用 Aurora 数据库实例的连接时,可在失效转移事件期间帮助确保数据的完整性,并防止数据包丢失。
Amazon SQS 可实现可靠且可扩展的消息传递,允许软件组件发送、存储和接收任意数量的消息,并且不会出现消息丢失的风险,也无需依赖于其他服务的可用性。即使面对瞬时故障或组件重启,这种弹性消息传输基础设施也可实现无缝通信和数据一致性。
-
性能效率
在本指南中,Aurora 可无缝扩展数据库容量,以容纳集群中不断增长的数据量,从而实现最佳性能和有效的资源利用率。作为一项托管服务,Aurora 可根据需求动态扩展资源,提供必要的弹性,以应对波动的工作负载。具体而言,Aurora 存储容量会自动增加,以容纳集群卷中不断增长的数据,无需人工干预或规划容量。
-
成本优化
API Gateway 和 Lambda 是无服务器托管服务,无需预置计算资源。这些云原生服务采用按使用量付费的计费模式,避免了在应用程序未投入使用时产生与维护基础设施相关的冗余成本。通过 API Gateway 和 Lambda,资源可根据实际使用情况动态分配和收费,从而优化运营支出并实现高效的资源利用。
-
可持续性
为了帮助确保资源得到有效利用,并最大限度地减少对环境的影响,本指南使用了 Amazon SQS DLQ。如果请求在 25 次尝试后仍未得到处理,则会自动将其重定向到 DLQ,从而避免无限的处理循环。
通过分析 DLQ 请求,可以发现并纠正数据来源中的潜在问题,防止今后再次发生同样的错误和处理能力的浪费。DLQ 限制了每个数据包的重新处理尝试次数,因此 Lambda 资源不会无限用于处理不可能成功的请求。这减少了不必要的计算操作,最大限度地降低了指南对环境的影响。
实施资源

提供了在 AWS 账户中进行实验和使用的详细指南。构建指南的每个阶段(包括部署、使用和清理)都将被检查,以便为部署做好准备。
示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。