タダです.
AWS Fault Injection Service(以降 FIS)で部分的な障害テストシナリオがサポートされたというアナウンスがありました.実際に遭遇する障害シナリオとしてこういう部分的な障害は多く経験したことがあるため,試してみます.
アップデート概要
FIS に新シナリオが 2 つ追加されました.
AZ: Application Slowdown: 単一 AZ 内の EC2 / ECS / EKS リソース間に対してネットワークレイテンシや中断を注入し,その AZ だけ遅延・スループット低下が発生している状況を再現できるシナリオCross-AZ: Traffic Slowdown: AZ 間のトラフィックにパケットロスや遅延を発生させ,マルチ AZ 構成アプリケーションの AZ 間通信が劣化した状態を再現できるシナリオ
これらのシナリオは,FIS のシナリオライブラリとして AWS があらかじめ用意している実験テンプレートで提供されます.
これまでも FIS には AZ Availability: Power Interruption という1 AZ 全体が停電したような状態を再現するシナリオが存在しましたが,今回のアップデートで部分的な障害がサポートされました.
実際のテストシナリオを試す
ここからは実際に簡単な検証環境を作り AZ: Application Slowdown を試してみます.
検証環境
シンプルな構成にして,単一 AZ 内の EC2 をネットワーク速度を遅くするシナリオを試してみます.
- リージョン: us-east-1
- Public Subnet: 2 つ(異なる AZ で us-east-1a / 1b)
- EC2: 2 台(各 AZ に 1 台ずつ配置)
- IAM:
- EC2 に
AmazonSSMManagedInstanceCoreを付与
- EC2 に
検証のシナリオ
FIS の template は以下の設定でつくりました.us-east-1b のネットワーク速度が落ちるように設定しました.使用しているのが SSM Document の AWSFIS-Run-Network-Latency-Sources で tc を使用してレイテンシーとジッタを追加しています.
❯ aws fis get-experiment-template --id EXPEKPD4w6UU79Tm6a --region us-east-1 { "experimentTemplate": { "id": "EXTFHLhsHdPdHuNgQ", "arn": "arn:aws:fis:us-east-1:[AWS Account Number]:experiment-template/EXPEKPD4w6UU79Tm6a", "description": "Add latency between resources within a single AZ", "targets": { "TargetsForEC2": { "resourceType": "aws:ec2:instance", "resourceTags": { "app": "fis-demo" }, "filters": [ { "path": "Placement.AvailabilityZone", "values": [ "us-east-1b" ] } ], "selectionMode": "ALL" } }, "actions": { "LatencyForEC2": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:us-east-1::document/AWSFIS-Run-Network-Latency-Sources", "documentParameters": "{\"DelayMilliseconds\":\"5000\",\"Sources\":\"us-east-1b\",\"Interface\":\"DEFAULT\",\"TrafficType\":\"ingress\",\"DurationSeconds\":\"300\",\"FlowsPercent\":\"> "duration": "PT5M" }, "targets": { "Instances": "TargetsForEC2" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": "2025-11-16T08:02:05.361000+09:00", "lastUpdateTime": "2025-11-16T08:35:13.708000+09:00", "roleArn": "arn:aws:iam::[AWS Account Number]:role/service-role/AWSFISIAMRole-1763247565194", "tags": { "Name": "Application Slowdown test" }, "experimentOptions": { "accountTargeting": "single-account", "emptyTargetResolutionMode": "skip" } } }
関連情報
検証を試してみる
作った AZ: Application Slowdown のシナリオを試してみます.
❯ aws fis start-experiment --experiment-template-id EXTFHLhsHdPdHuNgQ --region us-east-1 { "experiment": { "id": "EXPEKPD4w6UU79Tm6a", "arn": "arn:aws:fis:us-east-1:[AWS Account Number]:experiment/EXPEKPD4w6UU79Tm6a", "experimentTemplateId": "EXTFHLhsHdPdHuNgQ", "roleArn": "arn:aws:iam::[AWS Account Number]:role/service-role/AWSFISIAMRole-1763247565194", "state": { "status": "initiating", "reason": "Experiment is initiating." }, "targets": { "TargetsForEC2": { "resourceType": "aws:ec2:instance", "resourceTags": { "app": "fis-demo" }, "filters": [ { "path": "Placement.AvailabilityZone", "values": [ "us-east-1b" ] } ], "selectionMode": "ALL" } }, "actions": { "LatencyForEC2": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:us-east-1::document/AWSFIS-Run-Network-Latency-Sources", "documentParameters": "{\"DelayMilliseconds\":\"5000\",\"Sources\":\"us-east-1b\",\"Interface\":\"DEFAULT\",\"TrafficType\":\"ingress\",\"DurationSeconds\":\"300\",\"FlowsPercent\":\"> "duration": "PT5M" }, "targets": { "Instances": "TargetsForEC2" }, "state": { "status": "pending", "reason": "Initial state" } } }, "stopConditions": [ { "source": "none" } ], "creationTime": "2025-11-16T19:18:06.046000+09:00", "startTime": "2025-11-16T19:18:06.330000+09:00", "tags": {}, "experimentOptions": { "accountTargeting": "single-account", "emptyTargetResolutionMode": "skip", "actionsMode": "run-all" } } }
シナリオの実行が成功しました.

関連情報
まとめ
FIS に追加された部分的な障害シナリオを単一 AZ のものを試してみました.