AWS Load Balancer AZ Check
Built-in Command Probe template that validates the availability of target availability zones in an ALB or CLB during a chaos experiment.
AWS Load Balancer AZ Check is a built-in Command Probe template that validates the availability of one or more target availability zones in a given Application Load Balancer (ALB) or Classic Load Balancer (CLB) during a chaos experiment. Use it to assert that load balancer zone coverage and multi-AZ redundancy hold up while a fault disrupts a zone or the network path to it.
The probe runs the healthchecks utility bundled in the chaos probe image, queries the Elastic Load Balancing API, and prints [Pass] when the target zones are available on the load balancer. The comparator marks the probe as passed when the output contains [Pass].
Use cases
Use this probe template to:
Verify load balancer availability zone configuration during AZ failures.
Validate traffic distribution across availability zones.
Monitor load balancer health during network chaos experiments.
Confirm that multi-AZ redundancy is maintained.
How the probe works
The template configures a Command Probe that runs healthchecks -name aws-lb-az. The utility resolves the load balancer from LOAD_BALANCER_ARN (for an ALB) or LOAD_BALANCER_NAME (for a CLB) in the supplied REGION, calls the Elastic Load Balancing API, and prints [Pass] when every zone in ZONES is available on the load balancer. 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 Elastic Load Balancing API endpoints.
AWS credentials: Cloud credentials available to the chaos infrastructure, with the permissions listed below.
Target load balancer exists: The ALB referenced by
LOAD_BALANCER_ARNor the CLB referenced byLOAD_BALANCER_NAMEexists 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 the target availability zones are configured on the load balancer.
Environment variables
LOAD_BALANCER_ARN
ARN of the ALB to check (for example, arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/1234567890abcdef). Provide this for an ALB.
Conditional
-
LOAD_BALANCER_NAME
Name of the CLB to check (for example, my-classic-lb). Provide this for a CLB.
Conditional
-
REGION
AWS region where the load balancer is located (for example, us-east-1, eu-west-2).
Yes
-
ZONES
Comma-separated list of availability zones to check (for example, us-east-1a,us-east-1b,us-east-1c).
Yes
-
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 Security Group Rule Check: Validate that security groups have rules configured.
Built-in probe templates: Browse the full probe template library.
Last updated
Was this helpful?