

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：排定重複實驗
<a name="fis-tutorial-recurring-experiment"></a>

透過 AWS Fault Injection Service (AWS FIS)，您可以對 AWS 工作負載執行故障注入實驗。這些實驗會在範本上執行，其中包含一或多個要在指定目標上執行的動作。當您也使用 時 Amazon EventBridge，您可以將實驗排程為一次性任務或重複性任務。

使用此教學課程來建立 EventBridge 排程，每 5 分鐘執行一次 AWS FIS 實驗範本。

**Topics**
+ [先決條件](#recurring-experiment-prerequisites)
+ [步驟 1：建立 IAM 角色和政策](#recurring-experiment-step1)
+ [步驟 2：建立 Amazon EventBridge 排程器](#recurring-experiment-step2)
+ [步驟 3：驗證您的實驗](#recurring-experiment-step3)
+ [步驟 4：清理](#recurring-experiment-step4)

## 先決條件
<a name="recurring-experiment-prerequisites"></a>

開始本教學課程之前， 必須有您要排程執行的 AWS FIS 實驗範本。如果您已有工作實驗範本，請記下範本 ID 和 AWS 區域。否則，您可以依照 中的指示建立範本[教學課程：測試執行個體停止和開始使用 AWS FIS](fis-tutorial-stop-instances.md)，然後返回本教學課程。

## 步驟 1：建立 IAM 角色和政策
<a name="recurring-experiment-step1"></a>



**建立 IAM 角色和政策**

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 選擇**自訂信任政策**，然後插入下列程式碼片段，以允許 Amazon EventBridge 排程器代表您擔任角色。

------
#### [ JSON ]

****  

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

------

   選擇**下一步**。

1. 在**新增許可**下，選擇**建立政策**。

1. 選擇 **JSON**，然後插入下列政策。使用先決條件步驟中的實驗範本 ID 取代 *your-experiment-template-id* 值。

------
#### [ JSON ]

****  

   ```
   {
       "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 實驗範本。例如，下列政策會授予所有 AWS FIS 實驗的`StartExperiment`許可，但限制排程器只能執行標記為 的實驗範本`Purpose=Schedule`。

------
#### [ JSON ]

****  

   ```
   {
       "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"
                   }
               }
           }
       ]
   }
   ```

------

   選擇下**一步：標籤**。

1. 選擇下**一步：檢閱**。

1. 在**檢閱政策**下，為您的政策命名 `FIS_RecurringExperiment`，然後選擇**建立政策**。

1. 在**新增許可**下，將新`FIS_RecurringExperiment`政策新增至您的角色，然後選擇**下一步**。

1. 在**名稱、檢閱和建立**下，命名角色 `FIS_RecurringExperiment_role`，然後選擇**建立角色**。

## 步驟 2：建立 Amazon EventBridge 排程器
<a name="recurring-experiment-step2"></a>



**建立 Amazon EventBridge 排程器**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在左側導覽窗格中，選擇**排程**。

1. 確認您位於與 AWS FIS 實驗範本 AWS 區域 相同的 中。

1. 選擇**建立排程**，然後填入以下內容：
   + 在**排程名稱**下，插入 `FIS_recurring_experiment_tutorial`。
   + 在**排程模式**下，選取**週期性排程**。
   + 在**排程類型**下，選取以**速率為基礎的排程**。
   + 在**速率表達**式下，選擇 **5 分鐘**。
   + 在**彈性時段**下，選取**關閉**。
   + （選用） 在**時間範圍**下，選取您的時區。
   + 選擇**下一步**。

1. 在**選取目標**下，選擇**所有 APIs**，然後搜尋 **AWS FIS**。

1. 選擇 **AWS FIS**，然後選擇 **StartExperiment**。

1. 在**輸入**下，插入下列 JSON 承載。將 *your-experiment-template-id* 值取代為實驗的範本 ID。`ClientToken` 是排程器的唯一識別符。在本教學課程中，我們使用 Amazon EventBridge 排程器允許的內容關鍵字。如需詳細資訊，請參閱《*Amazon EventBridge 使用者指南*》中的[新增內容屬性](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-context-attributes.html)。

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

   選擇**下一步**。

1. （選用） 在**設定**下，您可以設定**重試政策**、**無效字母佇列 (DLQ)** 和**加密**設定。或者，您可以保留預設值。

1. 在**許可**下，選取**使用現有角色**，然後搜尋 `FIS_RecurringExperiment_role`。

1. 選擇**下一步**。

1. 在**檢閱和建立排程**下，檢閱排程器詳細資訊，然後選擇**建立排程**。

## 步驟 3：驗證您的實驗
<a name="recurring-experiment-step3"></a>

**驗證您的 AWS FIS 實驗是否按排程執行**

1. 在 https：//[https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/) 開啟 AWS FIS 主控台。

1. 在左側導覽窗格中，選擇**實驗**。

1. 建立排程後五分鐘，您應該會看到實驗正在執行。

## 步驟 4：清理
<a name="recurring-experiment-step4"></a>

**停用您的 Amazon EventBridge 排程器**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在左側導覽窗格中，選擇**排程**。

1. 選取您新建立的排程器，然後選擇**停用**。