選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

AWS FIS 的動作

焦點模式
AWS FIS 的動作 - AWS 故障注入服務

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

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

若要建立實驗範本,您必須定義一或多個動作。如需 AWS FIS 提供的預先定義動作清單,請參閱 動作參考

您只能在實驗期間執行動作一次。若要在相同的實驗中多次執行相同的 AWS FIS 動作,請使用不同的名稱多次將其新增至範本。

動作語法

以下是 動作的語法。

{ "actions": { "action_name": { "actionId": "aws:service:action-type", "description": "string", "parameters": { "name": "value" }, "startAfter": ["action_name", ...], "targets": { "ResourceType": "target_name" } } } }

當您定義動作時,請提供下列項目:

action_name

動作的名稱。

actionId

動作識別符

description

選擇性的描述。

parameters

任何動作參數

startAfter

任何必須在此動作開始之前完成的動作。否則,動作會在實驗開始時執行。

targets

任何動作目標

如需範例,請參閱 動作範例

動作識別符

每個 AWS FIS 動作都有一個具有下列格式的識別符:

aws:service-name:action-type

例如,下列動作會停止目標 Amazon EC2 執行個體:

aws:ec2:stop-instances

如需動作的完整清單,請參閱 AWS FIS 動作參考

動作參數

有些 AWS FIS 動作具有動作特有的其他參數。這些參數用於在動作執行時將資訊傳遞給 AWS FIS。

AWS FIS 支援使用 aws:ssm:send-command動作的自訂故障類型,該動作使用 SSM Agent 和 SSM 命令文件來建立目標執行個體上的故障條件。aws:ssm:send-command 動作包含以 SSM 文件的 Amazon Resource Name (ARN) 做為值的documentArn參數。當您將 動作新增至實驗範本時,您可以指定參數的值。

如需指定 aws:ssm:send-command 動作參數的詳細資訊,請參閱 使用 aws:ssm:send-command動作

您可以盡可能在動作參數中輸入回復組態 (也稱為後置動作)。後置動作會將目標回復為動作執行前原有的狀態。後置動作會在動作持續時間中指定的時間之後執行。並非所有動作都支援貼文動作。例如,如果動作終止 Amazon EC2 執行個體,則您無法在執行個體終止後復原執行個體。

動作目標

動作會在您指定的目標資源上執行。定義目標之後,您可以在定義動作時指定其名稱。

"targets": { "ResourceType": "resource_name" }

AWS FIS 動作支援動作目標的下列資源類型:

  • AutoScalingGroups – Amazon EC2 Auto Scaling 群組

  • 儲存貯體 – Amazon S3 儲存貯體

  • 叢集 – Amazon EKS 叢集

  • 叢集 – Amazon ECS 叢集或 Amazon Aurora 資料庫叢集

  • DBInstances – Amazon RDS 資料庫執行個體

  • 資料表 – Amazon DynamoDB 全域資料表

  • 執行個體 – Amazon EC2 執行個體

  • 節點群組 – Amazon EKS 節點群組

  • Pod:Amazon EKS 上的 Kubernetes Pod

  • ReplicationGroups – ElastiCache Redis 複寫群組

  • 角色 – IAM 角色

  • SpotInstances – Amazon EC2 Spot 執行個體

  • 子網路 – VPC 子網路

  • 任務 – Amazon ECS 任務

  • TransitGateways – 傳輸閘道

  • 磁碟區 – Amazon EBS 磁碟區

如需範例,請參閱 動作範例

動作持續時間

如果動作包含參數,您可以用來指定動作的持續時間,根據預設,該動作只有在指定的持續時間過後才會視為完成。如果您已將emptyTargetResolutionMode實驗選項設定為 skip,則動作會在未解析目標時立即完成,狀態為「略過」。例如,如果您指定 5 分鐘的持續時間, AWS FIS 會將動作視為在 5 分鐘後完成。然後,它會開始下一個動作,直到所有動作完成為止。

持續時間可以是維持動作條件的時間長度,或是監控指標的時間長度。例如,延遲會在指定的時間內注入。對於近乎即時的動作類型,例如終止執行個體,會在指定的持續時間內監控停止條件。

如果動作在動作參數中包含後置動作,則後置動作會在動作完成後執行。完成後置動作所需的時間,可能會導致指定動作持續時間與下一個動作開始 (或實驗結束,如果所有其他動作完成) 之間發生延遲。

動作範例

以下是範例動作。

範例:停止 EC2 執行個體

下列動作會停止使用名為 targetInstances 的目標所識別的 EC2 執行個體。兩分鐘後,它會重新啟動目標執行個體。

"actions": { "stopInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M" }, "targets": { "Instances": "targetInstances" } } }
範例:中斷 Spot 執行個體

下列動作會停止使用名為 targetSpotInstances 的目標識別 Spot 執行個體。它會等待兩分鐘再中斷 Spot 執行個體。

"actions": { "interruptSpotInstances": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M" }, "targets": { "SpotInstances": "targetSpotInstances" } } }
範例:中斷網路流量

下列動作會拒絕目標子網路與其他可用區域中子網路之間的流量。

"actions": { "disruptAZConnectivity": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M" }, "targets": { "Subnets": "targetSubnets" } } }
範例:終止 EKS 工作者

下列動作會終止 EKS 叢集中 50% 使用名為 targetNodeGroups 的目標所識別的 EC2 執行個體。

"actions": { "terminateWorkers": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50" }, "targets": { "Nodegroups": "targetNodeGroups" } } }

下一個主題:

目標

上一個主題:

實驗範本元件
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。