翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS FIS アクションリファレンス
アクションは、 AWS Fault Injection Service () を使用してターゲットで実行するフォールトインジェクションアクティビティですAWS FIS。 AWS FIS は、 AWS サービス全体で特定のタイプのターゲットに対して事前設定されたアクションを提供します。実験テンプレートにアクションを追加し、実験の実行に使用します。
このリファレンスでは、アクションパラメータや必要な IAM アクセス許可に関する情報など AWS FIS、 の一般的なアクションについて説明します。 AWS FIS コンソールまたは AWS Command Line Interface () の list-actions
AWS FIS アクションの仕組みの詳細については、FIS AWS のアクション「」および「」を参照してくださいFault Injection Service AWS と IAM の連携。
アクション
フォールトインジェクションアクション
AWS FIS では、次のフォールトインジェクションアクションがサポートされています。
アクション
aws:fis:inject-api-internal-error
ターゲットの IAM ロールからのリクエストに内部エラーを挿入します。特定のレスポンスは、各サービスと API によって異なります。詳細については、サービスの SDK および API ドキュメントを参照してください。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API 名前空間。サポートされている値は
ec2および ですkinesis。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2名前空間の API アクションのリストについては、Amazon EC2 API リファレンス」およびAmazon Kinesis Data Streams API リファレンス」を参照してください。
権限
fis:InjectApiInternalError
aws:fis:inject-api-throttle-error
ターゲットの IAM ロールからのリクエストにスロットリングエラーを挿入します。特定のレスポンスは、各サービスと API によって異なります。詳細については、サービスの SDK および API ドキュメントを参照してください。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API 名前空間。サポートされている値は
ec2および ですkinesis。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2名前空間の API アクションのリストについては、Amazon EC2 API リファレンス」およびAmazon Kinesis Data Streams API リファレンス」を参照してください。
権限
fis:InjectApiThrottleError
aws:fis:inject-api-unavailable-error
ターゲットの IAM ロールからのリクエストに Unavailable エラーを挿入します。特定のレスポンスは、各サービスと API によって異なります。詳細については、サービスの SDK および API ドキュメントを参照してください。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API 名前空間。サポートされている値は
ec2および ですkinesis。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2名前空間の API アクションのリストについては、Amazon EC2 API リファレンス」およびAmazon Kinesis Data Streams API リファレンス」を参照してください。
権限
fis:InjectApiUnavailableError
復旧アクション
復旧アクションは、障害発生後のリスクを軽減したり、アプリケーションを保護するために実行されます。
AWS FIS では、次の復旧アクションがサポートされています。
aws:arc:start-zonal-autoshift
サポートされているリソースのトラフィックを、障害の可能性があるアベイラビリティーゾーン (AZ) から自動的に移行し、同じ AWS リージョン内の正常な AZs に再ルーティングします。これにより、FIS を通じてゾーンオートシフトを体験できます。ゾーンオートシフトは、Amazon Application Recovery Controller (ARC) の機能であり、 が AZ の顧客に影響を与える可能性のある障害がある AWS と判断した場合、ユーザーに代わってリソースのトラフィックを AZ から AWS 移行できます。
aws:arc:start-zonal-autoshift アクションを実行すると、 は StartZonalShift、UpdateZonalShift、および CancelZonalShift APIs を使用してゾーンシフト AWS FIS を管理し、これらのリクエストの expiresInフィールドを安全メカニズムとして 1 分に設定します。これにより AWS FIS 、ネットワークの停止やシステムの問題などの予期しないイベントが発生した場合に、 はゾーンシフトをすばやくロールバックできます。ARC コンソールでは、有効期限フィールドが AWS FIS管理され、実際の予想される有効期限はゾーンシフトアクションで指定された期間によって決まります。
リソースタイプ
-
aws:arc:zonal-shift-managed-resource
ゾーンシフトマネージドリソースは、ARC ゾーンオートシフトを有効にできる Amazon EKS クラスター、Amazon EC2 Application and Network Load Balancer、Amazon EC2 Auto Scaling グループなどのリソースタイプです。詳細については、ARC デベロッパーガイドの「サポートされているリソース」と「ゾーンオートシフトリソースの有効化」を参照してください。
パラメータ
duration – トラフィックが移行される時間の長さ。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
availabilityZoneIdentifier – トラフィックはこの AZ から遠ざかります。これは、AZ 名 (us-east-1a) または AZ ID (use1-az1) です。
managedResourceTypes – トラフィックが移行されるリソースタイプ。カンマで区切られます。可能なオプションは、
ASG(Auto Scaling Group)、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
Wait アクション
AWS FIS は、次の待機アクションをサポートします。
aws:fis:wait
AWS FIS 待機アクションを実行します。
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
なし
Amazon CloudWatch アクション
AWS FIS は、次の Amazon CloudWatch アクションをサポートしています。
aws:cloudwatch:assert-alarm-state
指定したアラームが指定したアラーム状態のいずれかになっていることを確認します。
リソースタイプ
-
なし
パラメータ
alarmArns - アラームの ARN (カンマ区切り)。最大 5 つのアラームを指定できます。
alarmStates - アラーム状態 (カンマ区切り)。指定できるアラーム状態は、
OK、ALARM、およびINSUFFICIENT_DATAです。
権限
cloudwatch:DescribeAlarms
Amazon DynamoDB のアクション
AWS FIS は、次の Amazon DynamoDB アクションをサポートしています。
aws:dynamodb:global-table-pause-replication
Amazon DynamoDB マルチリージョンの結果整合性 (MREC) グローバルテーブルレプリケーションを任意のレプリカテーブルに一時停止します。テーブルは、アクションが開始した後、最大 5 分間はレプリケートが続行されることがあります。
このアクションは、マルチリージョンの強力な整合性 (MRSC) グローバルテーブルをサポートしていません。詳細については、「Amazon DynamoDB デベロッパーガイド」の「整合性モード」を参照してください。
次のステートメントは、ターゲット DynamoDB MREC グローバルテーブルのポリシーに動的に追加されます。
{
"Statement":[
{
"Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
"Effect":"Deny",
"Principal":{
"AWS":"arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
},
"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"
}
}
}
]
}
次のステートメントは、ターゲット DynamoDB MREC グローバルテーブルのストリームポリシーに動的に追加されます。
{
"Statement":[
{
"Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
"Effect":"Deny",
"Principal":{
"AWS":"arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
},
"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"
}
}
]
}
ターゲットテーブルまたはストリームにアタッチされたリソースポリシーがない場合、リソースポリシーは実験の期間中に作成され、実験が終了すると自動的に削除されます。それ以外の場合、既存のポリシーステートメントに追加の変更を加えることなく、障害ステートメントが既存のポリシーに挿入されます。その後、実験の終了時に障害ステートメントはポリシーから削除されます。
リソースタイプ
-
aws:dynamodb:global-table
パラメータ
-
duration – AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
dynamodb:PutResourcePolicydynamodb:DeleteResourcePolicydynamodb:GetResourcePolicydynamodb:DescribeTabletag:GetResources
Amazon Aurora DSQL アクション
AWS FIS は、次の Amazon Aurora DSQL アクションをサポートしています。
aws:dsql:cluster-connection-failure
アプリケーションの耐障害性をテストするために、指定された期間、Aurora DSQL クラスターで制御された接続障害を作成します。
リソースタイプ
-
aws:dsql:cluster
パラメータ
-
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
percentage - 障害の注入対象になるコールの割合 (1~100)。
権限
dsql:InjectErrordsql:GetClustertag:GetResources
Aurora DSQL の実験を開始するには、Aurora DSQL ユーザーガイドの「フォールトインジェクションテスト」を参照してください。
Amazon EBS アクション
AWS FIS は、次の Amazon EBS アクションをサポートしています。
aws:ebs:pause-volume-io
ターゲット EBS ボリュームの I/O オペレーションを一時停止します。ターゲットボリュームは同じアベイラビリティーゾーンになければならず、Nitro System に基づいて構築されたインスタンスにアタッチしておく必要があります。ボリュームは、Outpost 上のインスタンスにはアタッチできません。
Amazon EC2 コンソールで実験を開始する方法については、『Amazon EC2 ユーザーガイド』の「Amazon EBS での障害テスト」を参照してください。
リソースタイプ
-
aws:ec2:ebs-volume
パラメータ
duration - 所要時間。1 秒から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。たとえば、PT1M は 1 分、PT5S は 5 秒、PT6H は 6 時間を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。PT5S のように時間が短かければ、I/O は指定された時間だけ一時停止するはずですが、実験の初期化には時間がかかるため、実験が完了するまでの時間が長くなることがあります。
権限
ec2:DescribeVolumesec2:PauseVolumeIOtag:GetResources
aws:ebs:volume-io-latency
ターゲット EBS ボリュームの I/O オペレーションにレイテンシーを挿入します。ターゲットボリュームは同じアベイラビリティーゾーンにあり、Nitro ベースのインスタンスにアタッチする必要があります。ボリュームを Outpost のインスタンスにアタッチすることはできません。
Amazon EC2 コンソールを使用して実験を開始するには、「Amazon EBS ユーザーガイド」の「Amazon EBS での障害テスト」を参照してください。
リソースタイプ
-
aws:ec2:ebs-volume
パラメータ
-
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:DescribeVolumesec2:InjectVolumeIOLatencytag:GetResources
Amazon EC2 アクション
AWS FIS は、次の Amazon EC2 アクションをサポートしています。
アクション
AWS FIS は、 AWS Systems Manager SSM エージェントを介したフォールトインジェクションアクションもサポートしています。システムマネージャーは EC2 インスタンスで実行するアクションを定義する SSM ドキュメントを使用します。独自のドキュメントを使用したカスタム障害の注入や、事前設定済みの SSM ドキュメントの使用が可能です。詳細については、「FIS で Systems Manager SSM AWS ドキュメントを使用する」を参照してください。
aws:ec2:api-insufficient-instance-capacity-error
ターゲットの IAM ロールからのリクエストで InsufficientInstanceCapacity エラーを挿入します。サポートされているオペレーションは、RunInstances、CreateCapacityReservation、StartInstances、CreateFleet の呼び出しです。複数のアベイラビリティーゾーンでのキャパシティタスクを含むリクエストはサポートされていません。このアクションでは、リソースタグ、フィルタ、またはパラメータを使用したターゲットの定義はサポートされていません。
リソースタイプ
-
aws:iam:role
パラメータ
-
duration – AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
availabilityZoneIdentifiers - アベイラビリティーゾーンのカンマ区切りリスト。ゾーン ID (
"use1-az1, use1-az2"など) とゾーン名 ("us-east-1a"など) をサポートします。 -
percentage - 障害の注入対象になるコールの割合 (1~100)。
権限
-
条件キー
ec2:FisActionIdの値のec2:InjectApiErrorをaws:ec2:api-insufficient-instance-capacity-errorに設定し、ec2:FisTargetArns条件キーをターゲットの IAM ロールに設定します。
ポリシーの例については例: ec2:InjectApiError の条件キーを使用します。を参照してください。
aws:ec2:asg-insufficient-instance-capacity-error
ターゲットの Auto Scaling グループからのリクエストで InsufficientInstanceCapacity エラーを挿入します。このアクションは、起動テンプレートを使用する Auto Scaling グループのみをサポートします。インスタンス容量不足エラーに関する詳細については、「Amazon EC2 ユーザーガイド」を参照してください。
リソースタイプ
-
aws:ec2:autoscaling-group
パラメータ
-
duration – AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
availabilityZoneIdentifiers - アベイラビリティーゾーンのカンマ区切りリスト。ゾーン ID (
"use1-az1, use1-az2"など) とゾーン名 ("us-east-1a"など) をサポートします。 -
percentage - オプション。障害を挿入するターゲット Auto Scaling グループの起動リクエストの割合 (1~100)。デフォルトは 100 です。
権限
-
条件キー ec2:FisActionId の値の
ec2:InjectApiErrorをaws:ec2:asg-insufficient-instance-capacity-errorに、ec2:FisTargetArns条件キーをターゲットの Auto Scaling グループに設定します。 -
autoscaling:DescribeAutoScalingGroups
ポリシーの例については例: ec2:InjectApiError の条件キーを使用します。を参照してください。
aws:ec2:reboot-instances
ターゲットの EC2 インスタンスに対して Amazon EC2 API アクション RebootInstances を実行します。
リソースタイプ
-
aws:ec2:instance
パラメータ
-
なし
権限
-
ec2:RebootInstances -
ec2:DescribeInstances
AWS マネージドポリシー
aws:ec2:send-spot-instance-interruptions
ターゲットのスポットインスタンスを中断します。スポットインスタンスの中断通知を送信して、スポットインスタンスを中断する 2 分前にスポットインスタンスをターゲットにします。割り込み時間は、指定された durationBeforeInterruption パラメータによって決定されます。中断時間の 2 分後、スポットインスタンスは中断動作に応じて終了するか停止します。 AWS FIS によって停止されたスポットインスタンスはユーザーにより再起動されるまで停止状態を維持します。
アクションの開始直後に、ターゲットインスタンスは、EC2 インスタンスの再調整の推奨指示を受け取ります。durationBeforeInterruption を指定すると、再調整の推奨指示と中断通知の間に遅延が発生する可能性があります。
詳細については、「チュートリアル: FIS を使用してスポットインスタンスの中断 AWS をテストする」を参照してください。または、Amazon EC2 コンソールで実験を開始する方法については、『Amazon EC2 ユーザーガイド』の「スポットインスタンスの中断を開始する」を参照してください。
リソースタイプ
-
aws:ec2:spot-instance
パラメータ
-
durationBeforeInterruption - インスタンスが中断されるまでの待機時間。2 分から 15 分です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT2M は 2 分を表します。 AWS FIS コンソールで、分数を入力します。
権限
-
ec2:SendSpotInstanceInterruptions -
ec2:DescribeInstances
AWS マネージドポリシー
aws:ec2:stop-instances
ターゲットの EC2 インスタンスに対して Amazon EC2 API アクション StopInstances を実行します。
リソースタイプ
-
aws:ec2:instance
パラメータ
-
startInstancesAfterDuration - オプション。インスタンスの起動までの待機時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。インスタンスに暗号化された EBS ボリュームがある場合は、ボリュームの暗号化に使用される KMS キーにアクセス AWS FIS 許可を付与するか、実験ロールを KMS キーポリシーに追加する必要があります。
-
completeIfInstancesTerminated - オプション。true の場合、そして
startInstancesAfterDurationも true の場合、ターゲットとなる EC2 インスタンスが FIS 外部の別のリクエストによって終了され、再起動できなくなっても、このアクションは失敗しません。例えば、Auto Scaling グループは、このアクションが完了する前に管理され、停止された EC2 インスタンスを終了することがあります。デフォルトは False です。
権限
-
ec2:StopInstances -
ec2:StartInstances -
ec2:DescribeInstances- オプション。completeIfInstancesTerminated と共に必要で、アクションの最後にインスタンスの状態を検証します。 -
kms:CreateGrant- オプション。startInstancesAfterDuration では、暗号化されたボリュームがあるインスタンスを再起動する必要があります。
AWS マネージドポリシー
aws:ec2:terminate-instances
ターゲットの EC2 インスタンスに対して Amazon EC2 API アクション TerminateInstances を実行します。
リソースタイプ
-
aws:ec2:instance
パラメータ
-
なし
権限
-
ec2:TerminateInstances -
ec2:DescribeInstances
AWS マネージドポリシー
Amazon ECS アクション
AWS FIS は、次の Amazon ECS アクションをサポートしています。
アクション
aws:ecs:drain-container-instances
Amazon ECS API アクション UpdateContainerInstancesState を実行して、ターゲットクラスターの基盤となる Amazon EC2 インスタンスの指定された割合をドレインします。
リソースタイプ
-
aws:ecs:cluster
パラメータ
drainagePercentage - パーセンテージ(1 から 100)。
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
ecs:DescribeClustersecs:UpdateContainerInstancesStateecs:ListContainerInstancestag:GetResources
AWS マネージドポリシー
aws:ecs:stop-task
Amazon ECS API アクション StopTask を実行して、ターゲットタスクを停止します。
リソースタイプ
-
aws:ecs:task
パラメータ
なし
権限
ecs:DescribeTasksecs:ListTasksecs:StopTasktag:GetResources
AWS マネージドポリシー
aws:ecs:task-cpu-stress
ターゲットタスクに CPU ストレスを実行します。AWSFIS-Run-CPU-Stress
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - ストレステストの所要時間(ISO 8601 形式)。
-
percent - オプション。0 (無負荷) から 100 (全負荷) までの目標負荷率。デフォルトは 100 です。
-
workers - オプション。使用するストレッサーの数。デフォルト値は 0 で、すべてのストレッサーを使用します。
-
installDependencies - オプション。値が
Trueの場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrueです。依存関係は stress-ng です。
権限
ecs:DescribeTasksssm:SendCommandssm:ListCommandsssm:CancelCommand
aws:ecs:task-io-stress
ターゲットタスクに I/O ストレスを実行します。AWSFIS-Run-IO-Stress
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - ストレステストの所要時間(ISO 8601 形式)。
-
percent - オプション。ストレステスト中に使用するファイルシステム上の空き領域の割合。デフォルトは 80% です。
-
workers - オプション。ワーカー数 シーケンシャル、ランダム、およびメモリマップされた読み取り/書き込み操作、強制同期、およびキャッシュドロップの組み合わせを実行するワーカー。複数の子プロセスが同じファイルに対して異なる I/O 操作を実行します。デフォルトは 1 です。
-
installDependencies - オプション。値が
Trueの場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrueです。依存関係は stress-ng です。
権限
ecs:DescribeTasksssm:SendCommandssm:ListCommandsssm:CancelCommand
aws:ecs:task-kill-process
killall コマンドを使用して、タスク内の指定されたプロセスを停止します。AWSFIS-Run-Kill-ProcesspidMode を task に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。詳細については、「ECS タスクアクション」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
processName – 停止するプロセスの名前。
-
signal - オプション。コマンドと一緒に送信するシグナル。指定できる値は、
SIGTERM(受信者が無視することを選択できる) とSIGKILL(無視できない) です。デフォルト:SIGTERM。 -
installDependencies - オプション。値が
Trueの場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrueです。依存関係は killall です。
権限
ecs:DescribeTasksssm:SendCommandssm:ListCommandsssm:CancelCommand
aws:ecs:task-network-blackhole-port
Amazon ECS フォールトインジェクションエンドポイントを使用して、指定されたプロトコルとポートのインバウンドトラフィックまたはアウトバウンドトラフィックを削除します。AWSFIS-Run-Network-Blackhole-Port-ECSpidMode を task に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode を bridge に設定できません。詳細については、「ECS タスクアクション」を参照してください。
useEcsFaultInjectionEndpoints が に設定されている場合false、障害は iptables ツールを使用し、AWSFIS-Run-Network-Blackhole-Port
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
port - ポート番号。
-
trafficType - トラフィックの種類。指定できる値は
ingressおよびegressです。 -
protocol - オプション。プロトコル。指定できる値は
tcpおよびudpです。デフォルトはtcpです。 -
installDependencies - オプション。値が
Trueの場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrueです。依存関係は、atd、curl-minimal、digおよび ですjq。 -
useEcsFaultInjectionEndpoints - オプション。true に設定すると、Amazon ECS Fault Injection APIsが使用されます。デフォルトは False です。
権限
ecs:DescribeTasksssm:SendCommandssm:ListCommandsssm:CancelCommand
aws:ecs:task-network-latency
Amazon ECS フォールトインジェクションエンドポイント を使用して、特定のソースへの送信トラフィックのレイテンシーとジッターをネットワークインターフェイスに追加します。AWSFIS-Run-Network-Latency-ECSpidMode を task に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode を bridge に設定できません。詳細については、「ECS タスクアクション」を参照してください。
useEcsFaultInjectionEndpoints が に設定されている場合false、障害は tc ツールを使用し、AWSFIS-Run-Network-Latency-Sources
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
delayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
jitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
sources - オプション。スペースなしでカンマで区切られたソース。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB、およびS3です。DYNAMODBまたはS3を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
installDependencies - オプション。値が
Trueの場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrueです。依存関係は、atd、curl-minimal、dig、jqおよび ですlsof。 -
useEcsFaultInjectionEndpoints - オプション。true に設定すると、Amazon ECS Fault Injection APIsが使用されます。デフォルトは False です。
権限
ecs:DescribeTasksssm:SendCommandssm:ListCommandsssm:CancelCommand
aws:ecs:task-network-packet-loss
Amazon ECS フォールトインジェクションエンドポイントを使用して、特定のソースへの送信トラフィックのパケット損失をネットワークインターフェイスに追加します。AWSFIS-Run-Network-Packet-Loss-ECSpidMode を task に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode を bridge に設定できません。詳細については、「ECS タスクアクション」を参照してください。
useEcsFaultInjectionEndpoints が に設定されている場合false、障害は tc ツールを使用し、AWSFIS-Run-Network-Packet-Loss-Sources
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
lossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
sources - オプション。スペースなしでカンマで区切られたソース。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB、およびS3です。DYNAMODBまたはS3を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
installDependencies - オプション。値が
Trueの場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrueです。依存関係は、atd、curl-minimal、dig、jqおよび ですlsof。 -
useEcsFaultInjectionEndpoints - オプション。true に設定すると、Amazon ECS Fault Injection APIsが使用されます。デフォルトは False です。
権限
ecs:DescribeTasksssm:SendCommandssm:ListCommandsssm:CancelCommand
Amazon EKS アクション
AWS FIS は、次の Amazon EKS アクションをサポートしています。
アクション
aws:eks:inject-kubernetes-custom-resource
単一のターゲットクラスターで ChaosMesh または Litmus の実験を実行します。ChaosMesh または Litmus をターゲットクラスタにインストールする必要があります。
実験テンプレートを作成して aws:eks:cluster タイプのターゲットを定義する場合、このアクションは単一の Amazon リソースネーム (ARN) を対象とする必要があります。このアクションでは、リソースタグ、フィルタ、またはパラメータを使用したターゲットの定義はサポートされていません。
ChaosMesh をインストールする場合は、適切なコンテナランタイムを指定する必要があります。Amazon EKS バージョン 1.23 以降、デフォルトのランタイムを Docker からcontainerd に変更しました。バージョン 1.24 以降、Docker は削除しました。
リソースタイプ
-
aws:eks:cluster
パラメータ
kubernetesApiVersion - Kubernetes カスタムリソース
の API バージョン。指定できる値は chaos-mesh.org/v1alpha1|litmuschaos.io/v1alpha1です。kubernetesKind - Kubernetes カスタムリソースの種類。値は API バージョンに依存します。
-
chaos-mesh.org/v1alpha1– 指定可能な値は次のとおりです: |AWSChaos|DNSChaos|GCPChaos|HTTPChaos|IOChaos|JVMChaos|KernelChaos|NetworkChaos|PhysicalMachineChaos|PodChaos|PodHttpChaos|PodIOChaos|PodNetworkChaos|Schedule|StressChaos|TimeChaos| 。 -
litmuschaos.io/v1alpha1– 有効な値はChaosEngineです。
-
kubernetesNamespace - Kubernetes 名前空間
。 kubernetesSpec - JSON 形式の Kubernetes カスタムリソースの
specセクション。maxDuration – オートメーション実行が完了するまでの最大許容時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
このアクションには AWS Identity and Access Management (IAM) アクセス許可は必要ありません。このアクションを使用するために必要な権限は、Kubernetes が RBAC 認可を使用して制御します。詳細については、Kubernetes ドキュメントの「RBAC 認可を使用する
aws:eks:pod-cpu-stress
ターゲットポッドに CPU ストレスを実行します。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - ストレステストの所要時間(ISO 8601 形式)。
-
percent - オプション。0 (無負荷) から 100 (全負荷) までの目標負荷率。デフォルトは 100 です。
-
workers - オプション。使用するストレッサーの数。デフォルト値は 0 で、すべてのストレッサーを使用します。
-
kubernetesServiceAccount – Kubernetes サービスアカウント。必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
-
fisPodSecurityPolicy - オプション。FIS とエフェメラルコンテナによって作成された障害オーケストレーションポッドに使用する Kubernetes セキュリティ標準
ポリシー。指定できる値は privileged、baseline、およびrestrictedです。このアクションは、すべてのポリシーレベルと互換性があります。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:pod-delete
ターゲットポッドを削除します。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
gracePeriodSeconds - オプション。ポッドが正常に終了するまでの待機時間 (秒単位)。値が 0 の場合、アクションはすぐに実行されます。値が nil の場合、Pod のデフォルトの猶予期間を使用します。
-
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
-
fisPodSecurityPolicy - オプション。FIS とエフェメラルコンテナによって作成された障害オーケストレーションポッドに使用する Kubernetes セキュリティ標準
ポリシー。指定できる値は privileged、baseline、およびrestrictedです。このアクションは、すべてのポリシーレベルと互換性があります。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:pod-io-stress
ターゲットポッドに I/O ストレスを実行します。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - ストレステストの所要時間(ISO 8601 形式)。
-
workers - オプション。ワーカー数 シーケンシャル、ランダム、およびメモリマップされた読み取り/書き込み操作、強制同期、およびキャッシュドロップの組み合わせを実行するワーカー。複数の子プロセスが同じファイルに対して異なる I/O 操作を実行します。デフォルトは 1 です。
-
percent - オプション。ストレステスト中に使用するファイルシステム上の空き領域の割合。デフォルトは 80% です。
-
kubernetesServiceAccount – Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
-
fisPodSecurityPolicy - オプション。FIS とエフェメラルコンテナによって作成された障害オーケストレーションポッドに使用する Kubernetes セキュリティ標準
ポリシー。指定できる値は privileged、baseline、およびrestrictedです。このアクションは、すべてのポリシーレベルと互換性があります。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:pod-memory-stress
ターゲットポッドにメモリストレスを実行します。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - ストレステストの所要時間(ISO 8601 形式)。
-
workers - オプション。使用するストレッサーの数。デフォルトは 1 です。
-
percent - オプション。ストレステスト中に使用する仮想メモリの割合。デフォルトは 80% です。
-
kubernetesServiceAccount – Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
-
fisPodSecurityPolicy - オプション。FIS とエフェメラルコンテナによって作成された障害オーケストレーションポッドに使用する Kubernetes セキュリティ標準
ポリシー。指定できる値は privileged、baseline、およびrestrictedです。このアクションは、すべてのポリシーレベルと互換性があります。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-blackhole-port
プロトコルおよびポートのインバウンドトラフィックまたはアウトバウンドトラフィックをドロップします。Kubernetes セキュリティ標準privilegedポリシーとのみ互換性があります。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
protocol – プロトコル。指定できる値は
tcpおよびudpです。 -
trafficType - トラフィックの種類。指定できる値は
ingressおよびegressです。 -
port - ポート番号。
-
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-latency
特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール tc を使用してネットワークインターフェイスにレイテンシーとジッタを追加します。Kubernetes セキュリティ標準privileged ポリシーとのみ互換性があります。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0。 -
delayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
jitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
sources - オプション。スペースなしでカンマで区切られたソース。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB、およびS3です。DYNAMODBまたはS3を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。ドメイン名の場合、IP アドレスを収集するために 10 回の DNS 解決試行が行われます。DNS ロードバランシングとローテーションにより、このアクションによってドメインが解決できるすべての IP アドレスが損なわれるとは限りません。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-packet-loss
tc ツールを使用してネットワークインターフェイスへのパッケージの損失を追加します。Kubernetes セキュリティ標準privileged ポリシーとのみ互換性があります。詳細については、「EKS Pod アクション」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0。 -
lossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
sources - オプション。スペースなしでカンマで区切られたソース。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB、およびS3です。DYNAMODBまたはS3を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。ドメイン名の場合、IP アドレスを収集するために 10 回の DNS 解決試行が行われます。DNS ロードバランシングとローテーションにより、このアクションによってドメインが解決できるすべての IP アドレスが損なわれるとは限りません。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes 注釈。
権限
eks:DescribeClusterec2:DescribeSubnetstag:GetResources
AWS マネージドポリシー
aws:eks:terminate-nodegroup-instances
ターゲットのノードグループに対して Amazon EC2 API アクション TerminateInstances を実行します。Amazon EKS マネージド型ノードグループとのみ互換性があります。セルフマネージド型ノードグループはサポートされていません。詳細については、「EKS コンピューティングの管理」を参照してください。
リソースタイプ
-
aws:eks:nodegroup
パラメータ
instanceTerminationPercentage - 終了するインスタンスの割合 (1 ~ 100)。
権限
ec2:DescribeInstancesec2:TerminateInstanceseks:DescribeNodegrouptag:GetResources
AWS マネージドポリシー
Amazon ElastiCache のアクション
AWS FIS は、次の ElastiCache アクションをサポートします。
aws:elasticache:replicationgroup-interrupt-az-power
マルチ AZ が有効になっているターゲット ElastiCache レプリケーショングループの指定されたアベイラビリティーゾーン内のノードへの電源を中断します。レプリケーショングループごとに一度に影響を受けるアベイラビリティーゾーンは 1 つだけです。プライマリノードがターゲットの場合、レプリケーションの遅延が最も小さいリードレプリカがプライマリに昇格されます。このアクションの間、指定されたアベイラビリティーゾーンのリードレプリカの置き換えはブロックされます。つまり、ターゲットのレプリケーショングループは少ない容量で動作します。このアクションのターゲットは、Redis エンジンと Valkey エンジンの両方をサポートしています。アクションは「サーバーレス」デプロイオプションをサポートしていません。
リソースタイプ
-
aws:elasticache:replicationgroup
パラメータ
-
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
elasticache:InterruptClusterAzPowerelasticache:DescribeReplicationGroupstag:GetResources
注記
ElastiCache 割り込み AZ パワーアクションは、Valkey や Redis を含むすべてのレプリケーショングループタイプをサポートするようになりました。この機能をより適切に表現するために、 アクションの名前が変更されました。現在 を使用している場合はaws:elasticache:interrupt-cluster-az-power、最新の機能を活用aws:elasticache:replicationgroup-interrupt-az-powerするために、新しいアクションに移行することをお勧めします。
Amazon Kinesis Data Streams アクション
Amazon Kinesis Data Streams は、次の Kinesis アクションをサポートしています。
アクション
aws:kinesis:stream-provisioned-throughput-exception
ターゲットの Kinesis Data Streams のリクエストにProvisionedThroughputExceededExceptionエラーレスポンスを挿入します。サポートされているオペレーションにはGetRecords、、GetShardIterator、PutRecord、および が含まれますPutRecords。
リソースタイプ
-
aws:kinesis:stream
パラメータ
-
duration – 1 分から 12 時間の範囲の期間。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
percentage — 障害を注入するコールの割合 (1~100)。
権限
kinesis:InjectApiError
aws:kinesis:stream-expired-iterator-exception
指定された Kinesis Data Streams をターゲットとするGetRecords呼び出しにExpiredIteratorExceptionエラーレスポンスを挿入します。
リソースタイプ
-
aws:kinesis:stream
パラメータ
-
duration – 1 分から 12 時間の範囲の期間。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
percentage — 障害を注入するコールの割合 (1~100)。
権限
kinesis:InjectApiError
AWS Lambda アクション
AWS Lambda は、次の Lambda アクションをサポートしています。
アクション
aws:lambda:invocation-add-delay
指定したミリ秒数の関数の開始を遅らせます。このアクションの効果は Lambda コールドスタートに似ていますが、追加の時間は請求期間の一部として費やされ、新しい実行環境に影響を与えるだけでなく、すべての実行環境に適用されます。つまり、Lambda コールドスタートとこの遅延の両方が発生する可能性があります。Lambda 関数で設定されたタイムアウトよりも高いレイテンシー値を設定することで、このアクションは忠実度の高いタイムアウトイベントへのアクセスも提供します。
リソースタイプ
-
aws:lambda:function
パラメータ
-
duration – アクションが持続する時間の長さ。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
invocationPercentage – オプション。障害を挿入する関数呼び出しの割合 (1~100)。デフォルトは 100 です。
-
startupDelayMilliseconds – オプション。関数コードの呼び出しから実行まで待機するミリ秒 (0~900,000) 単位の時間。デフォルトは 1000 です。
権限
s3:PutObjects3:DeleteObjectlambda:GetFunctiontag:GetResources
aws:lambda:invocation-error
Lambda 関数の呼び出しを失敗としてマークします。このアクションは、アラームや再試行設定などのエラー処理メカニズムをテストするのに役立ちます。このアクションの使用中に、エラーを返す前に関数コードを実行するかどうかを選択します。
リソースタイプ
-
aws:lambda:function
パラメータ
-
duration – アクションが持続する時間の長さ。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
invocationPercentage – オプション。障害を挿入する関数呼び出しの割合 (1~100)。デフォルトは 100 です。
-
preventExecution – 値が true の場合、アクションは関数を実行せずにエラーを返します。
権限
s3:PutObjects3:DeleteObjectlambda:GetFunctiontag:GetResources
aws:lambda:invocation-http-integration-response
関数の動作を変更します。ALB、API-GW、VPC Lattice との統合をサポートするコンテンツタイプと HTTP レスポンスコードを選択します。アップストリームまたはダウンストリームの統合に選択的に影響を与えることを有効にするには、変更されたレスポンスを直接返すか、関数を実行して関数の実行後にレスポンスを置き換えるかを選択できます。
リソースタイプ
-
aws:lambda:function
パラメータ
-
contentTypeHeader – Lambda 関数から返す HTTP コンテンツタイプヘッダーの文字列値。
-
duration – アクションが持続する時間の長さ。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
-
invocationPercentage – オプション。障害を挿入する関数呼び出しの割合 (1~100)。デフォルトは 100 です。
-
preventExecution – 値が true の場合、アクションは関数を実行せずにレスポンスを返します。
-
statusCode – Lambda 関数から返される HTTP ステータスコード (000~999) の値。
権限
s3:PutObjects3:DeleteObjectlambda:GetFunctiontag:GetResources
Amazon MemoryDB アクション
AWS FIS は、次の MemoryDB アクションをサポートしています。
aws:memorydb:multi-region-cluster-pause-replication
マルチリージョンクラスター内の 1 つのリージョンクラスターと他のすべてのリージョンクラスター間のレプリケーションを一時停止します。ターゲットとするリージョンクラスターは、FIS 実験が実行されているリージョンのクラスターです。レプリケーションが一時停止されている間は、マルチリージョンクラスターを更新することはできません。アクションが完了すると、マルチリージョンクラスターが使用可能な状態に戻るまでに数分かかる場合があります。Amazon MemoryDB マルチリージョンの詳細については、「Amazon MemoryDB マルチリージョンデベロッパーガイド」を参照してください。リージョンの可用性については、MemoryDB マルチリージョンの前提条件と制限」を参照してください。
リソースタイプ
-
aws:memorydb:multi-region-cluster
パラメータ
-
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
memorydb:DescribeMultiRegionClustersmemorydb:PauseMultiRegionClusterReplicationtag:GetResources
ネットワークアクション
AWS FIS では、次のネットワークアクションがサポートされています。
アクション
aws:network:disrupt-connectivity
ターゲットサブネットに関連付けられた元のネットワークアクセスコントロールリスト (ネットワーク ACL) を一時的にクローンすることで、ターゲットサブネットへの指定されたトラフィックを拒否します。FIS は、クローンされたネットワーク ACL に拒否ルールを追加します。このネットワーク ACL にはタグ managedbyFIS=true があり、アクションの期間中、サブネットに関連付けます。アクションが完了すると、FIS はクローンされたネットワーク ACL を削除し、元のネットワーク ACL の関連付けを復元します。
リソースタイプ
-
aws:ec2:subnet
パラメータ
scope - 拒否するトラフィックのタイプ。スコープが
allでない場合、ネットワーク ACL 内のエントリの最大数は 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 アベイラビリティーゾーンとリージョン」を参照してください。vpc- VPC に出入りするトラフィックを拒否します。
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
prefixListIdentifier - スコープが
prefix-listの場合、これはカスタマー管理プレフィックスリストの識別子です。名前、ID、または ARN を指定できます。このプレフィックスリストは、最大 10 エントリです。
権限
ec2:CreateNetworkAcl- managedByFIS=true というタグが付いたネットワーク ACL を作成します。ec2:CreateNetworkAclEntry- ネットワーク ACL には managedByFIS=true というタグが付いている必要があります。ec2:CreateTagsec2:DeleteNetworkAcl- ネットワーク ACL には managedByFIS=true というタグが付いている必要があります。ec2:DescribeManagedPrefixListsec2:DescribeNetworkAclsec2:DescribeSubnetsec2:DescribeVpcsec2:GetManagedPrefixListEntriesec2:ReplaceNetworkAclAssociation
AWS マネージドポリシー
aws:network:route-table-disrupt-cross-region-connectivity
ターゲットサブネットから発信され、指定されたリージョンを宛てのトラフィックをブロックします。分離するリージョンのすべてのルートを含むルートテーブルを作成します。FIS がこれらのルートテーブルを作成できるようにするには、Amazon VPC の routes per route table のクォータを、既存のルートテーブルのルート数に 250 を加えた数に引き上げます。
リソースタイプ
-
aws:ec2:subnet
パラメータ
-
region- 分離するリージョンのコード (eu-west-1 など)。 -
duration— アクションが継続する時間の長さ。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 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 マネージドポリシー
aws:network:transit-gateway-disrupt-cross-region-connectivity
指定されたリージョンを宛先とするターゲットのトランジットゲートウェイピアリングアタッチメントからのトラフィックをブロックします。
リソースタイプ
-
aws:ec2:transit-gateway
パラメータ
-
region- 分離するリージョンのコード (eu-west-1 など)。 -
duration— アクションが継続する時間の長さ。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
-
ec2:AssociateTransitGatewayRouteTable -
ec2:DescribeTransitGatewayAttachments -
ec2:DescribeTransitGatewayPeeringAttachments -
ec2:DescribeTransitGateways -
ec2:DisassociateTransitGatewayRouteTable
AWS マネージドポリシー
Amazon RDS アクション
AWS FIS は、次の Amazon RDS アクションをサポートしています。
aws:rds:failover-db-cluster
ターゲットの Aurora DB クラスターに対して Amazon RDS API アクション FailoverDBCluster を実行します。RDS クラスターと DocumentDB クラスターがサポートされています。
リソースタイプ
-
aws:rds:cluster
パラメータ
なし
権限
rds:FailoverDBClusterrds:DescribeDBClusterstag:GetResources
AWS マネージドポリシー
aws:rds:reboot-db-instances
ターゲットの DB インスタンスに対して Amazon RDS API アクション RebootDBInstance を実行します。RDS クラスターと DocumentDB クラスターがサポートされています。
リソースタイプ
-
aws:rds:db
パラメータ
forceFailover - オプション。値が true の場合、インスタンスがマルチ AZ の場合は、1 つのアベイラビリティーゾーンから別のアベイラビリティーゾーンへのフェイルオーバーを強制的に実行できます。デフォルトは False です。
権限
rds:RebootDBInstancerds:DescribeDBInstancestag:GetResources
AWS マネージドポリシー
Amazon S3 のアクション
AWS FIS は、次の Amazon S3 アクションをサポートしています。
aws:s3:bucket-pause-replication
ターゲットのソースバケットから宛先バケットへのレプリケーションを一時停止します。送信先バケットは、異なる AWS リージョンでも、ソースバケットと同じリージョン内でも配置することができます。既存のオブジェクトは、アクションが開始した後、最大 1 時間レプリケートが継続することがあります。このアクションはタグによるターゲティングのみをサポートします。Amazon S3 レプリケーションに関する詳細については、「Amazon S3 ユーザーガイド」を参照してください。
リソースタイプ
-
aws:s3:bucket
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
region - 宛先バケットが配置されている AWS リージョン。
destinationBuckets - オプション。宛先 S3 バケットのカンマ区切りリスト。
prefixes - オプション。レプリケーションルールフィルターからの S3 オブジェクトキープレフィックスのカンマ区切りリスト。プレフィックスに基づくフィルターを使用したターゲットバケットのレプリケーションルールは一時停止されます。
権限
条件キーが
S3:IsReplicationPauseRequestのS3:PutReplicationConfigurationをTrueに設定する条件キーが
S3:IsReplicationPauseRequestのS3:GetReplicationConfigurationをTrueに設定するS3:PauseReplicationS3:ListAllMyBucketstag:GetResources
ポリシーの例については例: aws:s3:bucket-pause-replication の条件キーを使用します。を参照してください。
Systems Manager アクション
AWS FIS は、次の Systems Manager アクションをサポートしています。
aws:ssm:send-command
ターゲットの EC2 インスタンスに対して Systems Manager API アクション SendCommand を実行します。Systems Manager ドキュメント (SSM ドキュメント) は、Systems Manager がインスタンスで実行するアクションを定義します。詳細については、「aws:ssm:send-command アクションを使用します」を参照してください。
リソースタイプ
-
aws:ec2:instance
パラメータ
documentArn - ドキュメントの Amazon リソースネーム (ARN) 。コンソールでは、事前設定された SSM AWS FIS ドキュメントのいずれかに対応するアクションタイプから値を選択すると、このパラメータが完了します。
documentVersion - オプション。ドキュメントのバージョン。空の場合、デフォルトバージョンが実行されます。
documentParameters - 条件付き。ドキュメントが受け入れる必須およびオプションのパラメータ。形式は JSON オブジェクトで、キーは文字列で、値は文字列または文字列の配列です。
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
ssm:SendCommandssm:ListCommandsssm:CancelCommand
AWS マネージドポリシー
aws:ssm:start-automation-execution
Systems Manager API アクション StartAutomationExecution を実行します。
リソースタイプ
-
なし
パラメータ
documentArn - オートメーションドキュメントの Amazon リソースネーム (ARN)。
documentVersion - オプション。ドキュメントのバージョン。空の場合、デフォルトバージョンが実行されます。
documentParameters - 条件付き。ドキュメントが受け入れる必須およびオプションのパラメータ。形式は JSON オブジェクトで、キーは文字列、値は文字列または文字列の配列です。
maxDuration - オートメーション実行が完了するまでの最大許容時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
権限
ssm:GetAutomationExecutionssm:StartAutomationExecutionssm:StopAutomationExecutioniam:PassRole- オプション。自動化ドキュメントが役割を引き受ける場合は必須です。