翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS FIS アクションリファレンス
このリファレンスでは、アクションパラメータや必要な IAM アクセス許可に関する情報など AWS FIS、 の一般的なアクションについて説明します。 AWS FIS コンソールまたは AWS Command Line Interface () の list-actions
詳細については、「のアクション AWS FIS」および「AWS Fault Injection Service と IAM の連携方法」を参照してください。
アクション
フォールトインジェクションアクション
AWS FIS では、次の障害挿入アクションがサポートされています。
アクション
aws:fis:inject-api-internal-error
ターゲットの IAM ロールからのリクエストに内部エラーを挿入します。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API 名前空間。サポート対象の値は
ec2
です。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2
名前空間の API アクションのリストについては、「Amazon EC2 API リファレンス」のアクションを参照してください。
アクセス許可
fis:InjectApiInternalError
aws:fis:inject-api-throttle-error
ターゲットの IAM ロールからのリクエストにスロットリングエラーを挿入します。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API 名前空間。サポート対象の値は
ec2
です。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2
名前空間の API アクションのリストについては、「Amazon EC2 API リファレンス」のアクションを参照してください。
アクセス許可
fis:InjectApiThrottleError
aws:fis:inject-api-unavailable-error
ターゲットの IAM ロールからのリクエストに Unavailable エラーを挿入します。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API 名前空間。サポート対象の値は
ec2
です。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2
名前空間の API アクションのリストについては、「Amazon EC2 API リファレンス」のアクションを参照してください。
アクセス許可
fis:InjectApiUnavailableError
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 グローバルテーブルのレプリケーションを任意のレプリカテーブルに一時停止します。テーブルは、アクションが開始した後、最大 5 分間はレプリケートが続行されることがあります。
次のステートメントは、ターゲット DynamoDB グローバルテーブルのポリシーに動的に追加されます。
{
"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 グローバルテーブルのストリームのポリシーに動的に追加されます。
{
"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:PutResourcePolicy
dynamodb:DeleteResourcePolicy
dynamodb:GetResourcePolicy
dynamodb:DescribeTable
tag:GetResources
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:DescribeVolumes
ec2:PauseVolumeIO
tag:GetResources
Amazon EC2 アクション
AWS FIS は、次の Amazon EC2 アクションをサポートします。
アクション
AWS FIS は、 AWS Systems Manager SSM エージェントを介した障害挿入アクションもサポートしています。システムマネージャーは EC2 インスタンスで実行するアクションを定義する SSM ドキュメントを使用します。独自のドキュメントを使用したカスタム障害の注入や、事前設定済みの SSM ドキュメントの使用が可能です。詳細については、「AWS FIS で Systems Manager SSM ドキュメントを使用する」を参照してください。
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:InjectApiError
条件キー ec2:FisActionId 値を に設定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 分前にスポットインスタンスをターゲットにします。中断時間は、指定された期間BeforeInterruptionパラメータによって決まります。中断時間の 2 分後、スポットインスタンスは中断動作に応じて終了するか停止します。 AWS FIS によって停止されたスポットインスタンスは、ユーザーにより再起動されるまで停止状態を維持します。
アクションの開始直後に、ターゲットインスタンスは、EC2 インスタンスの再調整の推奨指示を受け取ります。期間BeforeInterruption を指定した場合、再調整に関する推奨事項と中断通知の間に遅延が生じる可能性があります。
詳細については、「チュートリアル: AWS FIS でスポットインスタンスの中断をテストする」を参照してください。または、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
- オプション。アクションの終了時にインスタンスの状態を検証するために、完全なIfInstances終了で必要です。 -
kms:CreateGrant
- オプション。暗号化されたボリュームを持つインスタンスを再起動するInstancesAfter開始期間に必要です。
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:DescribeClusters
ecs:UpdateContainerInstancesState
ecs:ListContainerInstances
tag:GetResources
AWS マネージドポリシー
aws:ecs:stop-task
Amazon ECS API アクションを実行StopTaskして、ターゲットタスクを停止します。
リソースタイプ
-
aws:ecs:task
パラメータ
なし
アクセス許可
ecs:DescribeTasks
ecs:ListTasks
ecs:StopTask
tag: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 です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm: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 です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm: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 です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-network-blackhole-port
指定されたプロトコルおよびポートのインバウンドトラフィックまたはアウトバウンドトラフィックをドロップします。AWSFIS-Run-Network-Blackhole-PortpidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode
を bridge
に設定できません。詳細については、「ECS タスクアクションを使用します」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
port - ポート番号。
-
trafficType - トラフィックの種類。指定できる値は
ingress
およびegress
です。 -
protocol - オプション。プロトコル。指定できる値は
tcp
およびudp
です。デフォルトはtcp
です。 -
installDependencies - オプション。値が
True
の場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrue
です。依存関係は、atd、dig、および iptables です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-network-latency
特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール tc を使用してネットワークインターフェイスにレイテンシーとジッタを追加します。AWSFIS-Run-Network-Latency-SourcespidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode
を bridge
に設定できません。詳細については、「ECS タスクアクションを使用します」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
delayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
jitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB
、およびS3
です。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
installDependencies - オプション。値が
True
の場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrue
です。依存関係は、atd、dig、jq および tc です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-network-packet-loss
tc ツールを使用してネットワークインターフェイスへのパッケージの損失を追加します。AWSFIS-Run-Network-Packet-Loss-SourcespidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode
を bridge
に設定できません。詳細については、「ECS タスクアクションを使用します」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
lossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB
、およびS3
です。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
installDependencies - オプション。値が
True
の場合、ターゲットインスタンスに必要な依存関係がインストールされていなければ、SSM エージェントのサイドカーコンテナに Systems Manager によってインストールされます。デフォルトはTrue
です。依存関係は、atd、dig、jq および tc です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm: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 ポッドアクションを使用する」を参照してください。
リソースタイプ
-
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:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-delete
ターゲットポッドを削除します。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
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:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-io-stress
ターゲットポッドに I/O ストレスを実行します。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
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:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-memory-stress
ターゲットポッドにメモリストレスを実行します。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
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:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-blackhole-port
プロトコルおよびポートのインバウンドトラフィックまたはアウトバウンドトラフィックをドロップします。Kubernetes セキュリティ標準privileged
ポリシーとのみ互換性があります。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
protocol - オプション。プロトコル。指定できる値は
tcp
およびudp
です。デフォルトはtcp
です。 -
trafficType - トラフィックの種類。指定できる値は
ingress
およびegress
です。 -
port - ポート番号。
-
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされている Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーション。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-latency
特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール tc を使用してネットワークインターフェイスにレイテンシーとジッタを追加します。Kubernetes セキュリティ標準privileged
ポリシーとのみ互換性があります。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
delayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
jitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB
、およびS3
です。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされている Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーション。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-packet-loss
tc ツールを使用してネットワークインターフェイスへのパッケージの損失を追加します。Kubernetes セキュリティ標準privileged
ポリシーとのみ互換性があります。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration - テストの所要時間(ISO 8601 形式)。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
lossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4 アドレス、IPv4 CIDR ブロック、ドメイン名、
DYNAMODB
、およびS3
です。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0/0 で、すべての IPv4 トラフィックに一致します。 -
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされている Kubernetes ラベル。
-
fisPodAnnotations - オプション。FIS によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーション。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:terminate-nodegroup-instances
ターゲットノードグループTerminateInstancesで Amazon EC2 API アクションを実行します。
リソースタイプ
-
aws:eks:nodegroup
パラメータ
instanceTerminationPercentage - 終了するインスタンスの割合 (1 ~ 100)。
アクセス許可
ec2:DescribeInstances
ec2:TerminateInstances
eks:DescribeNodegroup
tag:GetResources
AWS マネージドポリシー
Amazon ElastiCache アクション
AWS FIS は、次の ElastiCache アクションをサポートします。
aws:elasticache:interrupt-cluster-az-power
ターゲットの Redis レプリケーショングループの指定されたアベイラビリティーゾーンのノードへの電力を中断します。プライマリノードがターゲットの場合、レプリケーションの遅延が最も小さいリードレプリカがプライマリに昇格されます。このアクションの間、指定されたアベイラビリティーゾーンのリードレプリカの置き換えはブロックされます。つまり、ターゲットのレプリケーショングループは少ない容量で動作します。
リソースタイプ
-
aws:elasticache:redis-replicationgroup
パラメータ
-
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
elasticache:InterruptClusterAzPower
elasticache:DescribeReplicationGroups
tag:GetResources
ネットワークアクション
AWS FIS は、次のネットワークアクションをサポートします。
アクション
aws:network:disrupt-connectivity
ターゲットサブネットへの指定されたトラフィックを拒否します。ネットワーク ACLs。
リソースタイプ
-
aws:ec2:subnet
パラメータ
scope - 拒否するトラフィックのタイプ。スコープが でない場合
all
、ネットワーク ACLsです。指定できる値は以下のとおりです。all
- サブネットに出入りするすべてのトラフィックを拒否します。このオプションでは、サブネット内のネットワークインターフェースに出入りするトラフィックを含め、サブネット内トラフィックが許可されることに注意してください。availability-zone
- 他のアベイラビリティーゾーン内のサブネットとの間の VPC 内トラフィックを拒否します。VPC でターゲットにできるサブネットの最大数は 30 です。dynamodb
- 現在のリージョンの DynamoDB のリージョナルエンドポイントとの間のトラフィックを拒否します。prefix-list
- 指定されたプレフィックスリストとの間で送受信されるトラフィックを拒否します。s3
- 現在のリージョンの Amazon S3 のリージョンエンドポイントとの間のトラフィックを拒否します。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:CreateTags
ec2:DeleteNetworkAcl
- ネットワーク ACL には managedByFIS=true というタグが付いている必要があります。ec2:DescribeManagedPrefixLists
ec2:DescribeNetworkAcls
ec2:DescribeSubnets
ec2:DescribeVpcs
ec2:GetManagedPrefixListEntries
ec2: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 マネージドポリシー
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 を実行します。
リソースタイプ
-
aws:rds:cluster
パラメータ
なし
アクセス許可
rds:FailoverDBCluster
rds:DescribeDBClusters
tag:GetResources
AWS マネージドポリシー
aws:rds:reboot-db-instances
ターゲットの DB インスタンスに対して Amazon RDS API アクション RebootDBInstance を実行します。
リソースタイプ
-
aws:rds:db
パラメータ
forceFailover - オプション。値が true の場合、インスタンスがマルチ AZ の場合は、1 つのアベイラビリティーゾーンから別のアベイラビリティーゾーンへのフェイルオーバーを強制的に実行できます。デフォルトは False です。
アクセス許可
rds:RebootDBInstance
rds:DescribeDBInstances
tag: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:PauseReplication
S3:ListAllMyBuckets
tag:GetResources
ポリシーの例については、「例: aws:s3:bucket-pause-replication の条件キーを使用します。」を参照してください。
Systems Manager アクション
AWS FIS は、次の Systems Manager アクションをサポートします。
aws:ssm:send-command
ターゲット EC2 インスタンスSendCommandで Systems Manager API アクションを実行します。Systems Manager ドキュメント (SSM ドキュメント) は、Systems Manager がインスタンスで実行するアクションを定義します。詳細については、「aws:ssm:send-command アクションを使用します」を参照してください。
リソースタイプ
-
aws:ec2:instance
パラメータ
documentArn - ドキュメントの Amazon リソースネーム (ARN) 。コンソールでは、事前設定された AWS FIS SSM ドキュメント のいずれかに対応する値をアクションタイプ から選択すると、このパラメータが完了します。
documentVersion - オプション。ドキュメントのバージョン。空の場合、デフォルトバージョンが実行されます。
documentParameters - 条件付き。ドキュメントが受け入れる必須およびオプションのパラメータ。形式は JSON オブジェクトで、キーは文字列で、値は文字列または文字列の配列です。
duration - 所要時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
AWS マネージドポリシー
aws:ssm:start-automation-execution
Systems Manager API アクションStartAutomationの実行 を実行します。
リソースタイプ
-
なし
パラメータ
documentArn - オートメーションドキュメントの Amazon リソースネーム (ARN)。
documentVersion - オプション。ドキュメントのバージョン。空の場合、デフォルトバージョンが実行されます。
documentParameters - 条件付き。ドキュメントが受け入れる必須およびオプションのパラメータ。形式は JSON オブジェクトで、キーは文字列、値は文字列または文字列の配列です。
maxDuration - オートメーション実行が完了するまでの最大許容時間。1 分から 12 時間です。 AWS FIS API では、値は ISO 8601 形式の文字列です。例えば、PT1M は 1 分を表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
ssm:GetAutomationExecution
ssm:StartAutomationExecution
ssm:StopAutomationExecution
iam:PassRole
- オプション。自動化ドキュメントが役割を引き受ける場合は必須です。