# Test 14 — Auto Scaling failure-triggered self-healing

Status: **PASS**

Executed: **6 August 2026 (SGT)**

AWS account: **427617722186**

Region: **eu-west-1 (Europe — Ireland)**

## Objective

Prove that terminating the Auto Scaling-managed Ireland application target without reducing desired capacity causes AWS to launch, register and health-check a replacement while the independent target continues serving through the Application Load Balancer.

## Accepted measured run

- Auto Scaling group: `eg334s-team2-secondary-ActiveSecondaryAsg`
- Group capacity: minimum `1`, maximum `1`, desired `1`
- ASG-managed target terminated: `i-0c12fd4986c5325c7` (`eu-west-1b`)
- Replacement target: `i-007de79523eda8b4a` (`eu-west-1b`)
- Independent target: `i-04d4025fda0bb37b4` (`eu-west-1a`)
- Replacement reached ASG `InService`, ASG `Healthy` and ALB `healthy` in **83 seconds**.
- Timestamped ALB sampling returned **101/101 HTTP 200** with **0 observed failures**.
- Both ALB targets were healthy at completion.

The controlled command was:

```text
aws autoscaling terminate-instance-in-auto-scaling-group \
  --region eu-west-1 \
  --instance-id i-0c12fd4986c5325c7 \
  --no-should-decrement-desired-capacity
```

## Recorded confirmation run

A second attended run was recorded to obtain clear provider-console evidence:

- Started: **21:12:56 SGT**
- Controlled action: **21:12:58 SGT**
- ASG-managed target terminated: `i-007de79523eda8b4a`
- AWS replacement: `i-0f5d5ef2822130feb`
- Final verification: **21:20:26 SGT**
- Final ASG state: replacement `InService` and `Healthy`
- Final ALB state: replacement and independent target both `healthy`
- Observed application checks: **345/345 HTTP 200**, **0 failures**
- Current ALB response at close: **HTTP 200**

The concise recording is genuine AWS CloudShell footage. It shows the controlled termination and the separately verified final state. The confirmation-run polling display briefly labelled the terminating instance as the replacement; that display-only label was excluded from the edited recording and is not used for timing evidence. The **83-second** result above remains the accepted measured duration.

## Accepted claim

Test 14 proves **failure-triggered Auto Scaling instance replacement, restoration of desired capacity and restoration of two healthy ALB targets**, while the independent target continued returning successful responses during the measured samples.

It does **not** prove complete Availability Zone failure, regional disaster recovery or guaranteed zero-loss behaviour under every workload and health-check timing condition.

## Artefacts

- Recording: `assets/video/14-auto-scaling-self-healing.mp4`
- Dashboard: Test 14 in the authoritative verification register and controlled-action laboratory
