Processable messages in an SQS Standard queue are accumulating because consumers lack capacity. Repeatedly failing messages are investigated separately.
Use a CloudWatch warning at an age of 240 seconds before a 300-second delay target. Select age rather than incoming volume or message count.
Which metric is most appropriate?
Use ApproximateAgeOfOldestMessage as a 240-second warning signal and investigate consumer capacity.
Detailed explanation
It approximates the oldest unprocessed message's age and indicates normal backlog delay.
It approximates the oldest unprocessed message's age and indicates normal backlog delay.
Incoming count does not indicate how old queued messages are.
Incoming count does not indicate how old queued messages are.
Available backlog count is not message age in seconds.
Available backlog count is not message age in seconds.
In-flight count is not message age.
In-flight count is not message age.
Check official documentation
Compare the following points with the official documentation.
Compare the Age, Visible, NotVisible, and Sent definitions and Standard-queue exclusions.
Official references
What to confirm
Use age with its approximation and failure-handling limits rather than treating it as time since first receipt.
Key points
- ApproximateAgeOfOldestMessage
- SQS
- Processing delay
Notes
- Environment: AWS SOA-C03 exam guide and the linked AWS documentation
- Reviewed against the linked AWS documentation on 2026-10-04.
Foundation review
Age versus count
Age is not elapsed time since first receipt. Sent counts incoming messages, Visible counts available work, and NotVisible counts in-flight work. A 240-second warning does not guarantee every message completes within 300 seconds.
Investigate failures separately
Standard queues reorder repeatedly received, undeleted messages; poison pills are excluded from age. In a DLQ, age reflects movement time. Inspect failure logs and DLQ state as well.