Skip to content

Published service level agreements

An AWS service level agreement is a credit policy, not an availability guarantee. It defines a monthly uptime percentage, measured per Region over a billing cycle, and the service credits AWS owes if the measurement falls short. It does not promise that a given workload will be available, and the credit is the entire remedy. Design to the numbers only in the sense of knowing what AWS is prepared to commit to.

ServiceRegional or multi-AZ commitmentSingle-resource commitment
Amazon EC299.99% per Region99.5% for a single EC2 instance
Amazon ECS and AWS Fargate99.99% for tasks or pods spread across Availability Zones99.5% for a single task or pod
Amazon EKS99.95% standard control plane, 99.99% provisioned control planeWorker capacity falls under the EC2 or ECS and Fargate SLA
AWS Lambda99.95% per RegionNone — there is no instance to commit to
AWS Elastic BeanstalkNo SLA of its own
AWS App RunnerNo published SLA

Two details are easy to miss. The EC2 SLA credits a single instance automatically when it is unavailable for more than six minutes in an hour, without a claim. The EKS commitment depends on which control plane the cluster runs: the standard control plane is measured in five-minute intervals at 99.95%, the provisioned control plane in one-minute intervals at 99.99%.

Elastic Beanstalk publishes none because it does not run anything itself — it provisions EC2 instances, Elastic Load Balancing and Auto Scaling in the account, and those carry their own commitments. An availability estimate for a Beanstalk environment is an estimate built from the resources underneath it.

App Runner publishes none at all, and is now closed to new customers; see Elastic Beanstalk and App Runner for what AWS recommends in its place.

A 99.99% monthly commitment allows roughly four and a half minutes of unavailability a month; 99.95% allows about twenty-two minutes; 99.5% allows about three and a half hours. Those are AWS’s allowances, not the application’s: a system depending on several services in series has a compound availability lower than the weakest of them, which is the argument for multi-AZ deployment, retries, and removing dependencies from the critical path rather than for quoting a vendor number to a customer.

Every figure above is from the SLA AWS publishes for the service — the Amazon Compute SLA for EC2, the Amazon ECS and AWS Fargate SLA, the Amazon EKS SLA and the AWS Lambda SLA. AWS keeps the full list at AWS service level agreements; a service absent from that list has none.