概览
工作原理
这些技术细节包含一张架构图,用于说明如何有效使用本解决方案。该架构图展示了关键组件及其相互作用,并逐步概述了架构的结构和功能。
自信地进行部署
为部署做好准备了吗? 查看 GitHub 上的示例代码,了解详细的部署说明,以根据需要按原样部署或进行自定义部署。
Well-Architected 支柱
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
多区域环境中的卓越运营要求确保您的基础设施在不同的区域之间平稳地运行。Amazon CloudWatch 用于监控各个方面,包括 Aurora 全球数据库的性能、亚马逊 EKS 集群(例如 CPU 和内存使用情况)以及通过应用程序负载均衡器路由的传入请求。可以通过 Aurora 内部的性能洞察进一步观察数据库性能。此外,当配置这种方法时,强调通过 Amazon EKS、应用程序负载均衡器、Aurora Global Database 和 Global Accelerator 之间的协作隔离各个分区中的故障。这一合作增强了可扩展性和弹性,特别是在缓解罕见但有可能发生的可用区(AZ)或区域故障方面。
本指南利用各种 AWS 服务来保护资源和数据。Amazon EKS 利用 Kubernetes 的基于角色的访问控制(RBAC)来管理对集群资源的访问权限,以使只有经过授权的实体才能与敏感的组件进行交互。通过使用 AWS Transit Gateway 和 G lobal Accelerator 可以增强网络安全,它们在区域之间提供安全的通信渠道,并有助于缓解分布式拒绝服务 (DDoS) 攻击。Aurora Global Database 利用静态加密和传输中加密来增强数据安全性,以保护敏感信息免遭未经授权的访问。此外,AWS 身份和访问管理 (AWS IAM) 用于管理用户权限和访问策略,因此只有经过身份验证和授权的用户才能与 AWS 资源进行交互。
本指南在架构的多个层级中包含冗余和容错功能。Amazon EKS 利用多个可用区来分配工作负载,以实现高可用性和容错功能。使用 Aurora Global Database,可通过跨区域复制数据、最大限度地降低数据丢失风险以及帮助确保区域中断时的运营连续性来增强数据库可靠性。此外,Global Accelerator 会将流量路由到运行状况良好的端点,并自动将流量从运行状况不佳或性能下降的资源重新路由出去,以保持服务可用性。Amazon EKS 和应用程序负载均衡器内的自动扩缩机制有助于管理工作负载需求的波动,这样,无需手动干预即可动态分配资源以满足性能需求。
本指南利用各种 AWS 服务和功能来简化资源利用、增强可扩展性,以及最大限度地减小延迟。 Amazon EKS 采用自动扩展功能,以根据工作负载需求动态调整计算资源。利用 Horizontal Pod Autoscaler 和 Karpenter 等插件以及应用程序负载均衡器,支持对应用程序和 worker 节点进行自动扩展和弹性扩展,以及在运行状况良好的目标之间高效地分配流量。
Aurora 有助于跨区域扩展数据库读取,并将应用程序放在用户附近的位置。此外,与不使用 Aurora Optimized Reads for Aurora PostgreSQL 的实例相比,Aurora Optimized Reads for Aurora PostgreSQL 最多可以将查询延迟缩小到 1/8 并节省 30% 的成本。
Global Accelerator 通过 AWS 全球网络基础设施路由应用程序流量,进一步将网络性能提高了多达 60%,并利用从遍布全球的 AWS 边缘站点投放的两个静态 IP 简化了多区域部署的管理。
在本指南中,通过战略性地利用 AWS 服务和功能来帮助优化成本,并侧重于最大限度地提高效率,同时最大限度地减少开支。借助 Amazon EKS,Horizonal Pod Auto Scaling 和 Karpenter 可以自动扩缩应用程序和 worker 节点,以优化资源分配,从而满足不同的需求水平。
Aurora 提供了两种针对特定工作负载需求量身定制的存储配置,因此在成本优化方面发挥了关键作用。Aurora 标准配置为具有中等 I/O 使用率的应用程序提供了经济实惠的定价,而 Aurora I/O 优化型配置为 I/O 密集型工作负载提供了增强定价,并支持在不超支的情况下实现最佳性能。Aurora 自动扩展功能根据应用程序工作负载的波动动态调整只读副本,以便高效地利用资源以及最大限度地减少不必要的开支。
此外,在A urora 和亚马逊EK S上使用 AWS Graviton处理器,特别是Graviton3实例,可以优化性价比,在保持高性能的同时大幅节省成本。
本指南将在 AWS 云端部署和集成 Amazon EKS 集群和 Aurora Global Database,无需购买任何物理硬件。容量提供程序最大限度地减少了虚拟“基础设施”预置,并在工作负载需要时执行必要的自动扩展活动。
在 Kubernetes 平台上运行的每个容器组(pod)(包括 Amazon EKS 集群和 Aurora Global Database)都会消耗内存、CPU、I/O 和其他资源。
此外,通过支持使用节能型处理器实例(例如 AWS Graviton 处理器),本指南提高了可持续性。通过在 Amazon EC2 和 Aurora 中使用 Graviton,能够以更少的资源提高工作负载的性能,从而减少用户的总体资源占用量。
相关内容
免责声明
找到今天要查找的内容了吗?
请提供您的意见,以便帮助我们提高页面内容的质量