Invalidation of CloudFront may take some time, and it is recommended as a last resort to remove content that needs to be removed (for example, copyright infringement).
The best approach is URLs with versions. For profile images, I would use a unique identifier (such as a GUID). Whenever a user uploads a new photo, replace that URL (and delete the old photo if you want).
When you update your database with a new user profile identifier, CloudFront pulls out a new image and the change will be immediate.
source share