Some AWS services offer fault tolerance or high availability by default (e.g. DynamoDB, S3, Route 53, ...).
Other services are running in a single Availability Zone and are therefore not fault tolerant or highly availability by default (e.g. EC2 Instance, EBS Volume). But AWS is offering tools and infrastructure to build fault tolerant or high available systems on top of these services. For example, a web application running on multiple EC2 instance in multiple Availability Zones outsourcing data to DynamoDB (stateless server) and decoupling with a Load Balancer will be highly available.
Chapter 11, 12, and 13 of our book Amazon Web Services in Action
is covering this topic in detail.