跳至主要内容

AWS 解决方案库

使用 Amazon DynamoDB 构建弹性数据应用程序的指南

提高应用程序的弹性,以防止中断和停机

概览

本指南演示了如何使用 AWS 服务(例如 Amazon DynamoDB 全局表)构建弹性多区域应用程序。它阐述了检测和响应区域范围的中断、提供高可用性和最大限度地减少任务关键型应用程序停机时间的最佳实践。本指南通过动态路由受影响区域的流量并利用全局数据复制来帮助您实现应用程序弹性。

工作原理

主要区域

此架构图显示如何设置和构建弹性多区域应用程序。要进行跨区域失效转移和失效自动恢复,请打开另一个选项卡。

Architecture diagram showing a resilient data application using Amazon DynamoDB global tables, AWS Lambda, Amazon API Gateway, Route 53 Application Recovery Controller, and canaries across multiple AWS regions, including us-east-1, us-west-2, and us-east-2 (Observer Region). The diagram illustrates the use of synthetic metrics, regional endpoint metrics, component level metrics, and application recovery controller readiness checks for high availability and disaster recovery.

跨区域失效转移和失效自动恢复

此架构图显示了在发生中断时如何执行跨区域失效转移和失效自动恢复。要设置主要区域,请打开另一个选项卡。

Architecture diagram illustrating AWS DynamoDB cross-region failover and failback setup. The diagram shows regions us-east-1, us-east-2 (observer), and us-west-2, utilizing Amazon API Gateway, AWS Lambda, and global tables for DynamoDB. It includes canary deployments, Route 53 Application Recovery Controller, Amazon Route 53, and synthetic metrics to support application recovery, endpoint health, and component-level monitoring.

Well-Architected 支柱

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

Amazon CloudWatch 通过来自 Dynam oDB Lambda API Gateway 和 Route 53 的指标监控应用程序的运行状况。在事件发生期间,指标有助于评测清空决策的用户影响。CloudWatch Synthetics 金丝雀模拟客户互动,即使在没有流量的情况下也能验证用户体验。金丝雀通过揭示面向客户的问题来补充组件指标。CloudWatch 仪表板为运营人员提供统一的性能视图。Route 53 ARC 检查应用程序的准备情况。失效转移后,仪表板监控失效转移区域。

阅读卓越运营白皮书

API Gateway HTTPS 端点加密所有通信。AWS 身份和访问管理 (IAM) 实施最低权限原则,仅授予服务运行所需的权限。DynamoDB 加密静态和传输中的数据,而 CloudWatch 日志也经过加密,保护您的敏感信息。采用这些以安全为重点的 AWS 服务可降低数据泄露风险并增强应用程序的整体安全状况。

阅读安全白皮书

DynamoDB 全局表可跨多个 AWS 区域复制数据。使用 Route 53 路由和 Route 53 ARC 的自动失效转移可帮助您的应用程序在发生中断时无缝继续运行。Lambda 提供可扩展的应用程序层,将您的服务与预配置的计算资源分离。使用 CloudWatchCloudWatch Synthetics 金丝雀进行实时监控可为您的团队提供在关键事件期间做出明智决策所需的信息。这些 AWS 服务可帮助您构建一个强大且高度可用的应用程序,可以承受意外失效。

阅读可靠性白皮书

完全托管的无服务器 AWS 服务会自动扩展以匹配您的工作负载。DynamoDBLambdaAPI GatewayRoute 53 会动态分配资源,使您的应用程序可以处理流量激增和波动,而不会影响用户体验。CloudWatch 会监控应用程序的指标,使您能够识别和解决性能瓶颈。Route 53 会自动将流量分配到延迟最低的区域,从而提高用户的响应能力。

阅读性能效率白皮书

AWS 服务会自动扩展资源以满足您的应用程序需求。LambdaDynamoDB 仅对您使用的计算和存储资源收费,无需过度配置。API GatewayLambda 协同工作,仅在收到有效的 API 请求时启动您的应用程序逻辑,因此您只需为使用的资源付费。

阅读成本优化白皮书

无服务器架构图可优化资源分配,减少对预置硬件的需求并实现高效的能源使用。API GatewayLambda 仅针对有效请求启动,可以最大限度地减少计算消耗。DynamoDB 根据需要分配存储,可防止浪费。资源在流量高峰和失效转移期间纵向扩展,然后在需求减少时缩减。这种自动、精确的供需匹配可最大限度地提高能源效率并降低能源消耗。

阅读可持续发展白皮书

自信地进行部署

为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。 

访问示例代码

相关内容

博客

使用 Amazon DynamoDB 全局表构建弹性应用程序:第 4 部分

这篇博客文章讨论了多区域部署的运营问题,包括可观测性、部署管道和运行手册。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

找到今天要查找的内容了吗?

请提供您的意见,以便帮助我们提高页面内容的质量