Incident Library
  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases4 cases

1 to 4 of 4

  1. Symptoms

    Railway's edge servers on Google Cloud could not route inbound requests to applications in any region for about 10 minutes, on 17 December 2024 UTC. Private networking, outbound requests, Metal Hosts and Dedicated Instances kept working.

    Trigger

    A merged Terraform change emptied the array of a static IP block list, to unblock a customer whose IP had been blocked since before Railway moved to a dynamic block list and who had reported intermittent timeouts.

    Root cause
    Component
    Contributing factor
    Detection

    Automated alerting paged the current on-call engineer at 12:49 am UTC, two minutes after the change was merged.

    Remediation
    • Reverted the change to the IP allow-list rules
    • Applied the reverted change through the Terraform runner
    Action items
    • Automatically apply a page override for merged changes, for faster notification
    • Skip the Terraform plan phase during a revert
    • Remove the offending firewall rule safely
    • Audit all remaining legacy Google Cloud firewall rules for loose specificity
    • Move to its own metal infrastructure while keeping GCP and adding AWS, for resilience and fault isolation
  2. Symptoms

    On 20 September 2024 at 11:24 the Cloud Platform team received high priority Pingdom alerts for services on the live cluster, and from 11:26 teams reported in the #ask channel that services were unavailable. Users reported that services could not be resolved.

    Trigger

    At 11:21 the infrastructure-vpc-live-1 pipeline was unpaused, and a pull request that had been waiting in its queue ran automatically.

    Root cause
    Component
    Contributing factor
    Detection

    High priority Pingdom alerts for live cluster services reached the Cloud Platform team at 11:24, and users reported that services could not be resolved.

    Remediation
    • Ran terraform apply locally to rebuild the subnet route table associations
    Action items
    • Review and update the process for pausing and resuming infrastructure pipelines so every team member knows its implications
    • Find a way to hold queued pull requests while manual infrastructure updates are under way
    • Find ways to isolate the plan and apply tasks of infrastructure pipelines better
  3. Symptoms

    On 7 February 2019 from 22:17 to 23:25 UTC, some Acquia Cloud Enterprise sites in US-East became unstable or went down for multiple customers. The web servers could not reach the Memcache servers, PHP processes on the web servers were blocked, and the sites became unavailable.

    Trigger

    While setting up a temporary file system to store diagnostic data, a rule was deleted by mistake from a VPC security group.

    Root cause
    Component
    Contributing factor
    Detection

    Acquia's configuration drift alerting fired, but the alert was not seen in time to shorten the outage.

    Remediation
    • Restored the missing rule in the security group by hand
    Action items
    • Correct the internal workflow with all involved teams to prevent similar mistakes
    • Alert internal teams faster about configuration drift in VPC security groups
  4. Symptoms

    From 9:28am Pacific Time on 8 March 2016, applications on the cloud.gov PaaS that relied on outbound traffic to reach the services they depended on became unavailable, and at one point every application on cloud.gov was down.

    Trigger

    At 9:28am Pacific Time on 8 March 2016 a contractor at Aquilent changed the AWS security group settings, one of several changes made in the process of achieving ATO for the platform.

    Root cause
    Component
    Contributing factor
    –
    Remediation
    • Added exceptions for individual applications, which restored some of them
    • Rolled back the security group change, which restored all applications
    Action items
    • Put all security group configuration into version control and make changes through pull requests
    • Monitor the applications running on cloud.gov and alert the cloud.gov team when they do not work as expected
    • Use CF security groups instead of AWS security groups and make the current rules visible to the cloud.gov team and the teams using it
    • Create a notification system to reach the key contact of each application on the platform
    • Create a more accurate staging environment to test changes like this
Check your cluster for this

These 4 cases involve VPC route tables and firewall rules and Terraform. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause2