aws/agent-toolkit-for-aws

aws-fault-injection-service

Plans, builds, runs, and analyzes fault injection experiments with AWS Fault Injection Service (AWS FIS) to validate application resilience through chaos engineering.

소스 보기
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

AWS Fault Injection Service (FIS) Experiments

Overview

Domain expertise for AWS Fault Injection Service (AWS FIS) — a managed chaos-engineering service that runs controlled fault injection experiments on real AWS resources so you can observe how an application responds to disruption and improve its resilience.

This skill lets an agent do three things:

  1. Suggest the right experiment — map a user's failure scenario or resilience question to

the correct FIS action(s), scenario, or experiment design, and explain the trade-offs.

  1. Build and run experiments — author experiment templates (actions, targets, stop

conditions, logging, reports), wire up the experiment IAM role, and drive the run/monitor/stop lifecycle via CLI, SDK, or CloudFormation.

  1. Inform the user — answer conceptual questions about FIS terminology, safety, pricing,

supported services, and how FIS fits into a resilience program.

AWS FIS carries out real actions on real AWS resources. Before running any experiment in production, plan it, run it first in pre-production, and always bound the blast radius with a stop condition. Treat fault injection as a privileged, potentially disruptive operation. The AWS MCP server is recommended for executing this skill's AWS API calls — it provides sandboxed execution and audit logging — but it is not required; all operations also work with the AWS CLI (aws fis ...) directly.

Guardrail — where this skill's own files live (MCP vs local install)

Before reading a reference file, determine how this skill was loaded:

  • Loaded via the AWS MCP `retrieve_skill` tool: the skill's reference files are not on the

local filesystem. Fetch each one through retrieve_skill with the file parameter (e.g. file="references/fis-concepts.md") — do NOT file_read these paths locally or search the filesystem for them.

  • Installed locally (e.g. .kiro/skills/aws-fault-injection-service/ or

~/.claude/skills/aws-fault-injection-service/): read reference files from the local skill directory using the relative paths shown here.

This applies only to the skill's own reference files; always read and write user or session data in the working directory, never through retrieve_skill.

Start here — route the request

  • "What is FIS / when should I use it / what does X term mean / does it support Y?"

read references/fis-concepts.md.

  • "What experiment/action should I run to test a failure mode?"

read references/fis-actions-reference.md (action selection map + full catalog) and suggest an action or scenario.

  • "Build / create / run an experiment" (template, targets, stop conditions, logging,

reports, scenarios, multi-account, monitoring) → follow references/fis-workflow.md exactly.

  • Any AWS CLI or API command for FIS → consult

references/fis-api-reference.md FIRST — it is the canonical operation/parameter reference and includes a hallucination-rejection table.

  • IAM role, permissions, trust policy, confused-deputy, blast-radius safety

read references/fis-security.md.

API Reference (READ FIRST before producing any AWS CLI command)

The exact aws fis operation names and template parameters are documented in references/fis-api-reference.md, including a table mapping common wrong API/action names to correct ones. Always consult it before generating commands. Action IDs and resource types evolve — verify with aws fis list-actions and aws fis get-action --id <action-id> rather than trusting memory.

Suggesting experiments (behavioral contract)

When the user describes a failure they want to test rather than a command they want run:

  1. Identify the failure mode (AZ impairment, Region isolation, API errors/throttling,

compute/DB/cache loss, latency, packet loss, resource exhaustion).

  1. Map it to a scenario (preferred when one fits — pre-built and AWS-owned) or a specific

action using the selection map in references/fis-actions-reference.md.

  1. State the target (resource type + how to scope it) and a stop condition (CloudWatch

alarm on your steady-state metric) so the blast radius is bounded.

  1. Recommend running in pre-production first, then production under change management.
  2. Offer to generate the experiment template — then follow

references/fis-workflow.md.

Do not invent action IDs, resource types, or parameters. If unsure, say so and verify with aws fis list-actions / aws fis get-action or the FIS documentation.

Troubleshooting

"Experiment failed immediately / no targets found"

FIS resolves all targets at experiment start; if a target resolves to zero resources, the experiment fails (unless emptyTargetResolutionMode is skip). Check tags, filters, region, and account. Use a target preview before running (see workflow reference).

"Action failed with a permissions error"

The FIS experiment IAM role is missing permissions for the underlying service API (or SSM, or the confused-deputy trust conditions block the assume). See references/fis-security.md.

"Experiment stopped unexpectedly"

A stop condition (CloudWatch alarm) likely fired — this is the guardrail working. Check the experiment's state.reason and the alarm history. A stopped experiment cannot be resumed; start a new one from the template.

"Nitro / instance-type errors on EBS or network faults"

Some actions require Nitro-based instances or the SSM Agent. Verify prerequisites per action in references/fis-actions-reference.md.

Observability companion

For the CloudWatch alarms, dashboards, and metrics that back FIS stop conditions and experiment reports, recommend the AWS Observability skill for alarm/dashboard setup — keep this skill's guidance to how those signals feed experiment safety and post-experiment analysis.

Security Considerations

FIS runs real, potentially destructive actions. Key points (full guidance in references/fis-security.md):

  • Least privilege: scope the experiment role to only the actions and target ARNs each

experiment needs — never *. Scope the human/CI principals allowed to call fis:StartExperiment.

  • Confused-deputy protection: the experiment role's trust policy MUST condition on

aws:SourceAccount and aws:SourceArn (scoped to the experiment ARN pattern).

  • Bounded blast radius: always attach a CloudWatch-alarm stop condition; start with narrow

targets (COUNT(1) / low PERCENT) and pre-production before production.

  • No sensitive data in string fields: experiment/template descriptions, tags, and logs

surface in CloudTrail, CloudWatch Logs, S3 reports, and (multi-account) target-account Health dashboards — never embed PII, secrets, or sensitive architecture detail.

  • Encrypt logs/reports: experiment logs and PDF reports reveal resilience posture —

use SSE-KMS on the S3 buckets, enforce TLS, and consider S3 Object Lock on report buckets.

and the AWS Well-Architected Reliability Pillar.

같은 저장소의 Skills

더 많은 Skills

모든 Skills
aws
공식

aws-billing-and-cost-management

Analyze AWS costs, find savings, manage budgets, evaluate Savings Plans and Reserved Instances, right-size EC2/Lambda/RDS/EBS with Compute Optimizer, look up service pricing, query CUR with Athena, detect cost anomalies, scope costs to billing views, and monitor Free Tier usage. Triggers on: AWS bill, cost analysis, reduce spend, savings plan, reserved instance, right-size, budget alert, cost optimization, pricing, free tier, cost anomaly, CUR, cost audit, billing view, billing view ARN.

설치 수
10
GitHub Stars
2.7천
업데이트
9월 23일
aws
공식

aws-cdk

Authors, deploys, and troubleshoots AWS infrastructure using CDK with TypeScript or Python. Covers best practices, stack architecture, and construct patterns. Applies when writing CDK constructs, bootstrapping environments, running cdk deploy/synth/diff, fixing CDK or CloudFormation errors, planning stack structure, importing existing resources, resolving drift, or refactoring stacks without resource replacement.

설치 수
10
GitHub Stars
2.7천
업데이트
9월 23일
aws
공식

aws-cloudformation

Authors, validates, and troubleshoots AWS CloudFormation templates. Covers template authoring with secure defaults, local validation with either cfn-lint or cloudformation-validate, cfn-guard security and compliance checks as a recommended default, account-aware CloudFormation service pre-deployment validation, CloudFormation Express mode for faster deployments, and root-cause diagnosis of failed stacks using CloudFormation events and CloudTrail correlation. Also covers author-time template intelligence with the CloudFormation Language Server and published cloudformation-validate libraries.

설치 수
10
GitHub Stars
2.7천
업데이트
9월 23일
aws
공식

aws-containers

Builds and deploys containerized workloads on Elastic Kubernetes Service (EKS), Elastic Container Service (ECS), Fargate, and ECR (Elastic Container Registry). Covers general EKS knowledge, Karpenter, AWS Load Balancer Controller and leveraging various open source Kubernetes projects with EKS. Covers general ECS knowledge, task definitions, Fargate services, ECS Exec, ECS Express Mode and ECS Managed Instances. Covers general Elastic Beanstalk knowledge, Elastic Beanstalk configuration and platforms supported by Elastic Beanstalk. Covers general ECR knowledge, ECR repository setup and lifecycle policies. Includes recommending, enabling, and reading Amazon ECS Action Logs to troubleshoot control-plane failures (deployment rollback/circuit-breaker, task placement, scaling, task replacement). Applies when deploying, debugging, or optimizing containers on AWS. Should be used instead of relying on internal knowledge for these services.

설치 수
11
GitHub Stars
2.7천
업데이트
9월 23일