AWS Fault Injection Simulator のアイコン

AWS Fault Injection Simulator 专业2021年〜

向 AWS 环境注入故障以验证系统容错性的服务

它能做什么

AWS Fault Injection Simulator (FIS) 是实践混沌工程的托管服务。可以安全地执行 EC2 实例停止、网络延迟注入、可用区故障模拟等各种故障场景。实验可设置停止条件,当影响超出预期时自动停止实验。

使用场景

适用于在接近生产环境的配置中进行灾难恢复演练、多可用区配置的冗余性验证、Auto Scaling 的行为确认、应用超时处理和重试逻辑的验证等。也用于 Game Day (故障响应演练) 的自动化。

日常类比

可以将其比作大楼的消防演练。实际触发火灾报警器、停止电梯,确认疏散通道引导是否正常运作。在真正火灾发生前,安全地测试疏散路线和消防设备是否正常工作。

什么是 AWS Fault Injection Simulator

AWS Fault Injection Simulator (FIS) 是在 AWS 环境中实践混沌工程的服务。混沌工程是向生产环境有意注入故障,观察系统如何响应的方法。基于「故障必然会发生」的前提,通过事先发现弱点并改进,最小化实际故障发生时的影响。FIS 提供安全且可重现地执行这些实验的基础设施。

实验模板与操作

在 FIS 中创建「实验模板」来定义故障场景。模板中指定要执行的操作 (故障类型)、目标资源和停止条件。可用操作包括 EC2 实例停止/重启、ECS 任务停止、网络延迟和丢包注入、API 限流模拟等。还可构建并行或顺序执行多个操作的复杂场景。 如需深入了解实验模板和操作的知识,也可参阅 技术书籍 (Amazon)

安全执行实验

FIS 的重要特点是内置了确保实验安全性的机制。可指定 CloudWatch 告警作为停止条件,例如错误率超过阈值时自动停止实验。通过 IAM 角色限制实验可操作的资源范围,防止对非预期资源的影响。实验执行日志详细记录,可用于事后分析和改进。

注意事项

  • Pricing is based on action execution time (per minute). No charges during experiment design
  • Without proper stop conditions, experiments may impact production more than expected. Always integrate with CloudWatch alarms
  • FIS experiments cause real impact on target resources. Test thoroughly in development or staging environments before running in production
共有するXB!