教程:安排定期实验 - AWS 故障注入服务

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

教程:安排定期实验

随着 AWS 故障注入服务 (AWS FIS),你可以对你的设备进行故障注入实验 AWS 工作负载。这些实验运行在模板上,其中包含要在指定目标上运行的一项或多项操作。当你还使用时 Amazon EventBridge,您可以将实验安排为一次性任务或重复任务。

使用本教程来创建运行 EventBridge 的时间表 AWS FIS每 5 分钟生成一次实验模板。

先决条件

在开始本教程之前,必须有一个 AWS FIS你想按计划运行的实验模板。如果您已经有可用的实验模板,请记下模板 ID 和 AWS 区域。 否则,您可以按照中的说明创建模板教程:使用停止和启动测试实例 AWS FIS,然后返回本教程。

步骤 1:创建IAM角色和策略

创建IAM角色和策略
  1. 打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 在左侧的导航窗格中,选择角色,然后选择创建角色

  3. 选择 “自定义信任策略”,然后插入以下片段以允许 Amazon EventBridge 安排者代表您担任该角色。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    选择下一步

  4. 添加权限下,选择创建策略

  5. 选择 JSON,然后插入以下策略。更换 your-experiment-template-id 使用先决条件步骤中实验的模板 ID 的值。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "fis:StartExperiment", "Resource": [ "arn:aws:fis:*:*:experiment-template/your-experiment-template-id", "arn:aws:fis:*:*:experiment/*" ] } ] }

    您可以将调度程序限制为仅运行 AWS FIS具有特定标签值的实验模板。例如,以下策略授予所有人的StartExperiment权限 AWS FIS实验,但限制调度器只能运行带有标签的实验模板。Purpose=Schedule

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "fis:StartExperiment", "Resource": "arn:aws:fis:*:*:experiment/*" }, { "Effect": "Allow", "Action": "fis:StartExperiment", "Resource": "arn:aws:fis:*:*:experiment-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Schedule" } } } ] }

    选择下一步:标签

  6. 选择下一步:审核

  7. 查看策略下,命名策略 FIS_RecurringExperiment,然后选择创建策略

  8. 添加权限下,为您的角色添加 FIS_RecurringExperiment 新策略,然后选择下一步

  9. 命名、检查并创建下,命名角色 FIS_RecurringExperiment_role,然后选择创建角色

步骤 2:创建一个 Amazon EventBridge 调度器

要创建 Amazon EventBridge 调度器
  1. 打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  2. 在左侧导航窗格中,选择计划

  3. 确认你在同一个地方 AWS 区域 作为你的 AWS FIS实验模板。

  4. 选择创建计划,然后填写以下内容:

    • 计划名称下,插入 FIS_recurring_experiment_tutorial

    • 计划模式下,选择定期计划

    • 计划类型下,选择基于速率的计划

    • Rate 表达式下,选择 5 分钟

    • 灵活时间窗口下,选择关闭

    • (可选)在时间范围下,选择您的时区。

    • 选择下一步

  5. “选择目标” 下,选择 “全部”APIs,然后搜索 AWS FIS.

  6. 选择 AWS FIS,然后选择StartExperiment

  7. 在 “输入” 下,插入以下JSON有效负载。更换 your-experiment-template-id 带有实验模板 ID 的值。ClientToken 是调度器的唯一标识符。在本教程中,我们使用的是允许的上下文关键字 Amazon EventBridge 调度器。有关更多信息,请参阅 Amazon EventBridge 用户指南中的添加上下文属性

    { "ClientToken": "<aws.scheduler.execution-id>", "ExperimentTemplateId": "your-experiment-template-id" }

    选择下一步

  8. (可选)在 “设置” 下,您可以设置重试策略死信队列 (DLQ) 和加密设置。您也可以保留默认值。

  9. 权限下,选择使用现有角色,然后搜索 FIS_RecurringExperiment_role

  10. 选择下一步

  11. 查看并创建计划下,查看调度器的详细信息,然后选择创建计划

步骤 3:验证实验

为了验证你的 AWS FIS实验按计划进行
  1. 打开 AWS FIS控制台位于https://console.aws.amazon.com/fis/

  2. 在左侧导航窗格中,选择实验

  3. 创建计划五分钟后,您会看到正在运行的实验。

步骤 4:清除

要禁用你的 Amazon EventBridge 调度器
  1. 打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  2. 在左侧导航窗格中,选择计划

  3. 选择新创建的调度器,然后选择禁用