Incident Library

IL-0364 UK Ministry of Justice · 2022-07-11awskubernetesnetworking

A quarter of Cloud Platform ingress traffic was slow because an AWS NLB stopped health-checking targets in one zone

After an AWS incident on 10 July 2022, the health checking subsystem of the NLB in front of the Cloud Platform's 'default' ingress controllers lost track of the targets in one Availability Zone. According to AWS, a latent software race condition was triggered when some health checking instances were restarted; the subsystem then returned no health status for that zone, did not detect some targets there as unhealthy, and clients connecting to one of the NLB's Elastic IPs timed out. The problem was first detected at 09:33 on 11 July and declared an incident at 10:11. AWS restarted the health checking subsystem, which refreshed its list of targets and recovered the NLB in the affected zone, and the incident was resolved at 16:07, with a time to repair of 6h 27m.

Severity
–
Scope
Slow performance for 25% of ingress traffic through the 'default' ingress controllers
Users affected
–
Region
one Availability Zone
Time to detect
–
Time to resolve
6h 27m

Symptoms

On 11 July 2022 users reported in the #ask-cloud-platform Slack channel that their applications on the Ministry of Justice Cloud Platform were slow some of the time. About 25% of ingress traffic was affected: after an AWS incident the day before, one of the three network interfaces of the 'default' ingress controllers performed slowly, and clients timed out when they tried to connect to one of the Elastic IPs of the Network Load Balancer (NLB) in front of them.

Symptom High latencyIntermittent timeouts

Root cause

Root cause Cloud provider outage

Contributing factor –
Trigger
Some instances of the AWS NLB health checking subsystem were restarted, which set off a latent software race condition in that subsystem.

Detection

Users reported slow performance of their applications in the #ask-cloud-platform Slack channel.

Remediation

Action items

Lessons

–

Sources

References

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, Cloud load balancer, Ingress controller among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.