

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

# AWS FIS 動作參考
<a name="fis-actions-reference"></a>

動作是您使用 AWS Fault Injection Service (AWS FIS) 在目標上執行的錯誤注入活動。 為跨 AWS 服務的特定類型目標 AWS FIS 提供預先設定的動作。您可以將動作新增至實驗範本，然後用來執行實驗。

此參考說明 中的常見動作 AWS FIS，包括動作參數和所需 IAM 許可的相關資訊。您也可以使用 AWS FIS 主控台或來自 AWS Command Line Interface () 的 [list-actions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/list-actions.html) 命令列出支援 AWS FIS 的動作AWS CLI。取得特定動作的名稱後，您可以使用 [get-action](https://docs.aws.amazon.com/cli/latest/reference/fis/get-action.html) 命令檢視動作的詳細資訊。如需搭配 使用 AWS FIS 命令的詳細資訊 AWS CLI，請參閱《 *AWS CLI 命令參考*》中的[AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)和 [fis](https://docs.aws.amazon.com/cli/latest/reference/fis/index.html)。

如需 AWS FIS 動作運作方式的詳細資訊，請參閱 [AWS FIS 的動作](action-sequence.md)和 [Fault Injection Service AWS 如何與 IAM 搭配使用](security_iam_service-with-iam.md)。

**Topics**
+ [錯誤注入動作](#fis-actions-reference-fis)
+ [復原動作](#fis-actions-recovery)
+ [等待動作](#fis-actions-reference-wait)
+ [Amazon CloudWatch 動作](#cloudwatch-actions-reference)
+ [Amazon DynamoDB 動作](#dynamodb-actions-reference)
+ [Amazon Aurora DSQL 動作](#dsql-actions-reference)
+ [Amazon EBS 動作](#ebs-actions-reference)
+ [Amazon EC2 動作](#ec2-actions-reference)
+ [Amazon ECS 動作](#ecs-actions-reference)
+ [Amazon EKS 動作](#eks-actions-reference)
+ [Amazon ElastiCache 動作](#elasticache-actions-reference)
+ [Amazon Kinesis Data Streams 動作](#aws-kinesis-actions)
+ [AWS Lambda 動作](#aws-lambda-actions-reference)
+ [Amazon MemoryDB 動作](#memorydb-actions-reference)
+ [網路動作](#network-actions-reference)
+ [Amazon RDS 動作](#rds-actions-reference)
+ [Amazon S3 動作](#s3-actions-reference-fis)
+ [Systems Manager 動作](#ssm-actions-reference)
+ [AWS Direct Connect 動作](#directconnect-actions-reference)
+ [搭配 AWS FIS 使用 Systems Manager SSM 文件](actions-ssm-agent.md)
+ [使用 AWS FIS aws：ecs：task 動作](ecs-task-actions.md)
+ [使用 AWS FIS aws：eks：pod 動作](eks-pod-actions.md)
+ [使用 AWS FIS aws：lambda：function 動作](use-lambda-actions.md)

## 錯誤注入動作
<a name="fis-actions-reference-fis"></a>

AWS FIS 支援下列錯誤注入動作。

**Topics**
+ [aws:fis:inject-api-internal-error](#inject-api-internal-error)
+ [aws:fis:inject-api-throttle-error](#inject-api-throttle-error)
+ [aws:fis:inject-api-unavailable-error](#inject-api-unavailable-error)

### aws:fis:inject-api-internal-error
<a name="inject-api-internal-error"></a>

將內部錯誤注入目標 IAM 角色提出的請求中。特定回應取決於每個服務和 API。如需詳細資訊，請檢閱 服務的 SDK 和 API 文件。

**Resource Type (資源類型)**
+ **aws:iam:role**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **service** – 目標 AWS API 命名空間。支援的值為 `ec2`和 `kinesis`。
+ **percentage** – 將錯誤注入其中的呼叫百分比 (1-100)。
+ **operations** – 插入故障的操作，以逗號分隔。如需`ec2`命名空間的 API 動作清單，請參閱 [Amazon EC2 API 參考](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html)和 [Amazon Kinesis Data Streams API 參考](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_Operations.html)。

**許可**
+ `fis:InjectApiInternalError`

### aws:fis:inject-api-throttle-error
<a name="inject-api-throttle-error"></a>

將限流錯誤注入目標 IAM 角色提出的請求。特定回應取決於每個服務和 API。如需詳細資訊，請檢閱 服務的 SDK 和 API 文件。

**Resource Type (資源類型)**
+ **aws:iam:role**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **service** – 目標 AWS API 命名空間。支援的值為 `ec2`和 `kinesis`。
+ **percentage** – 將錯誤注入其中的呼叫百分比 (1-100)。
+ **operations** – 插入故障的操作，以逗號分隔。如需`ec2`命名空間的 API 動作清單，請參閱 [Amazon EC2 API 參考](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html)和 [Amazon Kinesis Data Streams API 參考](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_Operations.html)。

**許可**
+ `fis:InjectApiThrottleError`

### aws:fis:inject-api-unavailable-error
<a name="inject-api-unavailable-error"></a>

將無法使用的錯誤注入目標 IAM 角色提出的請求中。特定回應取決於每個服務和 API。如需詳細資訊，請檢閱 服務的 SDK 和 API 文件。

**Resource Type (資源類型)**
+ **aws:iam:role**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **service** – 目標 AWS API 命名空間。支援的值為 `ec2`和 `kinesis`。
+ **percentage** – 將錯誤注入其中的呼叫百分比 (1-100)。
+ **operations** – 插入故障的操作，以逗號分隔。如需`ec2`命名空間的 API 動作清單，請參閱 [Amazon EC2 API 參考](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html)和 [Amazon Kinesis Data Streams API 參考](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_Operations.html)。

**許可**
+ `fis:InjectApiUnavailableError`

## 復原動作
<a name="fis-actions-recovery"></a>

執行復原動作是為了降低風險或在受損後保護應用程式。

AWS FIS 支援下列復原動作。

### aws:arc:start-zonal-autoshift
<a name="recovery"></a>

自動將受支援資源的流量從可能受損的可用區域 (AZ) 轉移，並將其重新路由至相同 AWS 區域中運作狀態良好的 AZs。這允許透過 FIS 體驗區域自動轉移。區域自動轉移是 Amazon Application Recovery Controller (ARC) 的一項功能，允許 AWS 代表您將資源的流量移離 AZ，當 AWS 判斷存在可能影響 AZ 中客戶的損害時。

當您執行`aws:arc:start-zonal-autoshift`動作時， 會使用 StartZonalShift、UpdateZonalShift 和 CancelZonalShift APIs 來 AWS FIS 管理區域轉移，並將這些請求的 `expiresIn` 欄位設定為 1 分鐘做為安全機制。這可讓 在發生網路中斷或系統問題等意外事件時 AWS FIS ，快速復原區域轉移。在 ARC AWS FIS主控台中，過期時間欄位會顯示受管，而實際的預期過期取決於區域轉移動作中指定的持續時間。

**Resource Type (資源類型)**
+ **aws:arc:zonal-shift-managed-resource**

  區域轉移受管資源是可以啟用 ARC 區域自動轉移的資源類型，包括 Amazon EKS 叢集、Amazon EC2 應用程式和網路負載平衡器，以及 Amazon EC2 Auto Scaling 群組。如需詳細資訊，請參閱《*ARC 開發人員指南*》中的[支援的資源](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.resource-types.html)和[啟用區域自動轉移資源](https://docs.aws.amazon.com//r53recovery/latest/dg/arc-zonal-autoshift.start-cancel.html)。

**Parameters**
+ **duration** – 將轉移流量的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **availabilityZoneIdentifier** – 流量會從此可用區域移開。這可以是 AZ 名稱 (us-east-1a) 或 AZ ID (use1-az1)。
+ **managedResourceTypes** – 流量將從中轉移的資源類型，以逗號分隔。可能的選項包括 `ASG`(Auto Scaling 群組）、 `ALB` (Application Load Balancer)、 `NLB`(Network Load Balancer) 和 `EKS`(Amazon EKS)。
+ **zonalAutoshiftStatus** – 您要鎖定的資源`zonalAutoshiftStatus`狀態。可能的選項為 `ENABLED` `DISABLED`、 和 `ANY`。預設值為 `ENABLED`。

**許可**
+ arc-zonal-shift：StartZonalShift
+ arc-zonal-shift：GetManagedResource
+ arc-zonal-shift：UpdateZonalShift
+ arc-zonal-shift：CancelZonalShift
+ arc-zonal-shift：ListManagedResources
+ autoscaling：DescribeTags
+ tag:GetResources

## 等待動作
<a name="fis-actions-reference-wait"></a>

AWS FIS 支援下列等待動作。

### aws:fis:wait
<a name="wait"></a>

執行 AWS FIS 等待動作。

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ 無

## Amazon CloudWatch 動作
<a name="cloudwatch-actions-reference"></a>

AWS FIS 支援下列 Amazon CloudWatch 動作。

### aws:cloudwatch:assert-alarm-state
<a name="assert-alarm-state"></a>

驗證指定的警示是否處於其中一個指定的警示狀態。

**Resource Type (資源類型)**
+ 無

**Parameters**
+ **alarmArns** – 警示ARNs，以逗號分隔。您最多可以指定五個警示。
+ **alarmStates** – 警示狀態，以逗號分隔。可能的警示狀態為 `OK`、 `ALARM`和 `INSUFFICIENT_DATA`。

**許可**
+ `cloudwatch:DescribeAlarms`

## Amazon DynamoDB 動作
<a name="dynamodb-actions-reference"></a>

AWS FIS 支援下列 Amazon DynamoDB 動作。

### aws:dynamodb:global-table-pause-replication
<a name="global-table-pause-replication"></a>

暫停 Amazon DynamoDB 多區域全域資料表複寫至任何複本資料表。在動作開始後，資料表最多可繼續複寫 5 分鐘。

**多區域強式一致性 (MRSC) 全域資料表**  
下列陳述式將動態附加至目標 DynamoDB MRSC 全域資料表的政策：

```
{
   "Statement":[
      {
         "Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
         "Effect":"Deny",
         "Principal":{
            "AWS": "*"
         },
         "Action":[
            "dynamodb:UpdateTable"
         ],
         "Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable",
         "Condition": {
            "DateLessThan": {
                "aws:CurrentTime": "2024-04-10T09:51:41.511Z"
            },
            "ArnEquals": {
                "aws:PrincipalArn": "arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
            }
         }
      },
      {
         "Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxxForApplicationAutoScaling",
         "Effect":"Deny",
         "Principal":{
            "AWS": "*"
         },
         "Action":[
            "dynamodb:DescribeTable",
            "dynamodb:UpdateTable"
         ],
         "Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable",
         "Condition": {
            "DateLessThan": {
              "aws:CurrentTime": "2024-04-10T09:51:41.511Z"
            },
            "ArnEquals": {
                "aws:PrincipalArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable"
            }
         }
      }
   ]
}
```

如果目標資料表沒有任何連接的資源政策，則會在實驗期間建立資源政策，並在實驗結束時自動刪除。否則，故障陳述式會插入現有政策中，而不會對現有政策陳述式進行任何額外的修改。然後，故障陳述式會在實驗結束時從政策中移除。

目標 Amazon DynamoDB MRSC 全域資料表需支付額外的配額。此配額會強制執行，在 7 天的滾動時段內，任何單一資料表都可能受到超過 5，040 分鐘的損害。

**多區域最終一致 (MREC) 全域資料表**  
下列陳述式將動態附加至目標 DynamoDB MREC 全域資料表的政策：

```
{
   "Statement":[
      {
         "Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
         "Effect":"Deny",
         "Principal":{
            "AWS": "*"
         },
         "Action":[
            "dynamodb:GetItem",
            "dynamodb:PutItem",
            "dynamodb:UpdateItem",
            "dynamodb:DeleteItem",
            "dynamodb:DescribeTable",
            "dynamodb:UpdateTable",
            "dynamodb:Scan",
            "dynamodb:DescribeTimeToLive",
            "dynamodb:UpdateTimeToLive"
         ],
         "Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable",
         "Condition": {
            "DateLessThan": {
              "aws:CurrentTime": "2024-04-10T09:51:41.511Z"
            },
            "ArnEquals": {
                "aws:PrincipalArn": "arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
            }
         }
      }
   ]
}
```

下列陳述式將動態附加至目標 DynamoDB MREC 全域資料表的串流政策：

```
{
   "Statement":[
      {
         "Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
         "Effect":"Deny",
         "Principal":{
            "AWS": "*"
         },
         "Action":[
            "dynamodb:GetRecords",
            "dynamodb:DescribeStream",
            "dynamodb:GetShardIterator"
         ],
         "Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable/stream/2023-08-31T09:50:24.025",
         "Condition": {
            "DateLessThan": {
              "aws:CurrentTime": "2024-04-10T09:51:41.511Z"
            },
            "ArnEquals": {
                "aws:PrincipalArn": "arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
            }
         }
      }
   ]
}
```

如果目標資料表或串流沒有任何連接的資源政策，則會在實驗期間建立資源政策，並在實驗結束時自動刪除。否則，故障陳述式會插入現有政策中，而不會對現有政策陳述式進行任何額外的修改。然後，故障陳述式會在實驗結束時從政策中移除。

**Resource Type (資源類型)**
+ **aws:dynamodb:global-table**

**Parameters**
+ **duration** – 在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `dynamodb:PutResourcePolicy`
+ `dynamodb:DeleteResourcePolicy`
+ `dynamodb:GetResourcePolicy`
+ `dynamodb:DescribeTable`
+ `tag:GetResources`
+ `dynamodb:InjectError` \$1

\$1 只有在您以 MRSC 全域資料表為目標時，才需要 許可

## Amazon Aurora DSQL 動作
<a name="dsql-actions-reference"></a>

AWS FIS 支援下列 Amazon Aurora DSQL 動作。

### aws:dsql:cluster-connection-failure
<a name="cluster-connection-failure"></a>

在指定的持續時間內，在 Aurora DSQL 叢集中建立受控連線失敗，以測試應用程式恢復能力。

**Resource Type (資源類型)**
+ **aws:dsql:cluster**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **percentage** – 將錯誤注入其中的呼叫百分比 (1-100)。

**許可**
+ `dsql:InjectError`
+ `dsql:GetCluster`
+ `tag:GetResources`

若要使用 Aurora DSQL 啟動實驗，請參閱*《Aurora DSQL 使用者指南*》中的[故障注入測試](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/disaster-recovery-resiliency.html#fault-injection-testing.html)。

## Amazon EBS 動作
<a name="ebs-actions-reference"></a>

AWS FIS 支援下列 Amazon EBS 動作。

**Topics**
+ [aws:ebs:pause-volume-io](#pause-volume-io)
+ [aws:ebs:volume-io-latency](#volume-latency-injection)

### aws:ebs:pause-volume-io
<a name="pause-volume-io"></a>

在目標 EBS 磁碟區上暫停 I/O 操作。目標磁碟區必須位於相同的可用區域，且必須連接至建置在 Nitro 系統的執行個體。磁碟區無法連接至 Outpost 上的執行個體。

若要使用 Amazon EC2 主控台啟動實驗，請參閱《Amazon *Amazon EC2*[使用者指南》中的 Amazon EBS 故障測試](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fis.html)。

**Resource Type (資源類型)**
+ **aws:ec2:ebs-volume**

**Parameters**
+ **duration** – 持續時間，從一秒到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘，PT5S 代表五秒，PT6H 代表六小時。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。如果持續時間很短，例如 PT5S，則 I/O 會在指定的持續時間內暫停，但由於初始化實驗所需的時間，可能需要更長的時間才能完成實驗。

**許可**
+ `ec2:DescribeVolumes`
+ `ec2:PauseVolumeIO`
+ `tag:GetResources`

### aws:ebs:volume-io-latency
<a name="volume-latency-injection"></a>

在目標 EBS 磁碟區的 I/O 操作上注入延遲。目標磁碟區必須位於相同的可用區域。磁碟區無法連接至 Outpost 上的執行個體。

若要使用 Amazon EC2 主控台啟動實驗，請參閱《[Amazon EBS 使用者指南》中的 Amazon EBS 上的故障測試](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fis.html)。 **

**Resource Type (資源類型)**
+ **aws:ec2:ebs-volume**

**Parameters**
+ **readIOPercentage** – 注入延遲的讀取 I/O 操作百分比，從 0.1% 到 100.%。這是將在實驗期間受影響的磁碟區上所有讀取 I/O 操作的百分比。預設為 100。
+ **readIOLatencyMilliseconds** – 讀取 I/O 操作上注入的延遲量，以毫秒為單位，從 1 毫秒 (io2 磁碟區） 或 10 毫秒 （非 io2 磁碟區） 到 60 秒。這是將在實驗期間讀取 I/O 指定百分比上觀察到的延遲值。預設為 100。
+ **writeIOPercentage** – 將注入延遲的寫入 I/O 操作百分比，從 0.1% 到 100.%。這是將在實驗期間受影響的磁碟區上所有寫入 I/O 操作的百分比。預設為 100。
+ **writeIOLatencyMilliseconds** – 在寫入 I/O 操作上插入的延遲量，以毫秒為單位，從 1 毫秒 (io2 磁碟區） 或 10 毫秒 （非 io2 磁碟區） 到 60 秒。這是在實驗期間，將在讀取 I/O 的特定百分比上觀察到的延遲值。預設為 100。
+ **duration** – 注入延遲的持續時間，從 1 秒到 12 小時。

**許可**
+ `ec2:DescribeVolumes`
+ `ec2:InjectVolumeIOLatency`
+ `tag:GetResources`

## Amazon EC2 動作
<a name="ec2-actions-reference"></a>

AWS FIS 支援下列 Amazon EC2 動作。

**Topics**
+ [aws:ec2:api-insufficient-instance-capacity-error](#api-ice)
+ [aws:ec2:asg-insufficient-instance-capacity-error](#asg-ice)
+ [aws:ec2:reboot-instances](#reboot-instances)
+ [aws:ec2:send-spot-instance-interruptions](#send-spot-instance-interruptions)
+ [aws:ec2:stop-instances](#stop-instances)
+ [aws:ec2:terminate-instances](#terminate-instances)

AWS FIS 也支援透過 AWS Systems Manager SSM Agent 的錯誤注入動作。Systems Manager 使用 SSM 文件，定義要在 EC2 執行個體上執行的動作。您可以使用自己的文件來插入自訂錯誤，也可以使用預先設定的 SSM 文件。如需詳細資訊，請參閱[搭配 AWS FIS 使用 Systems Manager SSM 文件](actions-ssm-agent.md)。

### aws:ec2:api-insufficient-instance-capacity-error
<a name="api-ice"></a>

對目標 IAM 角色提出的請求注入`InsufficientInstanceCapacity`錯誤回應。支援的操作包括 RunInstances、CreateCapacityReservation、StartInstances、CreateFleet 呼叫。不支援在多個可用區域中包含容量查詢的請求。此動作不支援使用資源標籤、篩選條件或參數來定義目標。

對於 Auto Scaling LaunchInstances 操作，InsufficientInstanceCapacity 錯誤會在回應的 `errors` 欄位中傳回，但 Auto Scaling 群組所需的容量仍會更新，允許非同步擴展程序可能啟動執行個體。若要更廣泛地測試 LaunchInstances 的容量處理不足，請考慮將此動作與 搭配使用[aws:ec2:asg-insufficient-instance-capacity-error](#asg-ice)。

**Resource Type (資源類型)**
+ **aws:iam:role**

**Parameters**
+ **duration** – 在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **availabilityZoneIdentifiers** – 可用區域的逗號分隔清單。支援區域 IDs（例如 `"use1-az1, use1-az2"`) 和區域名稱 （例如 `"us-east-1a"`)。
+ **percentage** – 將錯誤注入其中的呼叫百分比 (1-100)。

**許可**
+ `ec2:InjectApiError`條件索引鍵`ec2:FisActionId`值設定為 `aws:ec2:api-insufficient-instance-capacity-error` ，`ec2:FisTargetArns`條件索引鍵設定為目標 IAM 角色。

如需政策範例，請參閱 [範例：使用 的條件索引鍵 `ec2:InjectApiError`](security_iam_id-based-policy-examples.md#security-iam-policy-examples-ec2)。

### aws:ec2:asg-insufficient-instance-capacity-error
<a name="asg-ice"></a>

對目標 Auto Scaling 群組提出的請求注入`InsufficientInstanceCapacity`錯誤回應。此動作僅支援使用啟動範本的 Auto Scaling 群組。若要進一步了解執行個體容量不足錯誤，請參閱 [Amazon EC2 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshooting-launch.html#troubleshooting-launch-capacity)。

**Resource Type (資源類型)**
+ **aws:ec2:autoscaling-group**

**Parameters**
+ **duration** – 在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **availabilityZoneIdentifiers** – 可用區域的逗號分隔清單。支援區域 IDs（例如 `"use1-az1, use1-az2"`) 和區域名稱 （例如 `"us-east-1a"`)。
+ **percentage** - 選用。注入錯誤的目標 Auto Scaling 群組啟動請求的百分比 (1-100)。預設為 100。

**許可**
+ `ec2:InjectApiError`條件索引鍵 ec2：FisActionId 值設定為 `aws:ec2:asg-insufficient-instance-capacity-error` ，`ec2:FisTargetArns`條件索引鍵設定為目標 Auto Scaling 群組。
+ `autoscaling:DescribeAutoScalingGroups`

如需政策範例，請參閱 [範例：使用 的條件索引鍵 `ec2:InjectApiError`](security_iam_id-based-policy-examples.md#security-iam-policy-examples-ec2)。

### aws:ec2:reboot-instances
<a name="reboot-instances"></a>

在目標 EC2 執行個體上執行 Amazon EC2 API 動作 [RebootInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RebootInstances.html)。

**Resource Type (資源類型)**
+ **aws:ec2:instance**

**Parameters**
+ 無

**許可**
+ `ec2:RebootInstances`
+ `ec2:DescribeInstances`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEC2Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html)

### aws:ec2:send-spot-instance-interruptions
<a name="send-spot-instance-interruptions"></a>

中斷目標 Spot 執行個體。在[中斷 Spot 執行個體的兩分鐘前，傳送 Spot 執行個體中斷通知](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#spot-instance-termination-notices)至目標執行個體。中斷時間取決於指定的 **durationBeforeInterruption** 參數。中斷時間兩分鐘後，Spot 執行個體會終止或停止，視其中斷行為而定。在您重新啟動前， AWS FIS 停止的 Spot 執行個體會保持在停止狀態。

動作啟動後，目標執行個體會立即收到 [EC2 執行個體重新平衡建議](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rebalance-recommendations.html)。如果您指定 **durationBeforeInterruption**，重新平衡建議與中斷通知之間可能會有延遲。

如需詳細資訊，請參閱[教學課程：使用 AWS FIS 測試 Spot 執行個體中斷](fis-tutorial-spot-interruptions.md)。或者，若要使用 Amazon EC2 主控台啟動實驗，請參閱《*Amazon EC2 使用者指南*》中的[啟動 Spot 執行個體中斷](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/initiate-a-spot-instance-interruption.html)。

**Resource Type (資源類型)**
+ **aws:ec2:spot-instance**

**Parameters**
+ **durationBeforeInterruption** – 中斷執行個體前的等待時間，從 2 分鐘到 15 分鐘。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT2M 代表兩分鐘。在 AWS FIS 主控台中，您可以輸入分鐘數。

**許可**
+ `ec2:SendSpotInstanceInterruptions`
+ `ec2:DescribeInstances`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEC2Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html)

### aws:ec2:stop-instances
<a name="stop-instances"></a>

在目標 EC2 執行個體上執行 Amazon EC2 API 動作 [StopInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html)。

**Resource Type (資源類型)**
+ **aws:ec2:instance**

**Parameters**
+ **startInstancesAfterDuration** - 選用。啟動執行個體前的等待時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。如果執行個體具有加密的 EBS 磁碟區，您必須將 AWS FIS 許可授予用於加密磁碟區的 KMS 金鑰，或將實驗角色新增至 KMS 金鑰政策。
+ **completeIfInstancesTerminated** - 選用。如果為 true，且如果 `startInstancesAfterDuration` 也是 true，則當 FIS 外部的個別請求終止目標 EC2 執行個體且無法重新啟動時，此動作將不會失敗。例如，在此動作完成之前，Auto Scaling 群組可能會在其控制下終止已停止的 EC2 執行個體。預設值為 false。

**許可**
+ `ec2:StopInstances`
+ `ec2:StartInstances`
+ `ec2:DescribeInstances` - 選用。使用 **completeIfInstancesTerminated** 時為必要，以在動作結束時驗證執行個體狀態。
+ `kms:CreateGrant` - 選用。使用 **startInstancesAfterDuration** 重新啟動具有加密磁碟區的執行個體時需要。

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEC2Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html)

### aws:ec2:terminate-instances
<a name="terminate-instances"></a>

在目標 EC2 執行個體上執行 Amazon EC2 API 動作 [TerminateInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html)。

**Resource Type (資源類型)**
+ **aws:ec2:instance**

**Parameters**
+ 無

**許可**
+ `ec2:TerminateInstances`
+ `ec2:DescribeInstances`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEC2Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html)

## Amazon ECS 動作
<a name="ecs-actions-reference"></a>

AWS FIS 支援下列 Amazon ECS 動作。

**Topics**
+ [aws:ecs:drain-container-instances](#drain-container-instances)
+ [aws:ecs:stop-task](#stop-task)
+ [aws:ecs:task-cpu-stress](#task-cpu-stress)
+ [aws:ecs:task-io-stress](#task-io-stress)
+ [aws:ecs:task-kill-process](#task-kill-process)
+ [aws:ecs:task-network-blackhole-port](#task-network-blackhole-port)
+ [aws:ecs:task-network-latency](#task-network-latency)
+ [aws:ecs:task-network-packet-loss](#task-network-packet-loss)

### aws:ecs:drain-container-instances
<a name="drain-container-instances"></a>

執行 Amazon ECS API 動作 [UpdateContainerInstancesState](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateContainerInstancesState.html)，以耗盡目標叢集上基礎 Amazon EC2 執行個體的指定百分比。

**Resource Type (資源類型)**
+ **aws:ecs:cluster**

**Parameters**
+ **drainagePercentage** – 百分比 (1-100)。
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `ecs:DescribeClusters`
+ `ecs:UpdateContainerInstancesState`
+ `ecs:ListContainerInstances`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorECSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorECSAccess.html)

### aws:ecs:stop-task
<a name="stop-task"></a>

執行 Amazon ECS API 動作 [StopTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StopTask.html) 以停止目標任務。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ 無

**許可**
+ `ecs:DescribeTasks`
+ `ecs:ListTasks`
+ `ecs:StopTask`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorECSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorECSAccess.html)

### aws:ecs:task-cpu-stress
<a name="task-cpu-stress"></a>

對目標任務執行 CPU 應力。使用 [AWSFIS-Run-CPU-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-CPU-Stress/description) SSM 文件。任務必須由 管理 AWS Systems Manager。如需詳細資訊，請參閱[ECS 任務動作](ecs-task-actions.md)。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ **duration** – 壓力測試的持續時間，採用 ISO 8601 格式。
+ **percent** - 選用。目標負載百分比，從 0 （無負載） 到 100 （完全負載）。預設為 100。
+ **workers** - 選用。要使用的應力器數量。預設值為 0，它使用所有壓力器。
+ **installDependencies** - 選用。如果此值為 `True`，則 Systems Manager 會在尚未安裝 SSM 代理程式的附屬容器上安裝必要的相依性。預設值為 `True`。相依性為 **stress-ng**。

**許可**
+ `ecs:DescribeTasks`
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

### aws:ecs:task-io-stress
<a name="task-io-stress"></a>

對目標任務執行 I/O 壓力。使用 [AWSFIS-Run-IO-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-IO-Stress/description) SSM 文件。任務必須由 管理 AWS Systems Manager。如需詳細資訊，請參閱[ECS 任務動作](ecs-task-actions.md)。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ **duration** – 壓力測試的持續時間，採用 ISO 8601 格式。
+ **percent** - 選用。檔案系統上要在壓力測試期間使用的可用空間百分比。預設值為 80%。
+ **workers** - 選用。工作程序數量。工作者會執行循序、隨機和記憶體映射的讀取/寫入操作、強制同步和快取捨棄的混合。多個子程序會對相同的檔案執行不同的 I/O 操作。預設為 1。
+ **installDependencies** - 選用。如果此值為 `True`，則 Systems Manager 會在尚未安裝 SSM 代理程式的附屬容器上安裝必要的相依性。預設值為 `True`。相依性為 **stress-ng**。

**許可**
+ `ecs:DescribeTasks`
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

### aws:ecs:task-kill-process
<a name="task-kill-process"></a>

使用 **killall**命令停止任務中指定的程序。使用 [AWSFIS-Run-Kill-Process](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Kill-Process/description) SSM 文件。任務定義必須`pidMode`設定為 `task`。任務必須由 管理 AWS Systems Manager。如需詳細資訊，請參閱[ECS 任務動作](ecs-task-actions.md)。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ **processName** – 要停止的程序名稱。
+ **signal** - 選用。隨 命令一起傳送的訊號。可能的值為 `SIGTERM`（接收者可以選擇忽略） 和 `SIGKILL`（無法忽略）。預設值為 `SIGTERM`。
+ **installDependencies** – 選用。如果此值為 `True`，則 Systems Manager 會在尚未安裝 SSM 代理程式的附屬容器上安裝必要的相依性。預設值為 `True`。相依性為 **killall**。

**許可**
+ `ecs:DescribeTasks`
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

### aws:ecs:task-network-blackhole-port
<a name="task-network-blackhole-port"></a>

使用 [Amazon ECS 故障注入端點](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fault-injection.html)，捨棄指定通訊協定和連接埠的傳入或傳出流量。使用 [AWSFIS-Run-Network-Blackhole-Port-ECS](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Blackhole-Port-ECS/description) SSM 文件。任務定義必須`pidMode`設定為 `task`。任務必須由 管理 AWS Systems Manager。您無法在任務定義`bridge`中`networkMode`將 設定為 。如需詳細資訊，請參閱[ECS 任務動作](ecs-task-actions.md)。

當 `useEcsFaultInjectionEndpoints` 設為 時`false`，故障會使用 `iptables`工具，並使用 [AWSFIS-Run-Network-Blackhole-Port](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Blackhole-Port/description) SSM 文件。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ **duration** – 測試持續時間，採用 ISO 8601 格式。
+ **port** – 連接埠號碼。
+ **trafficType** – 流量的類型。可能的值為 `ingress` 和 `egress`。
+ **protocol** - 選用。通訊協定。可能的值為 `tcp` 和 `udp`。預設值為 `tcp`。
+ **installDependencies** – 選用。如果此值為 `True`，則 Systems Manager 會在尚未安裝 SSM 代理程式的附屬容器上安裝必要的相依性。預設值為 `True`。相依性為 **atd**、 **curl-minimal****dig**和 **jq**。
+ **useEcsFaultInjectionEndpoints** - 選用。如果設定為 true，則會使用 Amazon ECS 故障注入 APIs。預設值為 false。

**許可**
+ `ecs:DescribeTasks`
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

### aws:ecs:task-network-latency
<a name="task-network-latency"></a>

使用 [Amazon ECS Fault Injection 端點](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fault-injection.html) ，將輸出流量的延遲和抖動新增至網路界面。使用 [AWSFIS-Run-Network-Latency-ECS](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Latency-ECS/description) SSM 文件。任務定義必須`pidMode`設定為 `task`。任務必須由 管理 AWS Systems Manager。您無法在任務定義`bridge`中`networkMode`將 設定為 。如需詳細資訊，請參閱[ECS 任務動作](ecs-task-actions.md)。

當 `useEcsFaultInjectionEndpoints` 設定為 時`false`，故障會使用 `tc`工具，並使用 [AWSFIS-Run-Network-Latency-Sources](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Latency-Sources/description) SSM 文件。

使用 `flowsPercent` 參數在一定百分比的連線上新增延遲。若要使用 `flowsPercent` 參數，ECS Agent 版本應為 `1.100.0`或更新版本。

若要在 `sources` 參數中使用 AZ 名稱或 AZ IDs，動作的所有目標都必須位於相同的 VPC 上。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ **duration** – 測試持續時間，採用 ISO 8601 格式。
+ **delayMilliseconds** - 選用。延遲，以毫秒為單位。預設值為 200。
+ **jitterMilliseconds** - 選用。抖動，以毫秒為單位。預設為 10。
+ **flowsPercent** - 選用。將受到動作影響的網路流程百分比。預設 為 100%。
+ **sources** - 選用。來源，以逗號分隔，不含空格。可能的值為：IPv4 地址、IPv4 CIDR 區塊、網域名稱、AZ 名稱 (us-east-1a)、AZ ID (use1-az1)`DYNAMODB`、ALL、 和 `S3`。如果您指定 `DYNAMODB`或 `S3`，這僅適用於目前區域中的區域端點。預設值為 ALL，這符合所有 IPv4 流量。
+ **installDependencies** - 選用。如果此值為 `True`，則 Systems Manager 會在尚未安裝 SSM 代理程式的附屬容器上安裝必要的相依性。預設值為 `True`。相依性為 **atd**、**dig**、 **curl-minimal****jq**和 **lsof**。
+ **useEcsFaultInjectionEndpoints** - 選用。如果設定為 true，則會使用 Amazon ECS 故障注入 APIs。預設值為 false。

**許可**
+ `ecs:DescribeTasks`
+ `ecs:DescribeContainerInstances`
+ `ec2:DescribeInstances`
+ `ec2:DescribeSubnets`
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

### aws:ecs:task-network-packet-loss
<a name="task-network-packet-loss"></a>

使用 [Amazon ECS 故障注入端點](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fault-injection.html)，將封包遺失新增至網路界面，以將流量輸出至特定來源。使用 [AWSFIS-Run-Network-Packet-Loss-ECS](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Packet-Loss-ECS/description) SSM 文件。任務定義必須`pidMode`設定為 `task`。任務必須由 管理 AWS Systems Manager。您無法在任務定義`bridge`中`networkMode`將 設定為 。如需詳細資訊，請參閱[ECS 任務動作](ecs-task-actions.md)。

當 `useEcsFaultInjectionEndpoints` 設定為 時`false`，故障會使用 `tc`工具，並使用 [AWSFIS-Run-Network-Packet-Loss-Sources](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Packet-Loss-Sources/description) SSM 文件。

使用 `flowsPercent` 參數在一定百分比的連線上注入封包遺失。若要使用 `flowsPercent` 參數，ECS Agent 版本應為 `1.100.0`或更新版本。

若要在 `sources` 參數中使用 AZ 名稱或 AZ IDs，動作的所有目標都必須位於相同的 VPC 上。

**Resource Type (資源類型)**
+ **aws:ecs:task**

**Parameters**
+ **duration** – 測試持續時間，採用 ISO 8601 格式。
+ **lossPercent** - 選用。封包遺失的百分比。預設值為 7%。
+ **flowsPercent** - 選用。將受到動作影響的網路流程百分比。預設 為 100%。
+ **sources** - 選用。來源，以逗號分隔，不含空格。可能的值為：IPv4 地址、IPv4 CIDR 區塊、網域名稱、AZ 名稱 (us-east-1a)、AZ ID (use1-az1)`DYNAMODB`、ALL、 和 `S3`。如果您指定 `DYNAMODB`或 `S3`，這僅適用於目前區域中的區域端點。預設值為 ALL，這符合所有 IPv4 流量。
+ **installDependencies** - 選用。如果此值為 `True`，則 Systems Manager 會在尚未安裝 SSM 代理程式的附屬容器上安裝必要的相依性。預設值為 `True`。相依性為 **atd**、**dig**、 **curl-minimal****jq**和 **lsof**。
+ **useEcsFaultInjectionEndpoints** - 選用。如果設定為 true，則會使用 Amazon ECS 故障注入 APIs。預設值為 false。

**許可**
+ `ecs:DescribeTasks`
+ `ecs:DescribeContainerInstances`
+ `ec2:DescribeInstances`
+ `ec2:DescribeSubnets`
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

## Amazon EKS 動作
<a name="eks-actions-reference"></a>

AWS FIS 支援下列 Amazon EKS 動作。

**Topics**
+ [aws:eks:inject-kubernetes-custom-resource](#inject-kubernetes-custom-resource)
+ [aws:eks:pod-cpu-stress](#pod-cpu-stress)
+ [aws:eks:pod-delete](#pod-delete)
+ [aws:eks:pod-io-stress](#pod-io-stress)
+ [aws:eks:pod-memory-stress](#pod-memory-stress)
+ [aws:eks:pod-network-blackhole-port](#pod-network-blackhole-port)
+ [aws:eks:pod-network-latency](#pod-network-latency)
+ [aws:eks:pod-network-packet-loss](#pod-network-packet-loss)
+ [aws:eks:terminate-nodegroup-instances](#terminate-nodegroup-instance)

### aws:eks:inject-kubernetes-custom-resource
<a name="inject-kubernetes-custom-resource"></a>

在單一目標叢集上執行 ChaosMesh 或 Litmus 實驗。您必須在目標叢集上安裝 ChaosMesh 或 Litmus。

當您建立實驗範本並定義類型 的目標時`aws:eks:cluster`，您必須將此動作設為單一 Amazon Resource Name (ARN)。此動作不支援使用資源標籤、篩選條件或參數來定義目標。

安裝 ChaosMesh 時，您必須指定適當的容器執行時間。從 Amazon EKS 1.23 版開始，預設執行時間從 Docker 變更為 **containerd**。從 1.24 版開始，Docker 已移除。

**Resource Type (資源類型)**
+ **aws:eks:cluster**

**Parameters**
+ **kubernetesApiVersion** – [Kubernetes 自訂資源](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)的 API 版本。可能的值為 `chaos-mesh.org/v1alpha1` \$1 `litmuschaos.io/v1alpha1`。
+ **kubernetesKind** – Kubernetes 自訂資源類型。值取決於 API 版本。
  + `chaos-mesh.org/v1alpha1` – 可能的值為 `AWSChaos` \$1 `DNSChaos` \$1 `GCPChaos` \$1 `HTTPChaos` \$1 `IOChaos` \$1 `JVMChaos` \$1 `KernelChaos` \$1 `NetworkChaos` \$1 `PhysicalMachineChaos` \$1 `PodChaos` \$1 `PodHttpChaos` \$1 `PodIOChaos` \$1 `PodNetworkChaos` `Schedule` \$1 \$1 \$1 `StressChaos` \$1 \$1 `TimeChaos` \$1
  + `litmuschaos.io/v1alpha1` – 可能的值為 `ChaosEngine`。
+ **kubernetesNamespace** – [Kubernetes 命名空間](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)。
+ **kubernetesSpec** – Kubernetes 自訂資源的 `spec`區段，採用 JSON 格式。
+ **maxDuration** – 自動化執行允許的完成時間上限，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**  
此動作不需要 AWS Identity and Access Management (IAM) 許可。使用此動作所需的許可是由 Kubernetes 使用 RBAC 授權來控制。如需詳細資訊，請參閱官方 [Kubernetes 文件中的使用 RBAC 授權](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)。如需 Chaos Mesh 的詳細資訊，請參閱[官方的 Chaos Mesh 文件](https://chaos-mesh.org/docs/)。如需 Litmus 的詳細資訊，請參閱[官方 Litmus 文件](https://docs.litmuschaos.io/docs/introduction/what-is-litmus/)。

### aws:eks:pod-cpu-stress
<a name="pod-cpu-stress"></a>

在目標 Pod 上執行 CPU 壓力。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **duration** – 壓力測試的持續時間，採用 ISO 8601 格式。
+ **percent** - 選用。目標負載百分比，從 0 （無負載） 到 100 （完全負載）。預設為 100。
+ **workers** - 選用。要使用的應力器數量。預設值為 0，它使用所有壓力器。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之故障協調 Pod 的 Kubernetes 註釋。
+ **fisPodSecurityPolicy** - 選用。用於 FIS 和暫時性容器所建立之故障協調 Pod 的 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)政策。可能的值為 `privileged`、 `baseline`和 `restricted`。此動作與所有政策層級相容。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:pod-delete
<a name="pod-delete"></a>

刪除目標 Pod。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **gracePeriodSeconds** - 選用。等待 Pod 正常終止的持續時間，以秒為單位。如果值為 0，我們會立即執行動作。如果值為 nil，我們使用 Pod 的預設寬限期。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之故障協調 Pod 的 Kubernetes 註釋。
+ **fisPodSecurityPolicy** - 選用。用於 FIS 和暫時性容器所建立之故障協同運作 Pod 的 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)政策。可能的值為 `privileged`、 `baseline`和 `restricted`。此動作與所有政策層級相容。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:pod-io-stress
<a name="pod-io-stress"></a>

在目標 Pod 上執行 I/O 壓力。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **duration** – 壓力測試的持續時間，採用 ISO 8601 格式。
+ **workers** - 選用。工作程序數量。工作者會執行循序、隨機和記憶體映射的讀取/寫入操作、強制同步和快取捨棄的混合。多個子程序會對相同的檔案執行不同的 I/O 操作。預設為 1。
+ **percent** - 選用。檔案系統上要在壓力測試期間使用的可用空間百分比。預設值為 80%。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之故障協調 Pod 的 Kubernetes 註釋。
+ **fisPodSecurityPolicy** - 選用。用於 FIS 和暫時性容器所建立之故障協調 Pod 的 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)政策。可能的值為 `privileged`、 `baseline`和 `restricted`。此動作與所有政策層級相容。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:pod-memory-stress
<a name="pod-memory-stress"></a>

在目標 Pod 上執行記憶體壓力。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **duration** – 壓力測試的持續時間，採用 ISO 8601 格式。
+ **workers** - 選用。要使用的應力器數量。預設為 1。
+ **percent** - 選用。壓力測試期間要使用的虛擬記憶體百分比。預設值為 80%。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之故障協調 Pod 的 Kubernetes 註釋。
+ **fisPodSecurityPolicy** - 選用。用於 FIS 和暫時性容器所建立之故障協調 Pod 的 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)政策。可能的值為 `privileged`、 `baseline`和 `restricted`。此動作與所有政策層級相容。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:pod-network-blackhole-port
<a name="pod-network-blackhole-port"></a>

捨棄指定通訊協定和連接埠的傳入或傳出流量。僅與 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)`privileged`政策相容。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **duration** – 測試持續時間，採用 ISO 8601 格式。
+ **protocol** – 通訊協定。可能的值為 `tcp` 和 `udp`。
+ **trafficType** – 流量的類型。可能的值為 `ingress` 和 `egress`。
+ **port** – 連接埠號碼。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前，可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 註釋。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:pod-network-latency
<a name="pod-network-latency"></a>

針對進出特定來源的流量，使用 **tc**工具將延遲和抖動新增至網路界面。僅與 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)`privileged`政策相容。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

使用 `flowsPercent` 參數在一定百分比的連線上新增延遲。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **duration** – 測試持續時間，採用 ISO 8601 格式。
+ **interface** - 選用。網路界面，以逗號分隔。支援 ALL 和 DEFAULT 值。預設值為 `DEFAULT`，其將鎖定作業系統的主要網路介面。
+ **delayMilliseconds** - 選用。延遲，以毫秒為單位。預設值為 200。
+ **jitterMilliseconds** - 選用。抖動，以毫秒為單位。預設為 10。
+ **flowsPercent** - 選用。將受到動作影響的網路流程百分比。預設 為 100%。
+ **sources** - 選用。來源，以逗號分隔，不含空格。可能的值為：IPv4 地址、IPv4 CIDR 區塊、網域名稱、AZ 名稱 (us-east-1a)、AZ ID (use1-az1)`DYNAMODB`、ALL、 和 `S3`。如果您指定 `DYNAMODB`或 `S3`，這僅適用於目前區域中的區域端點。對於網域名稱，會嘗試 10 次 DNS 解析來收集 IP 地址。由於 DNS 負載平衡和輪換，此動作可能不會損害網域可解析的所有可能 IP 地址。預設值為 ALL，符合所有 IPv4 流量。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前，可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 註釋。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:pod-network-packet-loss
<a name="pod-network-packet-loss"></a>

使用 **tc**工具將封包遺失新增至網路介面。僅與 [Kubernetes 安全標準](https://kubernetes.io/docs/concepts/security/pod-security-standards/)`privileged`政策相容。如需詳細資訊，請參閱[EKS Pod 動作](eks-pod-actions.md)。

使用 `flowsPercent` 參數在一定百分比的連線上注入封包遺失。

**Resource Type (資源類型)**
+ **aws:eks:pod**

**Parameters**
+ **duration** – 測試持續時間，採用 ISO 8601 格式。
+ **interface** - 選用。網路界面，以逗號分隔。支援 ALL 和 DEFAULT 值。預設值為 `DEFAULT`，其將鎖定作業系統的主要網路介面。
+ **lossPercent** - 選用。封包遺失的百分比。預設值為 7%。
+ **flowsPercent** - 選用。將受到動作影響的網路流程百分比。預設 為 100%。
+ **sources** - 選用。來源，以逗號分隔，不含空格。可能的值為：IPv4 地址、IPv4 CIDR 區塊、網域名稱、AZ 名稱 (us-east-1a)、AZ ID (use1-az1)`DYNAMODB`、ALL、 和 `S3`。如果您指定 `DYNAMODB`或 `S3`，這僅適用於目前區域中的區域端點。對於網域名稱，會嘗試 10 次 DNS 解析來收集 IP 地址。由於 DNS 負載平衡和輪換，此動作可能不會損害網域可解析的所有可能 IP 地址。預設值為 ALL，符合所有 IPv4 流量。
+ **kubernetesServiceAccount** – Kubernetes 服務帳戶。如需必要許可的詳細資訊，請參閱[設定 Kubernetes 服務帳戶](eks-pod-actions.md#configure-service-account)。
+ **fisPodContainerImage** - 選用。用來建立故障注入器 Pod 的容器映像。預設為使用 提供的映像 AWS FIS。如需詳細資訊，請參閱[Pod 容器映像](eks-pod-actions.md#eks-pod-container-images)。
+ **maxErrorsPercent** – 選用。在故障注入失敗之前，可能失敗的目標百分比。預設值為 0。
+ **fisPodLabels** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 標籤。
+ **fisPodAnnotations** - 選用。連接至 FIS 建立之錯誤協同運作 Pod 的 Kubernetes 註釋。

**許可**
+ `eks:DescribeCluster`
+ `ec2:DescribeSubnets`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

### aws:eks:terminate-nodegroup-instances
<a name="terminate-nodegroup-instance"></a>

在目標節點群組上執行 Amazon EC2 API 動作 [TerminateInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html)。僅與 Amazon EKS 受管節點群組相容。不支援自我管理節點群組。如需詳細資訊，請參閱 [EKS 管理運算](https://docs.aws.amazon.com/eks/latest/userguide/eks-compute.html)。

**Resource Type (資源類型)**
+ **aws:eks:nodegroup**

**Parameters**
+ **instanceTerminationPercentage** – 要終止的執行個體百分比 (1-100)。

**許可**
+ `ec2:DescribeInstances`
+ `ec2:TerminateInstances`
+ `eks:DescribeNodegroup`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html)

## Amazon ElastiCache 動作
<a name="elasticache-actions-reference"></a>

AWS FIS 支援下列 ElastiCache 動作。

### aws:elasticache:replicationgroup-interrupt-az-power
<a name="replicationgroup-interrupt-az-power"></a>

針對已啟用異地同步備份的目標 ElastiCache 複寫群組，中斷指定可用區域中節點的電源。每個複寫群組一次只能影響一個可用區域。當主要節點成為目標時，具有最小複寫延遲的對應僅供讀取複本會提升為主要節點。在此動作期間，指定可用區域中的僅供讀取複本替換會遭到封鎖，這表示目標複寫群組會以較低的容量運作。此動作的目標同時支援 Redis 和 Valkey 引擎。動作不支援「無伺服器」部署選項。

**Resource Type (資源類型)**
+ **aws:elasticache:replicationgroup**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `elasticache:InterruptClusterAzPower`
+ `elasticache:DescribeReplicationGroups`
+ `tag:GetResources`

**注意**  
ElastiCache 中斷 AZ 電源動作現在支援所有複寫群組類型，包括 Valkey 和 Redis。為了更好地代表此功能，已重新命名 動作。如果您目前正在使用 `aws:elasticache:interrupt-cluster-az-power`，我們建議您遷移至新動作`aws:elasticache:replicationgroup-interrupt-az-power`，以利用最新的功能。

## Amazon Kinesis Data Streams 動作
<a name="aws-kinesis-actions"></a>

Amazon Kinesis Data Streams 支援下列 Kinesis 動作。

**Topics**
+ [aws:kinesis:stream-provisioned-throughput-exception](#throughput-exception)
+ [aws:kinesis:stream-expired-iterator-exception](#iterator-exception)

### aws:kinesis:stream-provisioned-throughput-exception
<a name="throughput-exception"></a>

對目標 Kinesis Data Streams 的請求注入`ProvisionedThroughputExceededException`錯誤回應。支援的操作包括：`GetRecords`、`PutRecord`、 `GetShardIterator`和 `PutRecords`。

**Resource Type (資源類型)**
+ ****aws:kinesis:stream****

**Parameters**
+ duration**** – 持續時間，範圍從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **百分比** – 要注入故障的呼叫百分比 (1-100)。

**許可**
+ `kinesis:InjectApiError`

### aws:kinesis:stream-expired-iterator-exception
<a name="iterator-exception"></a>

為以指定 Kinesis Data Streams 為目標的`GetRecords`呼叫注入`ExpiredIteratorException`錯誤回應。

**Resource Type (資源類型)**
+ ******aws:kinesis:stream******

**Parameters**
+ duration**** – 持續時間，範圍從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **百分比** – 要注入故障的呼叫百分比 (1-100)。

**許可**
+ `kinesis:InjectApiError`

## AWS Lambda 動作
<a name="aws-lambda-actions-reference"></a>

AWS Lambda 支援下列 Lambda 動作

**Topics**
+ [aws:lambda:invocation-add-delay](#invocation-add-delay)
+ [aws:lambda:invocation-error](#invocation-error)
+ [aws:lambda:invocation-http-integration-response](#invocation-http-integration-response)

### aws:lambda:invocation-add-delay
<a name="invocation-add-delay"></a>



在您指定的幾毫秒內延遲啟動函數。此動作的效果類似於 Lambda 冷啟動，但額外的時間會花費在計費持續時間中，並套用至所有執行環境，而非僅影響新的執行環境。這表示您可能會同時遇到 Lambda 冷啟動和此延遲。透過將延遲值設定為高於 Lambda 函數上設定的逾時，此動作也會提供高保真度逾時事件的存取權。

**Resource Type (資源類型)**
+ **aws:lambda:function**

**Parameters**
+ **duration** – 動作持續的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **invocationPercentage** – 選用。要注入故障的函數調用百分比 (1-100)。預設為 100。
+ **startupDelayMilliseconds** – 選用。在叫用和執行函數程式碼之間等待的時間，以毫秒 (0-900，000) 為單位。預設為 1000。

**許可**
+ `s3:PutObject`
+ `s3:DeleteObject`
+ `lambda:GetFunction`
+ `tag:GetResources`

### aws:lambda:invocation-error
<a name="invocation-error"></a>



將 Lambda 函數調用標記為失敗。此動作適用於測試錯誤處理機制，例如警示和重試組態。使用此動作時，您可以選擇是否要在傳回錯誤之前執行函數程式碼。

**Resource Type (資源類型)**
+ **aws:lambda:function**

**Parameters**
+ **duration** – 動作持續的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **invocationPercentage** – 選用。要注入故障的函數調用百分比 (1-100)。預設為 100。
+ **preventExecution** – 如果值為 true，則動作會傳回錯誤而不執行函數。

**許可**
+ `s3:PutObject`
+ `s3:DeleteObject`
+ `lambda:GetFunction`
+ `tag:GetResources`

### aws:lambda:invocation-http-integration-response
<a name="invocation-http-integration-response"></a>



修改 函數的行為。您可以選擇內容類型和 HTTP 回應程式碼，以支援與 ALB、API-GW 和 VPC Lattice 的整合。若要啟用選擇性影響上游或下游整合，您可以選擇是否直接傳回修改後的回應，還是在函數完成執行後執行函數並取代回應。

**Resource Type (資源類型)**
+ **aws:lambda:function**

**Parameters**
+ **contentTypeHeader** – 從 Lambda 函數傳回的 HTTP 內容類型標頭字串值。
+ **duration** – 動作持續的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **invocationPercentage** – 選用。要注入故障的函數調用百分比 (1-100)。預設為 100。
+ **preventExecution** – 如果值為 true，則動作將傳回回應而不執行函數。
+ **statusCode** – 從 Lambda 函數傳回的 HTTP 狀態碼 (000-999) 值。

**許可**
+ `s3:PutObject`
+ `s3:DeleteObject`
+ `lambda:GetFunction`
+ `tag:GetResources`

## Amazon MemoryDB 動作
<a name="memorydb-actions-reference"></a>

AWS FIS 支援下列 MemoryDB 動作。

### aws:memorydb:multi-region-cluster-pause-replication
<a name="multi-region-cluster-pause-replication"></a>

暫停一個區域叢集與多區域叢集內所有其他區域叢集之間的複寫。目標區域叢集是執行 FIS 實驗的區域中的叢集。當複寫暫停時，多區域叢集無法更新。動作完成後，多區域叢集可能需要幾分鐘的時間才能返回可用狀態。若要進一步了解 Amazon MemoryDB 多區域，請參閱 [Amazon MemoryDB 多區域開發人員指南](https://docs.aws.amazon.com/memorydb/latest/devguide/multi-region.html)。如需區域可用性，請參閱 [MemoryDB 多區域先決條件和限制](https://docs.aws.amazon.com/memorydb/latest/devguide/multi-region.prereq.html)。

**Resource Type (資源類型)**
+ **aws:memorydb:multi-region-cluster**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `memorydb:DescribeMultiRegionClusters`
+ `memorydb:PauseMultiRegionClusterReplication`
+ `tag:GetResources`

## 網路動作
<a name="network-actions-reference"></a>

AWS FIS 支援下列網路動作。

**Topics**
+ [aws:network:disrupt-connectivity](#disrupt-connectivity)
+ [aws:network:route-table-disrupt-cross-region-connectivity](#route-table-disrupt-cross-region-connectivity)
+ [aws:network:transit-gateway-disrupt-cross-region-connectivity](#transit-gateway-disrupt-cross-region-connectivity)
+ [aws:network:disrupt-vpc-endpoint](#disrupt-vpc-endpoint)

### aws:network:disrupt-connectivity
<a name="disrupt-connectivity"></a>

透過暫時複製與目標子網路相關聯的原始網路存取控制清單 （網路 ACL)，拒絕至目標子網路的指定流量。FIS 會將拒絕規則新增至複製的網路 ACL，其具有標記 managedbyFIS=true，並在動作期間將其與子網路建立關聯。動作完成時，FIS 會刪除複製的網路 ACL，並還原原始網路 ACL 關聯。

**Resource Type (資源類型)**
+ **aws:ec2:subnet**

**Parameters**
+ **scope** – 要拒絕的流量類型。當範圍不是 時`all`，網路 ACLs中的項目數目上限為 20。可能值如下：
  + `all` – 拒絕所有進出子網路的流量。請注意，此選項允許子網路內流量，包括往返子網路中網路介面的流量。
  + `availability-zone` – 拒絕在其他可用區域中往返子網路的 VPC 內流量。VPC 中可設為目標的子網路數目上限為 30。
  + `dynamodb` – 拒絕流量往返目前區域中 DynamoDB 的區域端點。
  + `prefix-list` – 拒絕往返指定字首清單的流量。
  + `s3` – 拒絕往返目前區域中 Amazon S3 區域端點的流量。
  + `s3express` – 拒絕傳入和傳出目標子網路 AZ 中 Amazon S3 Express One Zone 區域端點的流量。目標子網路必須位於目前可使用 S3 Express One Zone AZs 中。如需詳細資訊，請參閱 [S3 Express One Zone 可用區域和區域。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Endpoints.html)
  + `vpc` – 拒絕進出 VPC 的流量。
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **prefixListIdentifier** – 如果範圍為 `prefix-list`，則這是客戶受管字首清單的識別符。您可以指定名稱、ID 或 ARN。字首清單最多可以有 10 個項目。

**許可**
+ `ec2:CreateNetworkAcl` – 使用標記 managedByFIS=true 建立網路 ACL。
+ `ec2:CreateNetworkAclEntry` – 網路 ACL 必須具有標記 managedByFIS=true。
+ `ec2:CreateTags`
+ `ec2:DeleteNetworkAcl` – 網路 ACL 必須具有標記 managedByFIS=true。
+ `ec2:DescribeManagedPrefixLists`
+ `ec2:DescribeNetworkAcls`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcs`
+ `ec2:GetManagedPrefixListEntries`
+ `ec2:ReplaceNetworkAclAssociation`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorNetworkAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorNetworkAccess.html)

### aws:network:route-table-disrupt-cross-region-connectivity
<a name="route-table-disrupt-cross-region-connectivity"></a>

封鎖源自目標子網路且目的地為指定區域的流量。建立路由表，其中包含要隔離的區域的所有路由。若要允許 FIS 建立這些路由表，請將 的 Amazon VPC 配額提高`routes per route table`至 250 （如果`region`參數為 us-east-1，則為 350)，加上現有路由表中的路由數量。

**Resource Type (資源類型)**
+ **aws:ec2:subnet**

**Parameters**
+ `region` – 要隔離的區域程式碼 （例如 eu-west-1)。
+ `duration` – 動作持續的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `ec2:AssociateRouteTable`
+ `ec2:CreateManagedPrefixList` †
+ `ec2:CreateNetworkInterface` †
+ `ec2:CreateRoute` †
+ `ec2:CreateRouteTable` †
+ `ec2:CreateTags` †
+ `ec2:DeleteManagedPrefixList` †
+ `ec2:DeleteNetworkInterface` †
+ `ec2:DeleteRouteTable` †
+ `ec2:DescribeManagedPrefixLists`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:DescribeRouteTables`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcPeeringConnections`
+ `ec2:DescribeVpcs`
+ `ec2:DisassociateRouteTable`
+ `ec2:GetManagedPrefixListEntries`
+ `ec2:ModifyManagedPrefixList` †
+ `ec2:ModifyVpcEndpoint`
+ `ec2:ReplaceRouteTableAssociation`

† 使用標籤 的範圍managedByFIS=true。您不需要管理此標籤。在實驗期間 AWS FIS 新增和移除此標籤。

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorNetworkAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorNetworkAccess.html)

### aws:network:transit-gateway-disrupt-cross-region-connectivity
<a name="transit-gateway-disrupt-cross-region-connectivity"></a>

封鎖來自目的地為指定區域之目標傳輸閘道對等互連附件的流量。

**Resource Type (資源類型)**
+ **aws:ec2:transit-gateway**

**Parameters**
+ `region` – 要隔離的區域程式碼 （例如 eu-west-1)。
+ `duration` – 動作持續的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `ec2:AssociateTransitGatewayRouteTable`
+ `ec2:DescribeTransitGatewayAttachments`
+ `ec2:DescribeTransitGatewayPeeringAttachments`
+ `ec2:DescribeTransitGateways`
+ `ec2:DisassociateTransitGatewayRouteTable`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorNetworkAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorNetworkAccess.html)

### aws:network:disrupt-vpc-endpoint
<a name="disrupt-vpc-endpoint"></a>

封鎖目標介面 VPC 端點的傳入和傳出流量。FIS 會建立具有空白規則的受管安全群組，並將目標 VPC 端點的安全群組暫時取代為此受管安全群組。如果在動作執行期間修改目標資源，動作將會失敗，且資源將不會還原至其實驗前狀態。此外，如果在動作執行期間修改 FIS 受管安全群組，則 FIS 不會將其刪除。

**Resource Type (資源類型)**
+ **aws:ec2:vpc-endpoint**

**Parameters**
+ `duration` – 動作持續的時間長度。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `ec2:DescribeVpcEndpoints`
+ `ec2:DescribeSecurityGroups`
+ `ec2:ModifyVpcEndpoint`
+ `ec2:CreateSecurityGroup`
+ `ec2:DeleteSecurityGroup`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:CreateTags`
+ `vpce:AllowMultiRegion` \$1

\$1 只有在您以跨區域 VPC 端點為目標時，才需要 許可

## Amazon RDS 動作
<a name="rds-actions-reference"></a>

AWS FIS 支援下列 Amazon RDS 動作。

**Topics**
+ [aws:rds:failover-db-cluster](#failover-db-cluster)
+ [aws:rds:reboot-db-instances](#reboot-db-instances)

### aws:rds:failover-db-cluster
<a name="failover-db-cluster"></a>

在目標 Aurora 資料庫叢集上執行 Amazon RDS API 動作 [FailoverDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_FailoverDBCluster.html)。支援 RDS 叢集和 DocumentDB 叢集。

**Resource Type (資源類型)**
+ **aws:rds:cluster**

**Parameters**
+ 無

**許可**
+ `rds:FailoverDBCluster`
+ `rds:DescribeDBClusters`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorRDSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorRDSAccess.html)

### aws:rds:reboot-db-instances
<a name="reboot-db-instances"></a>

在目標資料庫執行個體上執行 Amazon RDS API 動作 [RebootDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RebootDBInstance.html)。支援 RDS 叢集和 DocumentDB 叢集。

**Resource Type (資源類型)**
+ **aws:rds:db**

**Parameters**
+ **forceFailover** - 選用。如果值為 true，且執行個體為異地同步備份，則 會強制從一個可用區域容錯移轉到另一個可用區域。預設值為 false。

**許可**
+ `rds:RebootDBInstance`
+ `rds:DescribeDBInstances`
+ `tag:GetResources`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorRDSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorRDSAccess.html)

## Amazon S3 動作
<a name="s3-actions-reference-fis"></a>

AWS FIS 支援下列 Amazon S3 動作。

**Topics**
+ [aws:s3:bucket-pause-replication](#bucket-pause-replication)

### aws:s3:bucket-pause-replication
<a name="bucket-pause-replication"></a>

 暫停從目標來源儲存貯體到目的地儲存貯體的複寫。目的地儲存貯體可以位於不同的 AWS 區域，也可以位於與來源儲存貯體相同的區域內。在動作開始後，現有的物件最多可繼續複寫一小時。此動作僅支援以標籤為目標。若要進一步了解 Amazon S3 複寫，請參閱 [Amazon S3 使用者指南](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html)。

**Resource Type (資源類型)**
+ **aws:s3:bucket**

**Parameters**
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。
+ **region** – 目的地儲存貯體所在的 AWS 區域。
+ **destinationBuckets** - 選用。以逗號分隔的目的地 S3 儲存貯體清單 (S3 儲存貯體）。
+ **prefixes** - 選用。以逗號分隔的 S3 物件金鑰字首清單與複寫規則篩選條件。目標儲存貯體的複寫規則 （根據字首的篩選條件） 將會暫停。

**許可**
+ `S3:PutReplicationConfiguration` 條件索引鍵`S3:IsReplicationPauseRequest`設定為 `True`
+ `S3:GetReplicationConfiguration` 條件索引鍵`S3:IsReplicationPauseRequest`設定為 `True`
+ `S3:PauseReplication`
+ `S3:ListAllMyBuckets`
+ `tag:GetResources`

如需政策範例，請參閱 [範例：使用 的條件索引鍵 `aws:s3:bucket-pause-replication`](security_iam_id-based-policy-examples.md#security-iam-policy-examples-s3)。

## Systems Manager 動作
<a name="ssm-actions-reference"></a>

AWS FIS 支援下列 Systems Manager 動作。

**Topics**
+ [aws:ssm:send-command](#ssm-send-command)
+ [aws:ssm:start-automation-execution](#ssm-start-automation-execution)

### aws:ssm:send-command
<a name="ssm-send-command"></a>

在目標 EC2 執行個體上執行 Systems Manager API 動作 [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html)。Systems Manager 文件 (SSM 文件） 定義 Systems Manager 在執行個體上執行的動作。如需詳細資訊，請參閱[使用 aws:ssm:send-command動作](actions-ssm-agent.md#specifying-ssm-actions)。

**Resource Type (資源類型)**
+ **aws:ec2:instance**

**Parameters**
+ **documentArn** – 文件的 Amazon Resource Name (ARN)。在 主控台中，如果您從**動作類型**中選擇對應至其中一個[預先設定 AWS FIS SSM 文件](actions-ssm-agent.md#fis-ssm-docs)的值，則會為您完成此參數。
+ **documentVersion** - 選用。文件的版本。如果為空，則預設版本會執行。
+ **documentParameters** – 條件式。文件接受的必要和選用參數。格式是 JSON 物件，其金鑰為字串，值為字串或字串陣列。
+ **duration** – 持續時間，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `ssm:SendCommand`
+ `ssm:ListCommands`
+ `ssm:CancelCommand`

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorEC2Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html)

### aws:ssm:start-automation-execution
<a name="ssm-start-automation-execution"></a>

執行 Systems Manager API 動作 [StartAutomationExecution](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartAutomationExecution.html)。

**Resource Type (資源類型)**
+ 無

**Parameters**
+ **documentArn** – 自動化文件的 Amazon Resource Name (ARN)。
+ **documentVersion** - 選用。文件的版本。如果為空，則預設版本會執行。
+ **documentParameters** – 條件式。文件接受的必要和選用參數。格式是 JSON 物件，其金鑰為字串，值為字串或字串陣列。
+ **maxDuration** – 自動化執行允許的完成時間上限，從一分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT1M 代表一分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `ssm:GetAutomationExecution`
+ `ssm:StartAutomationExecution`
+ `ssm:StopAutomationExecution`
+ `iam:PassRole` - 選用。如果自動化文件擔任角色，則為必要。

**AWS 受管政策**
+ [AWSFaultInjectionSimulatorSSMAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorSSMAccess.html)

## AWS Direct Connect 動作
<a name="directconnect-actions-reference"></a>

AWS FIS 支援下列 AWS Direct Connect 動作。

**Topics**
+ [aws:directconnect:virtual-interface-disconnect](#directconnect-virtual-interface-disconnect)

### aws:directconnect:virtual-interface-disconnect
<a name="directconnect-virtual-interface-disconnect"></a>

透過暫時中斷內部部署網路與目標虛擬介面 (VIFs) 相關聯對等之間的邊界閘道協定 (BGP) 工作階段，測試 AWS Direct Connect 連線的彈性。開始實驗之前，FIS 會驗證實驗中目標的所有 VIFs 都處於「可用」狀態，而且每個 VIF 都有具有「可用」狀態和「上」BGP 狀態的所有 BGP 對等。在實驗期間，目標虛擬界面的 BGP 對等工作階段將處於關閉狀態。如需 Direct Connect 容錯移轉測試的詳細資訊，請參閱 [AWS Direct Connect 文件](https://docs.aws.amazon.com/directconnect/latest/UserGuide/resiliency_failover.html)。

**Resource Type (資源類型)**
+ aws：directconnect：virtual-interface

**Parameters**
+ `duration` – 持續時間，從 10 分鐘到 12 小時。在 AWS FIS API 中，值是 ISO 8601 格式的字串。例如，PT10M 代表十分鐘。在 AWS FIS 主控台中，您可以輸入秒數、分鐘數或小時數。

**許可**
+ `directconnect:DescribeVirtualInterfaces`
+ `directconnect:StartBgpFailoverTest`
+ `directconnect:ListVirtualInterfaceTestHistory`
+ `directconnect:StopBgpFailoverTest`
+ `tag:GetResources`