翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API名前空間。サポート対象の値は
ec2
です。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2
名前空間のAPIアクションのリストについては、「Amazon EC2APIリファレンス」の「アクション」を参照してください。
アクセス許可
fis:InjectApiInternalError
aws:fis:inject-api-throttle-error
ターゲットIAMロールによって行われたリクエストにスロットリングエラーを挿入します。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service – ターゲット AWS API名前空間。サポート対象の値は
ec2
です。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2
名前空間のAPIアクションのリストについては、「Amazon EC2APIリファレンス」の「アクション」を参照してください。
アクセス許可
fis:InjectApiThrottleError
aws:fis:inject-api-unavailable-error
ターゲットIAMロールによって行われたリクエストに利用不可エラーを挿入します。
リソースタイプ
-
aws:iam:role
パラメータ
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
service - ターゲット AWS API名前空間。サポート対象の値は
ec2
です。percentage - 障害の注入対象になるコールの割合 (1~100)。
operations - 障害の注入対象になる操作 (カンマ区切り)。
ec2
名前空間のAPIアクションのリストについては、「Amazon EC2APIリファレンス」の「アクション」を参照してください。
アクセス許可
fis:InjectApiUnavailableError
Wait アクション
AWS FIS は、次の待機アクションをサポートします。
aws:fis:wait
AWS FIS 待機アクションを実行します。
パラメータ
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
なし
Amazon CloudWatch アクション
AWS FIS は、次の Amazon CloudWatch アクションをサポートします。
aws:cloudwatch:assert-alarm-state
指定したアラームが指定したアラーム状態のいずれかになっていることを確認します。
リソースタイプ
-
なし
パラメータ
alarmArns – カンマで区切られたARNsアラームの 。最大 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、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 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 ユーザーガイド」の「Amazon での障害テストEBSEC2」を参照してください。
リソースタイプ
-
aws:ec2:ebs-volume
パラメータ
duration - 所要時間。1 秒から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 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。Systems Manager は、EC2インスタンスで実行するアクションを定義する SSMドキュメントを使用します。独自のドキュメントを使用してカスタム障害を挿入することも、事前設定されたSSMドキュメントを使用することもできます。詳細については、「で Systems Manager SSMドキュメントを使用する AWS FIS」を参照してください。
aws:ec2:api-insufficient-instance-capacity-error
ターゲットIAMロールによって行われたリクエストにInsufficientInstanceCapacity
エラーレスポンスを挿入します。サポートされているオペレーションは RunInstances、、 CreateCapacityReservation、 StartInstances、 CreateFleet コールです。複数のアベイラビリティーゾーンでのキャパシティタスクを含むリクエストはサポートされていません。このアクションでは、リソースタグ、フィルタ、またはパラメータを使用したターゲットの定義はサポートされていません。
リソースタイプ
-
aws:iam:role
パラメータ
-
duration – では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分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 の条件キーを使用します。」を参照してください。
aws:ec2:asg-insufficient-instance-capacity-error
ターゲットの Auto Scaling グループからのリクエストで InsufficientInstanceCapacity
エラーを挿入します。このアクションは、起動テンプレートを使用する Auto Scaling グループのみをサポートします。インスタンス容量不足エラーの詳細については、「Amazon ユーザーガイドEC2」を参照してください。
リソースタイプ
-
aws:ec2:autoscaling-group
パラメータ
-
duration – では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分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 の条件キーを使用します。」を参照してください。
aws:ec2:reboot-instances
ターゲットEC2インスタンスRebootInstancesで Amazon EC2APIアクションを実行します。
リソースタイプ
-
aws:ec2:instance
パラメータ
-
なし
アクセス許可
-
ec2:RebootInstances
-
ec2:DescribeInstances
AWS マネージドポリシー
aws:ec2:send-spot-instance-interruptions
ターゲットのスポットインスタンスを中断します。スポットインスタンスの中断通知を送信して、スポットインスタンスを中断する 2 分前にスポットインスタンスをターゲットにします。中断時間は、指定されたdurationBeforeInterruptionパラメータによって決まります。中断時間の 2 分後、スポットインスタンスは中断動作に応じて終了するか停止します。 AWS FIS によって停止されたスポットインスタンスは、ユーザーにより再起動されるまで停止状態を維持します。
アクションが開始された直後に、ターゲットインスタンスはEC2インスタンスの再調整に関する推奨事項 を受け取ります。を指定した場合durationBeforeInterruption、再調整に関する推奨事項と中断通知の間に遅延が生じる可能性があります。
詳細については、「チュートリアル: AWS FIS でスポットインスタンスの中断をテストする」を参照してください。または、Amazon EC2コンソールを使用して実験を開始するには、「Amazon ユーザーガイド」の「スポットインスタンスの中断を開始する」を参照してください。 EC2
リソースタイプ
-
aws:ec2:spot-instance
パラメータ
-
durationBeforeInterruption - インスタンスが中断されるまでの待機時間。2 分から 15 分です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 PT2Mは 2 分を表します。 AWS FIS コンソールで、分数を入力します。
アクセス許可
-
ec2:SendSpotInstanceInterruptions
-
ec2:DescribeInstances
AWS マネージドポリシー
aws:ec2:stop-instances
ターゲットEC2インスタンスStopInstancesで Amazon EC2APIアクションを実行します。
リソースタイプ
-
aws:ec2:instance
パラメータ
-
startInstancesAfterDuration - オプション。インスタンスの起動までの待機時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 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
- オプション。暗号化されたボリュームを持つインスタンスを再起動するには、 startInstancesAfter期間で必要です。
AWS マネージドポリシー
aws:ec2:terminate-instances
ターゲットEC2インスタンスTerminateInstancesで Amazon EC2APIアクションを実行します。
リソースタイプ
-
aws:ec2:instance
パラメータ
-
なし
アクセス許可
-
ec2:TerminateInstances
-
ec2:DescribeInstances
AWS マネージドポリシー
Amazon ECSアクション
AWS FIS は、次の Amazon ECSアクションをサポートします。
アクション
aws:ecs:drain-container-instances
Amazon ECSAPIアクションを実行UpdateContainerInstancesStateして、ターゲットクラスター上の基盤となる Amazon EC2インスタンスの指定された割合をドレインします。
リソースタイプ
-
aws:ecs:cluster
パラメータ
drainagePercentage - パーセンテージ(1 から 100)。
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
ecs:DescribeClusters
ecs:UpdateContainerInstancesState
ecs:ListContainerInstances
tag:GetResources
AWS マネージドポリシー
aws:ecs:stop-task
Amazon ECSAPIアクションを実行StopTaskしてターゲットタスクを停止します。
リソースタイプ
-
aws:ecs:task
パラメータ
なし
アクセス許可
ecs:DescribeTasks
ecs:ListTasks
ecs:StopTask
tag:GetResources
AWS マネージドポリシー
aws:ecs:task-cpu-stress
ターゲットタスクにCPUストレスを実行します。AWSFIS-Run--Stress CPU
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration – 8601 ISO 形式のストレステストの期間。
-
percent - オプション。0 (無負荷) から 100 (全負荷) までの目標負荷率。デフォルトは 100 です。
-
workers - オプション。使用するストレッサーの数。デフォルト値は 0 で、すべてのストレッサーを使用します。
-
installDependencies - オプション。この値が の場合
True
、まだインストールされていない場合、Systems Manager はSSMエージェントのサイドカーコンテナに必要な依存関係をインストールします。デフォルト:True
。依存関係は stress-ng です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-io-stress
ターゲットタスクに I/O ストレスを実行します。AWSFIS-Run-IO-Stress
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration – 8601 ISO 形式のストレステストの期間。
-
percent - オプション。ストレステスト中に使用するファイルシステム上の空き領域の割合。デフォルトは 80% です。
-
workers - オプション。ワーカー数 シーケンシャル、ランダム、およびメモリマップされた読み取り/書き込み操作、強制同期、およびキャッシュドロップの組み合わせを実行するワーカー。複数の子プロセスが同じファイルに対して異なる I/O 操作を実行します。デフォルト は 1 です。
-
installDependencies - オプション。この値が の場合
True
、まだインストールされていない場合、Systems Manager はSSMエージェントのサイドカーコンテナに必要な依存関係をインストールします。デフォルト:True
。依存関係は stress-ng です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-kill-process
killall コマンドを使用して、タスク内の指定されたプロセスを停止します。AWSFIS-Run-Kill-Process pidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。詳細については、「ECS タスクアクションを使用する」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
processName – 停止するプロセスの名前。
-
signal - オプション。コマンドと一緒に送信するシグナル。指定できる値は、
SIGTERM
(受信者が無視することを選択できる) とSIGKILL
(無視できない) です。デフォルト:SIGTERM
。 -
installDependencies - オプション。この値が の場合
True
、まだインストールされていない場合、Systems Manager はSSMエージェントのサイドカーコンテナに必要な依存関係をインストールします。デフォルト:True
。依存関係は killall です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-network-blackhole-port
指定されたプロトコルおよびポートのインバウンドトラフィックまたはアウトバウンドトラフィックをドロップします。AWSFIS-Run-Network-Blackhole-Port pidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode
を bridge
に設定できません。詳細については、「ECS タスクアクションを使用する」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration – 8601 ISO 形式のテスト期間。
-
port - ポート番号。
-
trafficType - トラフィックの種類。指定できる値は
ingress
およびegress
です。 -
protocol - オプション。プロトコル。指定できる値は
tcp
およびudp
です。デフォルト:tcp
。 -
installDependencies - オプション。この値が の場合
True
、まだインストールされていない場合、Systems Manager はSSMエージェントのサイドカーコンテナに必要な依存関係をインストールします。デフォルト:True
。依存関係は、atd、dig、および iptables です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-network-latency
特定のソースへの送信トラフィック用のtcツールを使用して、ネットワークインターフェイスにレイテンシーとジッターを追加します。AWSFIS-Run-Network-Latency-Sources pidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode
を bridge
に設定できません。詳細については、「ECS タスクアクションを使用する」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration – 8601 ISO 形式のテスト期間。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
delayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
jitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4アドレス、 IPv4 CIDR ブロック、ドメイン名、、
DYNAMODB
および ですS3
。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0.0/0 で、すべてのIPv4トラフィックに一致します。 -
installDependencies - オプション。この値が の場合
True
、まだインストールされていない場合、Systems Manager はSSMエージェントのサイドカーコンテナに必要な依存関係をインストールします。デフォルト:True
。依存関係は、atd、dig、jq および tc です。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
aws:ecs:task-network-packet-loss
特定のソースへの送信トラフィック用のtcツールを使用して、ネットワークインターフェイスにパケット損失を追加します。AWSFIS-Run-Network-Packet-Loss-Sources pidMode
を task
に設定している必要があります。タスクは によって管理される必要があります AWS Systems Manager。タスク定義では networkMode
を bridge
に設定できません。詳細については、「ECS タスクアクションを使用する」を参照してください。
リソースタイプ
-
aws:ecs:task
パラメータ
-
duration – 8601 ISO 形式のテスト期間。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
lossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4アドレス、 IPv4 CIDR ブロック、ドメイン名、、
DYNAMODB
および ですS3
。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0.0/0 で、すべてのIPv4トラフィックに一致します。 -
installDependencies - オプション。この値が の場合
True
、まだインストールされていない場合、Systems Manager はSSMエージェントのサイドカーコンテナに必要な依存関係をインストールします。デフォルト: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 カスタムリソースのバージョン。 https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
指定できる値は 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 – Kubernetes カスタムリソースの JSON形式の
spec
セクション。maxDuration - オートメーション実行が完了するまでの最大許容時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
このアクションには AWS Identity and Access Management (IAM) のアクセス許可は必要ありません。このアクションを使用するために必要なアクセス許可は、RBAC認証を使用して Kubernetes によって制御されます。詳細については、Kubernetes の公式ドキュメントのRBAC「認可の使用
aws:eks:pod-cpu-stress
ターゲットポッドにCPUストレスを実行します。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration – 8601 ISO 形式のストレステストの期間。
-
percent - オプション。0 (無負荷) から 100 (全負荷) までの目標負荷率。デフォルトは 100 です。
-
workers - オプション。使用するストレッサーの数。デフォルト値は 0 で、すべてのストレッサーを使用します。
-
kubernetesServiceAccount – Kubernetes サービスアカウント。必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
-
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 - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
-
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 – 8601 ISO 形式のストレステストの期間。
-
workers - オプション。ワーカー数 シーケンシャル、ランダム、およびメモリマップされた読み取り/書き込み操作、強制同期、およびキャッシュドロップの組み合わせを実行するワーカー。複数の子プロセスが同じファイルに対して異なる I/O 操作を実行します。デフォルト は 1 です。
-
percent - オプション。ストレステスト中に使用するファイルシステム上の空き領域の割合。デフォルトは 80% です。
-
kubernetesServiceAccount – Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
-
fisPodSecurityPolicy - オプション。FIS およびエフェメラルコンテナによって作成された障害オーケストレーションポッドに使用する Kubernetes セキュリティ標準
ポリシー。指定できる値は、 privileged
、baseline
、および ですrestricted
。このアクションは、すべてのポリシーレベルと互換性があります。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-memory-stress
ターゲットポッドにメモリストレスを実行します。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration – 8601 ISO 形式のストレステストの期間。
-
workers - オプション。使用するストレッサーの数。デフォルト は 1 です。
-
percent - オプション。ストレステスト中に使用する仮想メモリの割合。デフォルトは 80% です。
-
kubernetesServiceAccount – Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
-
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 – 8601 ISO 形式のテスト期間。
-
protocol - オプション。プロトコル。指定できる値は
tcp
およびudp
です。デフォルト:tcp
。 -
trafficType - トラフィックの種類。指定できる値は
ingress
およびegress
です。 -
port - ポート番号。
-
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-latency
特定のソースへのトラフィックまたは特定のソースからのトラフィックのためのツール tc を使用してネットワークインターフェイスにレイテンシーとジッタを追加します。Kubernetes セキュリティ標準privileged
ポリシーとのみ互換性があります。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration – 8601 ISO 形式のテスト期間。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
delayMilliseconds - オプション。遅延 (ミリ秒単位) 。デフォルトは 200 です。
-
jitterMilliseconds - オプション。ジッタ (ミリ秒単位)。デフォルトは 10 です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4アドレス、 IPv4 CIDR ブロック、ドメイン名、、
DYNAMODB
および ですS3
。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0.0/0 で、すべてのIPv4トラフィックに一致します。 -
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:pod-network-packet-loss
tc ツールを使用してネットワークインターフェイスへのパッケージの損失を追加します。Kubernetes セキュリティ標準privileged
ポリシーとのみ互換性があります。詳細については、「EKS ポッドアクションを使用する」を参照してください。
リソースタイプ
-
aws:eks:pod
パラメータ
-
duration – 8601 ISO 形式のテスト期間。
-
interface - オプション。ネットワークインターフェース。デフォルト:
eth0
。 -
lossPercent - オプション。パケット損失の割合。デフォルトは 7% です。
-
sources - オプション。ソースはカンマで区切ります。指定できる値は、IPv4アドレス、 IPv4 CIDR ブロック、ドメイン名、、
DYNAMODB
および ですS3
。DYNAMODB
またはS3
を指定した場合、これは現在のリージョンのリージョナルエンドポイントにのみ適用されます。デフォルトは 0.0.0.0/0 で、すべてのIPv4トラフィックに一致します。 -
kubernetesServiceAccount - Kubernetes サービスアカウント 必要な権限の詳細については、「Kubernetes サービスアカウントを設定する」を参照してください。
-
fisPodContainerImage - オプション。フォールトインジェクターポッドの作成に使用するコンテナイメージ。デフォルトでは、 が提供するイメージが使用されます AWS FIS。詳細については、「ポッドコンテナイメージ」を参照してください。
-
maxErrorsPercent - オプション。フォールトインジェクションが失敗するまでに障害が発生する可能性のあるターゲットの割合。デフォルトは 0 です。
-
fisPodLabels - オプション。によって作成された障害オーケストレーションポッドにアタッチされた Kubernetes ラベルFIS。
-
fisPodAnnotations - オプション。によって作成された障害オーケストレーションポッドにアタッチされる Kubernetes アノテーションFIS。
アクセス許可
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
AWS マネージドポリシー
aws:eks:terminate-nodegroup-instances
ターゲットノードグループTerminateInstancesで Amazon EC2APIアクションを実行します。
リソースタイプ
-
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 OSSレプリケーショングループの指定されたアベイラビリティーゾーン内のノードへの電源を遮断します。レプリケーショングループごとに一度に 1 つのアベイラビリティーゾーンのみに影響を与えることができます。プライマリノードがターゲットの場合、レプリケーションの遅延が最も小さいリードレプリカがプライマリに昇格されます。このアクションの間、指定されたアベイラビリティーゾーンのリードレプリカの置き換えはブロックされます。つまり、ターゲットのレプリケーショングループは少ない容量で動作します。
リソースタイプ
-
aws:elasticache:redis-replicationgroup
パラメータ
-
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
elasticache:InterruptClusterAzPower
elasticache:DescribeReplicationGroups
tag:GetResources
ネットワークアクション
AWS FIS は、次のネットワークアクションをサポートします。
アクション
aws:network:disrupt-connectivity
ターゲットサブネットへの指定されたトラフィックを拒否します。ネットワーク を使用しますACLs。
リソースタイプ
-
aws:ec2:subnet
パラメータ
scope - 拒否するトラフィックのタイプ。スコープが でない場合
all
、ネットワーク内のエントリの最大数は 20 ACLsです。指定できる値は以下のとおりです。all
- サブネットに出入りするすべてのトラフィックを拒否します。このオプションでは、サブネット内のネットワークインターフェースに出入りするトラフィックを含め、サブネット内トラフィックが許可されることに注意してください。availability-zone
– 他のアベイラビリティーゾーンのサブネットとの間のトラフィックVPCを拒否します。でターゲットにできるサブネットの最大数は 30 VPCです。dynamodb
- 現在のリージョンの DynamoDB のリージョナルエンドポイントとの間のトラフィックを拒否します。prefix-list
- 指定されたプレフィックスリストとの間で送受信されるトラフィックを拒否します。s3
- 現在のリージョンの Amazon S3 のリージョンエンドポイントとの間のトラフィックを拒否します。vpc
– に出入りするトラフィックを拒否しますVPC。
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
prefixListIdentifier - スコープが
prefix-list
の場合、これはカスタマー管理プレフィックスリストの識別子です。名前、ID、または を指定できますARN。このプレフィックスリストは、最大 10 エントリです。
アクセス許可
ec2:CreateNetworkAcl
– タグ managedByFIS=true ACLを使用してネットワークを作成します。ec2:CreateNetworkAclEntry
– ネットワークには、タグ managedByFIS=true ACLが必要です。ec2:CreateTags
ec2:DeleteNetworkAcl
– ネットワークには、タグ managedByFIS=true ACLが必要です。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、値は 8601 ISO 形式の文字列です。例えば、 は 1 分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 マネージドポリシー
aws:network:transit-gateway-disrupt-cross-region-connectivity
指定されたリージョンを宛先とするターゲットのトランジットゲートウェイピアリングアタッチメントからのトラフィックをブロックします。
リソースタイプ
-
aws:ec2:transit-gateway
パラメータ
-
region
- 分離するリージョンのコード (eu-west-1 など)。 -
duration
— アクションが継続する時間の長さ。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 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 RDSAPIアクション FailoverDBCluster を実行します。
リソースタイプ
-
aws:rds:cluster
パラメータ
なし
アクセス許可
rds:FailoverDBCluster
rds:DescribeDBClusters
tag:GetResources
AWS マネージドポリシー
aws:rds:reboot-db-instances
ターゲット DB インスタンスで Amazon RDSAPIアクション 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、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 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ドキュメント の 1 つに対応するアクションタイプ から値を選択すると、このパラメータが完了します。
documentVersion - オプション。ドキュメントのバージョン。空の場合、デフォルトバージョンが実行されます。
documentParameters - 条件付き。ドキュメントが受け入れる必須およびオプションのパラメータ。形式は、文字列であるキーと、文字列または文字列の配列である値を持つJSONオブジェクトです。
duration - 所要時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
AWS マネージドポリシー
aws:ssm:start-automation-execution
Systems Manager APIアクション を実行しますStartAutomationExecution。
リソースタイプ
-
なし
パラメータ
documentArn – オートメーションドキュメントの Amazon リソースネーム (ARN)。
documentVersion - オプション。ドキュメントのバージョン。空の場合、デフォルトバージョンが実行されます。
documentParameters - 条件付き。ドキュメントが受け入れる必須およびオプションのパラメータ。形式は、文字列であるキーと、文字列または文字列の配列である値を持つJSONオブジェクトです。
maxDuration - オートメーション実行が完了するまでの最大許容時間。1 分から 12 時間です。では AWS FIS API、値は 8601 ISO 形式の文字列です。例えば、 は 1 分PT1Mを表します。 AWS FIS コンソールで、秒数、分数、または時間数を入力します。
アクセス許可
ssm:GetAutomationExecution
ssm:StartAutomationExecution
ssm:StopAutomationExecution
iam:PassRole
- オプション。自動化ドキュメントが役割を引き受ける場合は必須です。