AWS ECS Service Status Check
Built-in Command Probe template that validates whether an Amazon ECS service has reached its desired state during a chaos experiment.
AWS ECS Service Status Check is a built-in Command Probe template that validates the status of one or more Amazon ECS services during a chaos experiment. It confirms that each service has reached its desired state, where the running task count matches the desired task count, within the configured timeout. Use it to assert that ECS services stay healthy and self-heal while a fault disrupts the cluster.
The probe runs the healthchecks utility bundled in the chaos probe image, queries the Amazon ECS API, and prints [Pass] when every targeted service has reached its desired state. The comparator marks the probe as passed when the output contains [Pass].
Use cases
Use this probe template to:
Confirm that ECS services maintain the desired task count during failures.
Validate service auto-scaling behavior during load changes.
Monitor service health during container chaos experiments.
Verify service deployment and rollback operations.
How the probe works
The template configures a Command Probe that runs healthchecks -name aws-ecs. The utility resolves the services named in SERVICE_NAMES within the CLUSTER_NAME cluster and the supplied REGION, calls the Amazon ECS API, and prints [Pass] when every service reaches its desired state within STATUS_CHECK_TIMEOUT. The comparator passes the probe when the output contains [Pass], and fails it otherwise.
Prerequisites
Chaos infrastructure: A Kubernetes chaos infrastructure with network access to the Amazon ECS API endpoints.
AWS credentials: Cloud credentials available to the chaos infrastructure, with the permissions listed below.
Target services exist: The cluster named in
CLUSTER_NAMEand the services inSERVICE_NAMESexist inREGION.
Permissions required
The credentials used by the probe need the following AWS actions:
The probe uses the AWS credentials available to your chaos infrastructure. Go to AWS IAM integration to set up access through IAM Roles for Service Accounts (IRSA), or go to common policy for all AWS faults to apply a single superset policy.
Probe properties
Command
Comparator
string
contains
[Pass]
The probe passes when the command output contains [Pass], which indicates that every targeted ECS service has reached its desired state.
Environment variables
CLUSTER_NAME
Name of the ECS cluster that contains the service (for example, my-ecs-cluster).
Yes
-
SERVICE_NAMES
Comma-separated list of ECS service names to check (for example, web-service,api-service).
Yes
-
REGION
AWS region where the ECS cluster is located (for example, us-east-1, eu-west-2).
Yes
-
STATUS_CHECK_TIMEOUT
Maximum time in seconds to wait for the service to reach the desired state.
No
180
STATUS_CHECK_DELAY
Delay in seconds between status checks.
No
2
Run properties
timeout
Maximum time to wait for the probe to complete (for example, 30s, 1m, 5m).
String
300s
interval
Time between probe executions (for example, 5s, 30s, 1m).
String
10s
attempt
Number of retry attempts before the probe is marked as failed.
Integer
1
pollingInterval
Time between retry attempts (for example, 1s, 5s, 10s).
String
-
initialDelay
Initial delay before the probe starts (for example, 0s, 10s, 30s).
String
-
stopOnFailure
Stop the experiment if the probe fails.
Boolean
false
verbosity
Log verbosity level (info, debug, trace).
String
-
Troubleshooting
Related probe templates
AWS EC2 Instance Status Check: Validate the state of EC2 instances.
AWS Lambda Function Status Check: Validate that a Lambda function is active.
Built-in probe templates: Browse the full probe template library.
Last updated
Was this helpful?