Casebook
Start with the symptom, then identify which service produced it. Reach asks whether the request can get there; Allowed asks whether its identity has permission; Password asks whether the supplied secret is valid. Some cases concern application behavior rather than any of these three.
The first twenty pages are troubleshooting scenarios tied to MiniTickets. Some include historical observations, clearly labelled. The last six recount our incidents. Each page gives a decision diagram, checks, a fix, prevention and a short interview answer. Start with the runbook index during an incident; use these cases to understand why the checks matter. The scheduled-Lambda scenario is an interview exercise, not a deployed job.
Real symptoms, read like a detective: the error first, then the likely causes, checks and fixes.
- A scheduled Lambda gets AccessDenied after weeks
- ECS cannot pull the image
- A task cannot read its secret
- The load balancer returns 502 or 503
- A target stays unhealthy
- The API cannot reach Postgres
- Lambda times out
- The dead-letter queue keeps growing
- Users get the same email twice
- SNS delivers nothing
- A presigned URL returns 403
- A browser upload to S3 fails with CORS
- GitHub cannot assume the AWS role
- CD deployed old code
- A migration failed in the middle of a deploy
- Users see stale data
- Real users get 429 Too Many Requests
- Slow first requests: cold starts
- Lambda is throttled at the account limit
- The bill suddenly jumps
- Our incident: the OIDC subject that would not match
- Our incident: a stale approval deleted resources
- AccessDenied right after a policy change: propagation delay, or did the policy really change?
- Our incident: CloudFront needs account verification
- Our incident: the web-vitals fetch bug
- Our incident: deleting a Lambda trigger needs read permission too
Read this book online: https://book.theversehub.in/