[SEO 副标题]
本指南展示了如何使用混合配置架构处理 Amazon Aurora 中的突发流量峰值,该架构将预置的 Aurora 集群与 Aurora Serverless v2 实例及自定义自动扩缩功能相结合。它展示了如何以近乎实时的方式响应不可预测的流量波动,防止数据库过载和服务中断。借助本指南,您可以提升服务的连续性,防止与数据库相关的中断造成收入损失,即使营销活动或新产品发布导致流量意外激增,也能应对。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
将 Amazon Aurora Serverless v2(副本)添加到 Aurora 预置集群,并创建指向该副本的各个自定义端点。
第 2 步
在 Amazon Route 53 上配置私有托管区,并为每个端点创建基于权重、具有相同记录名称的记录。将指向 Aurora Serverless v2 的记录权重设置为零。
第 3 步
在所有实例上启用增强监控功能,以便在 Amazon CloudWatch 中自动收集 RDSOSMetrics 信息。
第 4 步
创建一个 AWS Lambda 函数,用于细化 RDSOSMetrics 日志组中收集的信息,从而为目标实例创建自定义指标,以进行监控。
第 5 步
使用 aws-embedded-metric 以近乎实时的方式向 CloudWatch 推送细化的自定义指标。
第 6 步
根据存储的自定义指标,配置 CloudWatch 警报以调整权重。
第 7 步
当发生权重调整警报时,它会调用 AWS Step Functions。Step Functions 会调整 Route 53 记录的权重,以将流量分配和恢复到 Aurora Serverless v2。
第 8 步
根据使用 AWS Auto Scaling 收集的自定义指标警报设置自动扩缩策略。当发生自动扩缩警报时,它会为预置的副本实例调用自动扩缩。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
Aurora Serverless v2 可通过其无服务器架构实现自动扩缩,而 AWS Auto Scaling 可动态添加预置实例,以横向扩展只读副本。本指南可根据实际流量需求,弹性地纵向扩展或缩减资源,同时实现成本效益和系统稳定性。即使在流量突然激增期间,也能保持稳定的数据库性能。
-
安全性
CloudWatch 日志可对日志数据进行加密和安全传输,而 AWS Identity and Access Management(IAM)则可遵循最低权限原则,授予服务和资源所需的最低权限。通过保护日志信息并仅限授权实体进行访问,您可以降低安全漏洞的风险并保护数据完整性。
-
可靠性
Aurora 和 Route 53 通过多可用区(AZ)部署和自动失效转移功能,为数据库提供高可用性和容错能力。Route 53 基于权重的路由可以高效地将流量分配给运行状况良好的实例,并在基础设施出现故障时实现快速自动恢复和服务连续性。
-
性能效率
Aurora Serverless v2 可在流量激增时自动扩展计算资源,从而提高读取性能。Route 53 基于权重的记录可将流量动态路由到 Aurora Serverless v2 实例,从而降低预置实例的负载。高精度的 CloudWatch 自定义指标可在 10 秒内检测到流量峰值,从而实现快速响应并维持应用程序的响应速度和稳定性。
-
成本优化
Aurora Serverless 可根据实际流量模式自动响应,消除过度预置带来的成本。AWS Auto Scaling 仅预置所需数量的 Aurora 只读副本。自定义 CloudWatch 指标支持在正确的时间做出精确的扩展决策,防止不必要的资源浪费。Lambda 函数仅在触发事件时产生费用,进一步优化了成本。
-
可持续性
Aurora 和 Aurora Serverless v2 的动态扩缩功能最大限度地减少了对环境的影响。这些服务仅预置实际工作负载所需的资源,防止过度预置和资源浪费。通过根据实际需求弹性地纵向扩展和缩减资源,您可以减少能源消耗和相关的碳排放。
相关内容
ktown4u 如何使用 Amazon Aurora 混合配置集群构建自定义自动扩缩架构,以应对突发的流量高峰
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。