本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:使用 AWS FIS 在实例上运行 CPU stress
您可以使用 AWS 故障注入服务 (AWS FIS) 来测试您的应用程序如何处理 CPU 压力。使用本教程创建实验模板,该模板使用 AWS FIS 来运行预先配置的 SSM 文档,该文档在实例上运行 CPU stress。此教程会在实例的 CPU 利用率超过配置阈值时,使用停止条件以停止实验。
有关更多信息,请参阅 Pre-configured AWS FIS SSM 文档。
先决条件
在使用 AWS FIS 运行 CPU stress 之前,请先完成以下先决条件。
创建一个 IAM 角色
创建一个角色并附加一个策略,使 AWS FIS 能够代表您使用该aws:ssm:send-command操作。有关更多信息,请参阅 适用于 AWS FIS 实验的 IAM 角色。
验证对 AWS FIS 的访问权限
确保您可以访问 AWS FIS。有关更多信息,请参阅 AWS FIS 策略示例。
准备 EC2 测试实例
-
按照预配置 SSM 文档的要求,使用 Amazon Linux 2 或 Ubuntu 启动 EC2 实例。
-
此实例必须由 SSM 托管。要验证实例是否由 SSM 托管,则打开 Fleet Manager 控制台
。如果实例不是由 SSM 管理的,请验证是否已安装 SSM 代理,并且该实例具有与 A ma SSMManaged InstanceCore zon 策略关联的 IAM 角色。要验证已安装的 SSM 代理,则连接实例并运行以下命令。 Amazon Linux 2
yum info amazon-ssm-agentUbuntu
apt list amazon-ssm-agent -
对实例启用详细监控。此操作会提供时长 1 分钟的数据,需要额外付费。选择所需实例,然后依次选择操作、监控和问题排查,以及管理详细监控。
步骤 1:为停止条件创建 CloudWatch 警报
配置 CloudWatch 警报,以便在 CPU 使用率超过您指定的阈值时可以停止实验。以下过程将目标实例的 CPU 利用率阈值设置为 50%。有关更多信息,请参阅 停止条件。
创建警报,指明 CPU 利用率何时超过阈值
打开位于 https://console.aws.amazon.com/ec2/
的 Amazon EC2 控制台。 -
在导航窗格中,选择 Instances (实例)。
-
选择目标实例,然后选择操作、监控和故障排除、管理 CloudWatch警报。
-
对于警报通知,使用切换按钮关闭 Amazon SNS 通知。
-
对于警报阈值,请使用以下设置:
-
样本分组依据:最大值
-
要采样的数据类型:CPU 利用率
-
百分比:
50 -
周期:
1 Minute
-
-
配置完警报后,选择创建。
步骤 2:创建实验模板
使用 AWS FIS 控制台创建实验模板。在模板中,您可以指定要运行的以下操作:aws: ssm: s AWSFIS-Run end-command/-CPU-stress。
创建试验模板
打开 AWS FIS 控制台,网址https://console.aws.amazon.com/fis/
为。 -
在导航窗格中,选择实验模板。
-
选择创建实验模板。
-
对于步骤 1,指定模板详细信息,请执行以下操作:
-
在描述和名称中,输入模板的描述。
-
选择 “下一步”,然后移至步骤 2,指定操作和目标。
-
-
对于操作,请执行以下操作:
-
选择添加操作。
-
输入操作名称。例如,输入
runCpuStress。 -
对于操作类型,选择 aws: ssm: s AWSFIS-Run end-command/-CPU-stress。此操作会自动向 Document ARN 添加 SSM 文档的 ARN。
-
对于 Targ et,请保留 AWS FIS 为你创建的目标。
-
对于操作参数,文档参数,输入以下内容:
{"DurationSeconds":"120"} -
在 “操作” 参数 “持续时间” 中,指定 5 分钟 (PT5M)。
-
选择保存。
-
-
对于目标,请执行以下操作:
-
AWS 为 FIS 在上一步中自动为您创建的目标选择 “编辑”。
-
将默认名称替换为更具描述性的名称。例如,输入
testInstance。 -
验证资源类型是否为 aws:ec2:instance。
-
对于 “目标方法” IDs,选择 “资源”,然后选择测试实例的 ID。
-
对于选择模式,选择全部。
-
选择保存。
-
-
选择下一步进入步骤 3,配置服务访问权限。
-
对于服务访问权限,选择使用现有 IAM 角色,然后选择您按照本教程先决条件中所述创建的 IAM 角色。如未显示此角色,请验证其是否具有必要的信任关系。有关更多信息,请参阅 适用于 AWS FIS 实验的 IAM 角色。
-
选择 “下一步” 进入步骤 4 “配置可选设置”。
-
对于停止条件,请选择您在步骤 1 中创建的 CloudWatch 警报。
-
(可选)对于标签,选择添加新标签,然后指定标签键和标签值。您添加的标签将应用于实验模板,而不是应用于使用此模板运行的实验。
-
选择 “下一步” 进入步骤 5,“查看并创建”。
-
查看模板并选择创建实验模板。当提示您确认时,输入
create,然后选择创建实验模板。
(可选)查看 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 测试实例,可以将其删除。
终止实例
-
打开位于 https://console.aws.amazon.com/ec2/
的 Amazon EC2 控制台。 -
在导航窗格中,选择 Instances (实例)。
-
选择测试实例,然后依次选择实例状态和终止实例。
-
当系统提示您确认时,选择终止。
如果您不再需要实验模板,可以将其删除。
使用 AWS FIS 控制台删除实验模板
打开 AWS FIS 控制台,网址https://console.aws.amazon.com/fis/
为。 -
在导航窗格中,选择实验模板。
-
选择实验模板,然后依次选择操作和删除实验模板。
-
当系统提示您确认时,输入
delete,然后选择删除实验模板。