教學課程:排程重複實驗 - 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" } ] }

    選擇 Next (下一步)

  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

    • 排程模式下,選取週期性排程

    • 在「排程類型」下,選取「以比率為基礎

    • 在「比率運算式」下,選擇 5 分鐘

    • 彈性時間範圍下,選擇關閉

    • (選擇性) 在時間範圍下,選取您的時區。

    • 選擇 Next (下一步)

  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" }

    選擇 Next (下一步)

  8. (選擇性) 在 [設定] 下,您可以設定 [重試] 原則無效字母佇列 (DLQ) 和 [加密] 設定。或者,您可以保留預設值。

  9. 在 [權限] 下,選取 [使用現有角色],然後搜尋FIS_RecurringExperiment_role

  10. 選擇 Next (下一步)

  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. 選取新建立的排程器,然後選擇 [停用]。