Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does AWS transfer S3 objects to Glacier archives when you use lifecycle archive rules?

Amazon Web Services (AWS) S3 allows you to automatically transfer/archive objects from S3 to Glacier.

Nowhere that I can find does anybody explain how that transfer happens.

What Glacier vault do S3 objects archive to? Does the lifecycle policy set any sort of description on the Glacier archives it creates? Does it create an archive per S3 object?

like image 711
honktronic Avatar asked Jan 17 '16 04:01

honktronic


People also ask

Can S3 objects be transitioned to Glacier using S3 life cycles?

Using S3 Lifecycle configuration, you can transition objects to the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes for archiving.

How do I transfer from S3 to Glacier?

Check the versions of data you want to be transferred with the lifecycle rule, then select “Transition to Amazon S3 Glacier after” and specify the required amount of days (note that if you set different setting from "0", the costs of storage and file transfer will be bigger). After that comes the “Expiration” step.

Can we move data directly to Glacier deep archive?

The easiest way to store data in S3 Glacier Deep Archive is to use the S3 PUT API to upload data directly. You can also upload data to S3 Glacier Deep Archive over the internet or using AWS Direct Connect and the AWS Management Console, AWS Storage Gateway, AWS Command Line Interface, or the AWS SDKs.

Can we upload objects directly to S3 Glacier?

However, you cannot upload archives to S3 Glacier by using the management console. To upload data, such as photos, videos, and other documents, you must either use the AWS CLI or write code to make requests, by using either the REST API directly or by using the Amazon SDKs.

How does S3 Glacier deep archive work?

The new Glacier Deep Archive storage class is designed to provide durable and secure long-term storage for large amounts of data at a price that is competitive with off-premises tape archival services. Data is stored across 3 or more AWS Availability Zones and can be retrieved in 12 hours or less.

What is lifecycle rule in S3?

An S3 Lifecycle configuration is an XML file that consists of a set of rules with predefined actions that you want Amazon S3 to perform on objects during their lifetime. You can also configure the lifecycle by using the Amazon S3 console, REST API, AWS SDKs, and the AWS Command Line Interface (AWS CLI).


1 Answers

Q: Can I use Amazon Glacier APIs to access objects that I’ve archived to Amazon Glacier?

Because Amazon S3 maintains the mapping between your user-defined object name and Amazon Glacier’s system-defined identifier, Amazon S3 objects that are stored using the Amazon Glacier option are only accessible through the Amazon S3 APIs or the Amazon S3 Management Console.

https://aws.amazon.com/s3/faqs/#glacier

To put this in slightly simpler terms, S3 doesn't create Glacier archives that you own or can manipulate. S3 creates Glacier archives that S3 owns and manages.

Your only interface to these objects is through S3, which makes requests to Glacier on your behalf. So, for your questions, the answer for each one is essentially the same:

It doesn't matter. The archives are managed by S3 and are not user-accessible via the Glacier API or console.

In fact, it appears that S3 isn't accessing "your" Glacier at all. No permission grants are needed to allow S3 to access "your" Glacier (by contrast, when other services create objects in "your" S3, you have to explicitly grant permission). Glacier also doesn't appear to know or care that the objects from S3 are from your AWS account. On the monthly billing, S3 charges you for the Glacier storage -- not Glacier.

It is modeled as if S3 has its own AWS account, and S3 is a Glacier customer. S3 creates these objects in Glacier, then passes the storage charges back to you.

That's an oversimplification, I'm sure, but your ability to interact with Glacier, directly, when S3 is archiving objects there for you is non-existent... thus explaining why you can't find answers to these questions: because the answers are not known, not public information, and not relevant or important.

S3 objects archived to Glacier are still S3 objects. You can still send a HEAD HTTP request to S3 and see the object's metadata. You just can't download the object until you initiate a restore from Glacier, which S3 manages, and the restore operation completes. When the object is restored, it now persists in Glacier and has a temporary, downloadable copy held in S3 REDUCED_REDUNDANCY storage, which S3 will discard again after the number of days you specified when you asked S3 to restore the object.

like image 54
Michael - sqlbot Avatar answered Oct 17 '22 17:10

Michael - sqlbot