使用 Amazon Fault Injection Service 演示多区域和多可用区应用程序弹性

Amazon Simple Storage Service (S3)
Amazon EC2
Amazon Elastic Container Service (Amazon ECS)
Amazon RDS
Amazon DynamoDB
0
0
<!--StartFragment--> > 文章作者:Jeff [Amazon Fault Injection Service(FIS)](http://aws.amazon.com/fis?trk=cndc-detail)可帮助您将混沌工程大规模付诸实践。今天,我们推出了新的[场景](https://aws.amazon.com/about-aws/whats-new/2023/11/aws-fault-injection-simulator-scenarios-scheduled-experiments/?trk=cndc-detail),这些场景可以让您演示在亚马逊云科技可用区完全断电,或从一个亚马逊云科技区域到另一个亚马逊云科技区域的连接中断时,您的应用程序是否按预期运行。 您可以使用这些场景进行实验,从而确信您的应用程序(无论是单区域还是多区域)在出现问题时可以按预期运行,帮助您更好地了解直接和间接依赖项,并测试恢复时间。在对应用程序进行全面测试,确认其运行符合预期后,您就可以将实验结果用于合规性目的。当与[亚马逊云科技韧性监测中心](https://aws.amazon.com/resilience-hub/?trk=cndc-detail)的其他部分结合使用时,FIS 可以帮助您全面了解应用程序的整体[弹性状况](https://docs.aws.amazon.com/prescriptive-guidance/latest/resilience-lifecycle-framework/introduction.html?trk=cndc-detail)。 ### **场景简介** 我们在 2021 年推出了 FIS,帮助您在亚马逊云科技应用程序上进行对照实验。在我为公布新功能而[撰写的文章](https://aws.amazon.com/blogs/aws/aws-fault-injection-simulator-use-controlled-experiments-to-boost-resilience/?trk=cndc-detail)中,我向大家展示了如何创建实验模板,以及如何使用这些模板进行实验。这些实验是使用强大的低级别操作构建的,这些操作会影响特定类型的指定亚马逊云科技资源组。例如,以下操作在 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例和自动扩缩组上运行: ![1.png](https://dev-media.amazoncloud.cn/0fb144c5f1f24c4b9ca861c4870d7109_1.png "1.png") 我们以这些操作为构建块,最近推出了 [Amazon FIS 场景库](https://docs.aws.amazon.com/fis/latest/userguide/scenario-library.html?trk=cndc-detail)。库中的每个场景都定义了事件或条件,您可以使用它们来测试应用程序的弹性: ![2.png](https://dev-media.amazoncloud.cn/380b8c4657d2498087ce4258450124a6_2.png "2.png") 每个场景都被用于创建实验模板。您可以按原样使用场景,也可以以任何模板为基础,根据需要对其进行自定义或增强。 这些场景可以针对同一亚马逊云科技账户或其他亚马逊云科技账户中的资源: ![3.png](https://dev-media.amazoncloud.cn/0ab43c38eb0b4e07a0fc18a06d12377f_3.png "3.png") ### **新场景** 鉴于以上背景,让我们来看看新的场景。 **可用区可用性:电源中断** – 此场景会暂时“断开”单个可用区中的一组目标资源,包括 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例(包括 EKS 和 ECS 集群中的实例)、EBS 卷、自动扩缩组、VPC 子网、[Amazon ElastiCache for Redis](https://aws.amazon.com/elasticache/redis/?trk=cndc-detail) 集群和 [Amazon Relational Database Service(RDS)](https://aws.amazon.com/rds/?trk=cndc-detail)集群。在大多数情况下,您将在具有多个可用区资源的应用程序上运行,但也可以在单可用区应用程序上运行,并将中断作为预期结果。它以单个可用区为目标,还允许您禁止一组指定的 IAM 角色或自动扩缩组在实验期间启动新实例或启动停止的实例。 **新的操作和目标体验**使您可以一目了然地查看所有内容,包括场景中的操作及其影响的亚马逊云科技资源类型: ![4.png](https://dev-media.amazoncloud.cn/50df4466bb7e4e6791dc89d3f39a48d1_4.png "4.png") 这些场景包括用于自定义实验模板的参数: ![5.png](https://dev-media.amazoncloud.cn/38bdd17b4a674fe481a7e67aa29ec60e_5.png "5.png") **高级参数—定位标签**允许您控制标签键和值,这些键和值将用于定位实验的目标资源: ![6.png](https://dev-media.amazoncloud.cn/b6ca989614034324bfd44fade3a8db63_6.png "6.png") **跨区域:连接**—此场景会阻止测试区域中的应用程序访问目标区域中的资源。这包括来自附加到 VPC 的 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例、ECS 任务、EKS 容器组(pod)和 Lambda 函数的流量。它还包括流经[中转网关](https://aws.amazon.com/transit-gateway/?trk=cndc-detail)和 [VPC 对等连接](https://aws.amazon.com/blogs/aws/new-vpc-peering-for-the-amazon-virtual-private-cloud/?trk=cndc-detail)的流量,以及跨区域 S3 和 DynamoDB 复制。这个场景开箱即用,已经提供了如下功能: ![7.png](https://dev-media.amazoncloud.cn/61e6ef11559d40fabc350f12a349fcbf_7.png "7.png") 此场景运行 3 小时(除非更改 **disruptionDuration** 参数),并以指定方式将测试区域与目标区域隔离,使用高级参数控制用于选择隔离区域中受影响亚马逊云科技资源的标签: ![8.png](https://dev-media.amazoncloud.cn/f63730844ffc4b9e9f7514253d8faa5b_8.png "8.png") 您可能还会发现,此场景中使用的 **Disrupt** 和 **Pause** 操作本身就很有用: ![9.png](https://dev-media.amazoncloud.cn/24961648b96b4f88a423301177239952_9.png "9.png") 例如,**aws:s3:bucket-pause-replication** 操作可用于暂停区域内的复制。 ### **注意事项** 以下是关于新场景的注意事项: **区域**—新场景已在所有提供 FIS 的商业亚马逊云科技区域推出,无需额外付费。 **定价**—您需要为运行的实验所消耗的操作时间付费;有关更多信息,请参阅 [Amazon Fault Injection Service 定价](https://aws.amazon.com/fis/pricing/?trk=cndc-detail)页面。 **命名**—该服务前身为 Amazon Fault Injection Simulator。 <!--EndFragment-->
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭