Take a look at Transactional Outbox pattern from AWS Prescriptive Guidance https://docs.aws.amazon.com/prescriptive-guidance/latest/cloud-design-patterns/transactional-outbox.html
To guarantee that the delivery order of messages to Amazon SQS (or Kinesis) matches the actual order of database modifications, you can implement the Outbox Pattern. We considered this for one of our projects and thought this was an overkill, but this seems to solve the order issue