A company's application on Amazon EC2 instances processes messages from an SQS queue, updates an RDS table, and then deletes the messages. Despite no duplicates in the queue, duplicates appear in the RDS table. How can a solutions architect ensure single-message processing?