亚马逊AWS官方博客
基于 Amazon Q Developer CLI 进行智能混沌工程实验
![]() |
背景介绍
混沌工程 Chaos Engineering 是在大规模分布式系统上进行受控实验,观察系统行为并发现系统弱点,以建立应对意外风险引发混乱的能力和信心。
在现代云原生架构中,系统的复杂性和分布式特性使得传统的测试方法难以全面验证系统的韧性。混沌工程作为一种主动发现系统弱点的方法论,已经成为构建可靠系统的重要实践。然而,传统的混沌工程实施过程往往需要大量的人工干预,从定义稳态假设到设计实验模板,再到分析实验结果,都需要依赖架构师具备深厚的专业知识和丰富的经验。为了解决这一挑战,AWS 提供了生成式 AI 解决方案,旨在通过自然语言交互和智能体的特性,自动化这些任务,提升混沌工程的整体效率,可以极大地提高混沌工程实验的效率和实验的准确性。
本 blog 有配套 Workshop:Building resilient systems and strengthening through smart chaos engineering on AWS,便于读者加深理解,欢迎联系支持您的 AWS 团队开展免费的 workshop。
传统混沌工程的挑战
人工依赖性高
- 稳态定义困难:需要参与者深入理解系统架构和业务逻辑
- 实验设计复杂:需要考虑故障类型、影响范围、恢复策略等多个维度
- 结果分析耗时:需要人工分析大量监控数据和日志信息
知识门槛较高
- 工具链复杂:需要熟悉多种混沌工程工具和云服务
- 领域专业性:需要具备系统架构、运维监控等多方面知识
- 经验依赖:实验设计的有效性很大程度上依赖于工程师的经验
智能混沌工程解决方案
GenAI 技术与混沌工程的结合彻底改变了这一现状。想象一下这样的场景:不再需要复杂的技术操作,而是用自然语言就可以与系统进行交互;您的系统不仅能够承受故障,还能预测、学习并自动适应混沌场景。接下来我们将先为大家介绍一下本方案中各个功能模块。
Amazon Q Developer CLI
在这个架构中扮演着智能对话中枢的角色,Q CLI 作为本方案中的“混沌指挥官”,它不仅仅是一个命令行工具,更是一个懂得混沌工程的智能助手。通过自然语言处理能力,它能够理解”在高峰时段模拟数据库连接池耗尽”这样的复杂描述,并将其转换为具体的实验步骤。更重要的是,它具备上下文感知能力,能够记住之前的对话和实验历史,提供连贯的交互体验。
MCP 服务器集群
每个 MCP 服务器都是一个高度专业化的微服务,专注于特定领域的操作。这种设计带来的最大优势是模块化和专业化的完美结合。
本次实验将会使用:EKS MCP Server、CloudWatch Logs MCP Server、FIS MCP Server、Chaos Mesh MCP Server。
当需要操作 Kubernetes 集群时,EKS MCP Server 会发挥作用;当需要分析日志数据时,CloudWatch Logs MCP Server 会接管任务。这种分工协作的模式不仅降低了系统复杂性,还确保了每个领域都能获得深度的专业支持。
AWS FIS 提供了托管的故障注入服务,而 Kubernetes Chaos Mesh 则专注于容器环境的故障模拟。这种组合使得平台能够设计跨越云服务和容器环境的复杂故障场景,真正模拟现实世界中的系统故障情况。
核心 MCP 服务器
- Core MCP Server:提供 MCP 服务器管理和协调功能
- Amazon EKS MCP Server:专门用于 Kubernetes 集群管理和资源操作
- Amazon CloudWatch Logs MCP Server:支持日志查询和监控数据分析
混沌工程专用 MCP 服务器
- FIS MCP Server:集成 AWS 故障注入服务,支持托管的故障模拟
- ChaosMesh MCP Server:提供 Kubernetes 环境下的故障注入能力
实验效果示例
您可以用自然语言,直接在命令行让 Q 给您列出已有的实验模版
Help me list the existing experimental templates in FIS in us-east-2.
帮我列出 us-east-2 FIS 中所有的实验模版。
![]() |
图 1. Q 列出的 FIS 中已有的实验模版
Help me summarize the three FIS experiments that have been completed in the past.
帮我总结最近完成的三个 FIS 实验。
![]() |
图 2. Q 给出的 FIS 中已有的实验总结
例如可以让 Q 直接操作关闭 50% 的 pods 来验证系统韧性:
Basing Pod Deletion Template,Shut down 50% of the pods of the votingapp application in the workshop eks cluster in us-east-2.
帮我关闭 us-east-2 workshop eks 集群中 votingapp 50% 的 pod。
![]() |
![]() |
图 3. 通过 Q 生成 FIS 实验模版并执行
让 Q 帮你分析实验的结果:
Observe the metrics in CON404-Workshop Dashboards on CloudWatch in Us-east-2 and analyze the impact of the last three experiments on the application.
观察 CloudWatch Dashboards CON404-Workshop 中 Us-east-2 中的指标,
分析 FIS 最近的三个实验对应用的影响。
![]() |
![]() |
图 4. 实验执行后,实验对应用的影响分析
还可以让 Q 结合当前的系统的部署情况,云资源的使用情况,来识别关键点并注入故障。
I will conduct resilience testing on this system.
Identify and analyze key points and scenarios in this architecture
where fault injection would provide meaningful resilience insights.
我要对当前系统进行韧性实验,帮我分析可以注入故障的点和具体的实验场景。
![]() |
![]() |
![]() |
![]() |
图 5. Q 读取当前应用环境,给出故障注入的场景建议
后续还可以让 Q 对上述场景生成实验模版并执行实验,篇幅关系,不再赘述此过程。
如果你在实验过程中遇到执行的错误,同样可以让 Q 去帮你排错。
综上所述,Q CLI+ MCP servers 的智能混沌工程解决方案可以帮助你完成全生命周期的混沌工程实验。
简单安装说明
上述工具的部署非常简单,完整的步骤可以参考 Beyond Traditional Resilience: Revolutionizing Resilience Testing with Amazon Q 这个 workshop 中的介绍(Lab2: Q CLI and MCP servers installation and Configuration)。
- 安装并注册 Amazon Q Developer CLI;
- 安装 AWS FIS MCP Server、Chaos Mesh MCP Server 、Core MCP Server、Amazon EKS MCP Server、Amazon CloudWatch Logs MCP Server 这些MCP server;
- 配置 Amazon Q Developer CLI 的 MCP servers;
- 启动 Amazon Q Developer CLI,开始实验。
说明:AWS FIS MCP Server 和 Chaos Mesh MCP Server 推荐使用 uv 来执行。
下载链接:
- AWS FIS MCP Server:https://github.com/RadiumGu/AWS-FIS-MCP
- Chaos Mesh MCP Server :https://github.com/RadiumGu/Chaosmesh-MCP
- Core MCP Server、Amazon EKS MCP Server、Amazon CloudWatch Logs MCP Server:https://github.com/awslabs/mcp
总结
技术优势
基于 Amazon Q Developer CLI 的智能混沌工程解决方案带来了显著的技术优势。首先是大幅降低了使用门槛,通过自然语言交互的方式,让原本需要深厚专业知识的混沌工程变得人人可用,即使是初学者也能通过简单的对话来设计和执行复杂的故障注入实验。
在效率提升方面,该解决方案实现了从实验设计到执行分析的全流程自动化,大幅减少了人工干预的需求。传统混沌工程中需要数小时甚至数天才能完成的实验设计和配置工作,现在可以在几分钟内通过自然语言描述完成。
应用价值
利用 GenAI 的智能混沌工程平台为不同角色的技术人员带来差异化的价值。对于开发团队而言,他们可以在开发阶段就快速验证系统的韧性设计,提前发现和修复潜在的可靠性问题,避免这些问题在生产环境中暴露。
运维团队则可以利用这个平台进行自动化的故障演练,通过定期的混沌工程实验来提升团队的应急响应能力,确保在真实故障发生时能够快速有效地处理。对于系统架构师来说,这个平台提供了系统性评估架构设计的工具,帮助他们从可靠性角度优化系统架构,做出更好的技术决策。
管理层也能从中获得价值,通过量化的实验结果和风险评估报告,他们可以更好地理解系统的风险状况,制定更加合理的技术投资和风险管控策略。
通过 Amazon Q Developer CLI 和 MCP 服务器的创新组合,我们不仅简化了混沌工程的实施过程,更重要的是推动了这项重要的可靠性实践从”专家工具”向”普惠技术”的根本性转变。这种转变将让更多的团队和组织能够受益于混沌工程的价值,构建更加可靠和韧性的系统架构。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。