AWS FIS のアクションセット - AWS フォールトインジェクションサービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS FIS のアクションセット

実験テンプレートを作成するには、アクションセットを構成する 1 つ以上のアクションを定義する必要があります。 AWS FIS が提供する定義済みアクションのリストについては、を参照してください。アクション

アクションは、実験中に 1 回だけ実行できます。同じ実験で同じ AWS FIS アクションを複数回実行するには、異なる名前を使用してそのアクションをテンプレートに複数回追加します。

アクションの構文

以下にアクションセット用の構文を示します。

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

アクションを定義する場合は、以下を指定します。

action_name

アクションの名前。

actionId

アクション識別子

description

オプションの説明。

parameters

任意のアクションパラメータ

startAfter

このアクションを開始する前に完了する必要があるアクション。それ以外の場合、アクションは実験の開始時に実行されます。

targets

すべてのアクションターゲット

例については、「アクションの例」を参照してください。

アクション期間

アクションにアクションの継続時間を指定するために使用できるパラメータが含まれている場合、デフォルトでは、このアクションは指定した期間が経過した後にのみ完了とみなされます。emptyTargetResolutionMode 実験オプションを skip に設定した場合、ターゲットが解決されなかったとき、アクションは「スキップ」ステータスですぐに完了します。たとえば、5 分の時間を指定した場合、 AWS FIS は 5 分後にアクションが完了したと見なします。その後、すべてのアクションが完了するまで、次のアクションが開始されます。

期間は、アクション条件が維持される時間、またはメトリクスが監視される時間の長さのいずれかです。例えば、指定した時間の間、レイテンシーが注入されます。インスタンスの終了など、ほぼ瞬時のアクションタイプの場合、停止条件は指定された期間監視されます。

アクションがアクションパラメータ内にポストアクションを含んでいる場合、そのアクションが完了した後にポストアクションが実行されます。ポストアクションを完了するのにかかる時間によって、指定されたアクション期間から次のアクションの開始までの間に遅延が発生することがあります(または、他のすべてのアクションが完了した場合は実験を終了します)。

アクションの例

アクションの例は次のとおりです。

例: EC2インスタンスを停止する

次のアクションは、targetInstances という名前のターゲットで識別された EC2 インスタンスを停止します。2 分後にターゲットのインスタンスが再起動されます。

"actions": { "stopInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M" }, "targets": { "Instances": "targetInstances" } } }
例: スポットインスタンスの中断

次のアクションは、という名前のターゲットを使用して識別されたスポットインスタンスを停止します。targetSpotInstances2 分間待ってから、スポットインスタンスが中断されます。

"actions": { "interruptSpotInstances": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M" }, "targets": { "SpotInstances": "targetSpotInstances" } } }
例: ネットワークトラフィックの中断

次のアクションは、ターゲットサブネットと他のアベイラビリティーゾーン内のサブネット間のトラフィックを拒否します。

"actions": { "disruptAZConnectivity": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M" }, "targets": { "Subnets": "targetSubnets" } } }
例: EKS ワーカーの終了

次のアクションは、targetNodeGroups指定されたターゲットを使用して識別された EKS クラスター内の EC2 インスタンスの 50% を終了します。

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