- Newest
- Most votes
- Most comments
How did you move them to one of the Glacier classes? The only way to do that for an existing object is with a lifecycle rule that transitions the object (https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html). That's because objects in S3 are immutable.
If you use the management console or CLI seemingly to "move" the object to a different name or storage class, the existing and possibly locked object will not be changed, as no object ever can be. Instead, a new copy of the object will be created, and the old, locked object will remain as a previous version.
You'll need to use a lifecycle rule to transition the objects you want to the destination storage class.
If the inadvertently created copies aren't locked yet, you can delete them to return to the earlier situation with the locked objects in the original storage class. Then create a lifecycle rule to transition the original, locked objects to the target storage class.
Relevant content
- asked 2 years ago
- asked 2 years ago
- AWS OFFICIALUpdated 3 years ago

I think that this answer correctly explains my situation. I think that I moved classes manually before I set up a lifecycle rule, and I think that this has resulted in non-removable out of date versions.