Permanently restore Glacier to S3

Arman picture Arman · May 22, 2014 · Viewed 7.5k times · Source

I'm wondering whether there is an easy way to permanently restore Glacier objects to S3. It seems that you can restore Glacier objects for the certain amount of time you provide when restoring to S3. So for example, we have now thousands of files restored to S3 that will get back to Glacier in 90 days but we do not want them back in Glacier.

Answer

Michael - sqlbot picture Michael - sqlbot · May 22, 2014

To clarify a technicality on one point, your files will not "go back to" Glacier in 90 days -- because they are still in Glacier, but since you have done a restore, there are temporary copies living in S3 reduced redundancy storage (RRS) that S3 will delete in 90 days (or whatever day value you specified when you did the restore operation. Restoring files doesn't remove the Glacier copy.

The answer to your question is no, and yes.

You cannot technically change an object from the Glacier storage class back to the standard or RRS class...

The transition of objects to the GLACIER storage class is one-way.You cannot use a lifecycle configuration rule to convert the storage class of an object from GLACIER to Standard or RRS.

... however...

If you want to change the storage class of an already archived object to either Standard or RRS, you must use the restore operation to make a temporary copy first. Then use the copy operation to overwrite the object as a Standard or RRS object.

http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

You can copy that object to what is, technically, a new object, but one that has the same key (path) as the new object... so for practical purposes, yes, you can.

The PUT/COPY action is discussed here: http://docs.aws.amazon.com/AmazonS3/latest/dev/ChgStoClsOfObj.html