本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:排程重複實驗
同 AWS 故障注入服務 (AWS FIS),您可以對您的執行故障注入實驗 AWS 工作負載。這些實驗在包含要在指定目標上執行的一或多個動作的範本上執行。當你也使用 Amazon EventBridge,您可以將實驗安排為一次性任務或重複性任務。
使用此自學課 EventBridge 程建立執行 AWS FIS實驗模板每 5 分鐘。
必要條件
在開始本教程之前,必須有一個 AWS FIS您要在明細表上執行的實驗範本。如果您已經有一個工作實驗模板,請記下模板 ID 和 AWS 區域。 否則,您可以依照中的指示建立範本教學課程:測試實例停止並開始使用 AWS FIS,然後返回本自學課程。
步驟 1:建立IAM角色和原則
若要建立IAM角色和原則
在開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在左側導覽窗格中,選擇 [角色],然後選取 [建立角色]。
-
選擇 [自訂信任原則],然後插入下列程式碼片段以允許 Amazon EventBridge 代表您擔任角色的排程器。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
選擇 Next (下一步)。
-
在 [新增權限] 下,選擇 [建立原則]
-
選擇 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" } } } ] }
選擇下一步:標籤。
-
選擇下一步:檢閱。
-
在 [檢閱原則] 底下,命名您的原則
FIS_RecurringExperiment
,然後選擇 [建立原則]。 -
在 [新增權限] 底下,將新
FIS_RecurringExperiment
原則新增至您的角色,然後選擇 [下一步]。 -
在 [名稱] 下檢閱和建立角色命名
FIS_RecurringExperiment_role
,然後選擇 [建立角色]。
步驟 2:建立 Amazon EventBridge 排程器
若要建立 Amazon EventBridge 排程器
在打開 Amazon EventBridge 控制台https://console.aws.amazon.com/events/
。 -
在左側導覽窗格中,選擇「排程」。
-
驗證您是在同一個 AWS 區域 作為您的 AWS FIS實驗模板。
-
選擇 [建立排程],然後填入下列項目:
在「明細表名稱」下,插入
FIS_recurring_experiment_tutorial
。在排程模式下,選取週期性排程。
在「排程類型」下,選取「以比率為基礎的
在「比率運算式」下,選擇 5 分鐘。
在彈性時間範圍下,選擇關閉。
(選擇性) 在時間範圍下,選取您的時區。
選擇 Next (下一步)。
-
在 [選取目標] 下,選擇 [全部]APIs,然後搜尋 AWS FIS.
-
選擇 AWS FIS,然後選取StartExperiment。
-
在「輸入」下,插入下列JSON承載。更換
your-experiment-template-id
值與您的實驗的模板 ID。ClientToken
是排程器的唯一識別碼。在本教程中,我們使用的是上下文關鍵字允許 Amazon EventBridge 排程器。如需詳細資訊,請參閱 Amazon EventBridge 使用者指南中的新增內容屬性。{ "ClientToken": "<aws.scheduler.execution-id>", "ExperimentTemplateId": "
your-experiment-template-id
" }選擇 Next (下一步)。
-
(選擇性) 在 [設定] 下,您可以設定 [重試] 原則、無效字母佇列 (DLQ) 和 [加密] 設定。或者,您可以保留預設值。
-
在 [權限] 下,選取 [使用現有角色],然後搜尋
FIS_RecurringExperiment_role
。 -
選擇 Next (下一步)。
在 [檢閱並建立排程] 底下,檢閱排程器詳細資料,然後選擇 [建立排程]。
步驟 3:驗證您的實驗
若要驗證您的 AWS FIS實驗按計劃運行
打開 AWS FIS控制台在https://console.aws.amazon.com/fis/
。 -
在左側導覽窗格中,選擇 [實驗]。
-
建立排程五分鐘後,您應該會看到實驗執行中。
步驟 4:清理
若要停用您的 Amazon EventBridge 排程器
在打開 Amazon EventBridge 控制台https://console.aws.amazon.com/events/
。 -
在左側導覽窗格中,選擇「排程」。
-
選取新建立的排程器,然後選擇 [停用]。