本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:使用在实例上运行 str CPU ess AWS FIS
您可以使用 … AWS 故障注入服务 (AWS FIS) 来测试您的应用程序如何处理 str CPU ess。使用本教程创建使用以下内容的实验模板 AWS FIS运行在实例上运行 stress CPU 的预配置SSM文档。当实例的CPU利用率超过配置的阈值时,本教程使用停止条件来停止实验。
有关更多信息,请参阅 预先配置 AWS FISSSM的文档。
先决条件
在你可以使用之前 AWS FIS要运行 str CPU ess,请完成以下先决条件。
创建 IAM 角色
创建角色并附加可启用的策略 AWS FIS代表您使用该aws:ssm:send-command
操作。有关更多信息,请参阅 适用于 AWS FIS 实验的 IAM 角色。
验证访问权限 AWS FIS
确保您可以访问 AWS FIS。有关更多信息,请参阅 AWS FIS政策示例。
准备测试EC2实例
-
按照预EC2SSM配置文档的要求,使用 Amazon Linux 2 或 Ubuntu 启动实例。
-
实例必须由管理SSM。要验证实例是否由管理SSM,请打开队列管理器控制台
。如果实例不是由管理的SSM,请验证SSM代理是否已安装以及该实例是否具有具有 A mazonSSMManaged InstanceCore 策略的附加IAM角色。要验证已安装的SSM代理,请连接到您的实例并运行以下命令。 Amazon Linux 2
yum info amazon-ssm-agent
Ubuntu
apt list amazon-ssm-agent
-
对实例启用详细监控。此操作会提供时长 1 分钟的数据,需要额外付费。选择所需实例,然后依次选择操作、监控和问题排查,以及管理详细监控。
步骤 1:为停止条件创建 CloudWatch 警报
配置 CloudWatch 警报,以便在CPU利用率超过您指定的阈值时可以停止实验。以下过程将目标实例的CPU使用率阈值设置为 50%。有关更多信息,请参阅 停止条件。
创建警报以指示CPU利用率何时超过阈值
打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择目标实例,然后选择操作、监控和故障排除、管理 CloudWatch警报。
-
对于警报通知,请使用切换开关关闭 Amazon SNS 通知。
-
对于警报阈值,请使用以下设置:
-
样本分组依据:最大值
-
要采样的数据类型:CPU利用率
-
百分比:
50
-
周期:
1 Minute
-
-
配置完警报后,选择创建。
步骤 2:创建实验模板
使用创建实验模板 AWS FIS控制台。在模板中,您可以指定要运行的以下操作:aws: ssm: send-comm AWSFIS and/-Run--Stress。CPU
创建实验模板
打开 AWS FIS控制台位于https://console.aws.amazon.com/fis/
。 -
在导航窗格中,选择实验模板。
-
选择创建实验模板。
-
对于描述和名称,输入模板的描述和名称。
-
对于操作,请执行以下操作:
-
选择添加操作。
-
输入操作名称。例如,输入
runCpuStress
。 -
对于操作类型,选择 aws: ssm: send-comm AWSFIS and/-Run--Stress。CPU这会自动将SSM文档ARN的添加到 “文档” ARN。
-
对于 Targ et 来说,保持目标 AWS FIS为你创作。
-
对于操作参数,文档参数,输入以下内容:
{"DurationSeconds":"120"}
-
在 “操作” 参数 “持续时间” 中,指定 5 分钟 (PT5M)。
-
选择保存。
-
-
对于目标,请执行以下操作:
-
为目标选择编辑 AWS FIS在上一步中自动为您创建。
-
将默认名称替换为更具描述性的名称。例如,输入
testInstance
。 -
验证资源类型是否为 aws:ec2:instance。
-
对于目标方法,选择资源 IDs,然后选择测试实例的 ID。
-
对于选择模式,选择全部。
-
选择保存。
-
-
对于 S ervice Acces s,选择 “使用现有IAMIAM角色”,然后选择您按照本教程先决条件中所述创建的角色。如未显示此角色,请验证其是否具有必要的信任关系。有关更多信息,请参阅 适用于 AWS FIS 实验的 IAM 角色。
-
对于停止条件,请选择您在步骤 1 中创建的 CloudWatch 警报。
-
(可选)对于标签,选择添加新标签,然后指定标签键和标签值。您添加的标签将应用于实验模板,而不是应用于使用此模板运行的实验。
-
选择创建实验模板。
(可选)查看实验模板 JSON
选择导出选项卡。以下是通过前面的控制台过程JSON创建的示例。
{ "description": "Test CPU stress predefined SSM document", "targets": { "testInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:
region
:123456789012
:instance/instance_id
" ], "selectionMode": "ALL" } }, "actions": { "runCpuStress": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:region
::document/AWSFIS-Run-CPU-Stress", "documentParameters": "{\"DurationSeconds\":\"120\"}", "duration": "PT5M" }, "targets": { "Instances": "testInstance" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:region
:123456789012
:alarm:awsec2-instance_id
-GreaterThanOrEqualToThreshold-CPUUtilization" } ], "roleArn": "arn:aws:iam::123456789012
:role/AllowFISSSMActions
", "tags": {} }
步骤 3:开始实验
您可以使用创建好的实验模板开始实验。
开始实验
-
您应该位于刚刚创建的实验模板的详细信息页面。否则,请选择实验模板,然后选择实验模板 ID,打开详细信息页面。
-
请选择开始实验。
-
(可选)要为实验添加标签,请选择添加新标签,然后输入标签键和标签值。
-
请选择开始实验。当系统提示进行确认时,输入
start
。请选择开始实验。
步骤 4:跟踪实验进度
您可以跟踪正在运行的实验进度,直到实验完成、停止或失败。
跟踪实验进度
-
您应该位于刚开始的实验的详细信息页面。否则,请选择实验,然后选择对应 ID 打开详细信息页面。
-
要查看实验状态,请在详细信息窗格中选择状态。有关更多信息,请参阅实验状态。
-
当实验状态为正在运行时,转到下一步。
步骤 5:验证实验结果
在实验运行期间,您可以监控实例的CPU利用率。当CPU利用率达到阈值时,将触发警报,实验因停止条件而停止。
验证实验结果
-
选择停止条件选项卡。绿色边框和绿色勾选图标表示警报的初始状态为
OK
。红线则表示警报阈值。如需更详细的图表,请在小组件菜单中选择放大。 -
当CPU利用率超过阈值时,“停止条件” 选项卡中的红色边框和红色感叹号图标表示警报状态已更改为
ALARM
。详细信息窗格中的实验状态显示为已停止。如果选择此状态,则会显示“实验因停止条件而停止”的消息。 -
当CPU利用率降低到阈值以下时,绿色边框和绿色复选标记图标表示警报状态已更改为
OK
。 -
(可选)在小组件菜单中选择在警报中查看。这将打开 CloudWatch 控制台中的警报详细信息页面,您可以在其中获取有关警报的更多详细信息或编辑警报设置。
步骤 6:清理
如果您不再需要为此实验创建的测试实EC2例,则可以将其终止。
终止实例
-
打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择测试实例,然后依次选择实例状态和终止实例。
-
当系统提示您确认时,选择终止。
如果您不再需要实验模板,可以将其删除。
要删除实验模板,请使用 AWS FIS控制台
打开 AWS FIS控制台位于https://console.aws.amazon.com/fis/
。 -
在导航窗格中,选择实验模板。
-
选择实验模板,然后依次选择操作和删除实验模板。
-
当系统提示您确认时,输入
delete
,然后选择删除实验模板。