选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

教程:使用 AWS FIS 在实例上运行 CPU 压力测试

聚焦模式
教程:使用 AWS FIS 在实例上运行 CPU 压力测试 - AWS 故障注入服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

您可以使用 AWS 故障注入服务 (AWS FIS) 来测试您的应用程序如何处理 CPU 压力。使用本教程创建实验模板,该模板使用 AWS FIS 运行预先配置的 SSM 文档,该文档在实例上运行 CPU stress。此教程会在实例的 CPU 利用率超过配置阈值时,使用停止条件以停止实验。

有关更多信息,请参阅 预先配置的 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-agent

    Ubuntu

    apt list amazon-ssm-agent
  • 对实例启用详细监控。此操作会提供时长 1 分钟的数据,需要额外付费。选择所需实例,然后依次选择操作监控和问题排查,以及管理详细监控

步骤 1:为停止条件创建 CloudWatch 警报

配置 CloudWatch 警报,以便在 CPU 使用率超过您指定的阈值时可以停止实验。以下过程将目标实例的 CPU 利用率阈值设置为 50%。有关更多信息,请参阅 停止条件

创建警报,指明 CPU 利用率何时超过阈值
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择目标实例,然后选择操作监控和故障排除管理 CloudWatch警报

  4. 对于警报通知,使用切换按钮关闭 Amazon SNS 通知。

  5. 对于警报阈值,请使用以下设置:

    • 样本分组依据最大值

    • 要采样的数据类型CPU 利用率

    • 百分比50

    • 周期1 Minute

  6. 配置完警报后,选择创建

步骤 2:创建实验模板

使用 AWS FIS 控制台创建实验模板。在模板中,您可以指定要运行的以下操作:aws: ssm: s AWSFIS-Run end-command/-CPU-stress。

创建试验模板
  1. 打开 AWS FIS 控制台,网址https://console.aws.amazon.com/fis/为。

  2. 在导航窗格中,选择实验模板

  3. 选择创建实验模板

  4. 对于步骤 1,指定模板详细信息,请执行以下操作:

    1. 描述和名称中,输入模板的描述。

    2. 选择 “下一步”,然后移至步骤 2,指定操作和目标

  5. 对于操作,请执行以下操作:

    1. 选择添加操作

    2. 输入操作名称。例如,输入 runCpuStress

    3. 对于操作类型,选择 aws: ssm: s AWSFIS-Run end-command/-CPU-stress。此操作会自动向 Document ARN 添加 SSM 文档的 ARN。

    4. 对于 Targ et,请保留 AWS FIS 为你创建的目标。

    5. 对于操作参数文档参数,输入以下内容:

      {"DurationSeconds":"120"}
    6. “操作” 参数持续时间” 中,指定 5 分钟 (PT5M)。

    7. 选择保存

  6. 对于目标,请执行以下操作:

    1. AWS 为 FIS 在上一步中自动为您创建的目标选择 “编辑”。

    2. 将默认名称替换为更具描述性的名称。例如,输入 testInstance

    3. 验证资源类型是否为 aws:ec2:instance

    4. 对于 “目标方法” IDs,选择 “资源”,然后选择测试实例的 ID。

    5. 对于选择模式,选择全部

    6. 选择保存

  7. 选择下一步进入步骤 3,配置服务访问权限

  8. 对于服务访问权限,选择使用现有 IAM 角色,然后选择您按照本教程先决条件中所述创建的 IAM 角色。如未显示此角色,请验证其是否具有必要的信任关系。有关更多信息,请参阅 适用于 AWS FIS 实验的 IAM 角色

  9. 选择 “下一步” 进入步骤 4 “配置可选设置”

  10. 对于停止条件,请选择您在步骤 1 中创建的 CloudWatch 警报。

  11. (可选)对于标签,选择添加新标签,然后指定标签键和标签值。您添加的标签将应用于实验模板,而不是应用于使用此模板运行的实验。

  12. 选择 “下一步” 进入步骤 5,“查看并创建”

  13. 查看模板并选择创建实验模板。当提示您确认时,输入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:开始实验

您可以使用创建好的实验模板开始实验。

开始实验
  1. 您应该位于刚刚创建的实验模板的详细信息页面。否则,请选择实验模板,然后选择实验模板 ID,打开详细信息页面。

  2. 请选择开始实验

  3. (可选)要为实验添加标签,请选择添加新标签,然后输入标签键和标签值。

  4. 请选择开始实验。当系统提示进行确认时,输入 start。请选择开始实验

步骤 4:跟踪实验进度

您可以跟踪正在运行的实验进度,直到实验完成、停止或失败。

跟踪实验进度
  1. 您应该位于刚开始的实验的详细信息页面。否则,请选择实验,然后选择对应 ID 打开详细信息页面。

  2. 要查看实验状态,请在详细信息窗格中选择状态。有关更多信息,请参阅实验状态

  3. 当实验状态为正在运行时,转到下一步。

步骤 5:验证实验结果

您可以在实验运行期间监控实例的 CPU 利用率。CPU 利用率达到阈值时会触发警报,实验也会因停止条件而停止。

验证实验结果
  1. 选择停止条件选项卡。绿色边框和绿色勾选图标表示警报的初始状态为 OK。红线则表示警报阈值。如需更详细的图表,请在小组件菜单中选择放大

    该图显示了在大约为 50% 的低活动期之后 CPU 利用率峰值上升至 100%。
  2. 当 CPU 利用率超过阈值时,停止条件选项卡中会显示红色的边框和感叹号图标,表示警报状态已更改为 ALARM详细信息窗格中的实验状态显示为已停止。如果选择此状态,则会显示“实验因停止条件而停止”的消息。

    该图显示了一段时间内的 CPU 利用率,红色阈值线为 50%。
  3. 当 CPU 利用率降低到阈值以下时,会显示绿色的边框和勾选图标,表示警报状态已更改为 OK

  4. (可选)在小组件菜单中选择在警报中查看。这将打开 CloudWatch 控制台中的警报详细信息页面,您可以在其中获取有关警报的更多详细信息或编辑警报设置。

步骤 6:清除

如果您不再需要为此实验创建的测试实 EC2 例,则可以将其终止。

终止实例
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择测试实例,然后依次选择实例状态终止实例

  4. 当系统提示您确认时,选择终止

如果您不再需要实验模板,可以将其删除。

使用 AWS FIS 控制台删除实验模板
  1. 打开 AWS FIS 控制台,网址https://console.aws.amazon.com/fis/为。

  2. 在导航窗格中,选择实验模板

  3. 选择实验模板,然后依次选择操作删除实验模板

  4. 当系统提示您确认时,输入 delete,然后选择删除实验模板

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。