Amazon Simple Storage Service
Developer Guide (API Version 2006-03-01)

GLACIER Storage Class: Additional Lifecycle Configuration Considerations

For objects that you do not need to access in real time, Amazon S3 also offers the GLACIER storage class. This storage class is suitable for objects stored primarily for archival purposes. For more information, see Storage Classes.

The lifecycle configuration enables a one-way transition to the GLACIER storage class. To change the storage class from GLACIER to other storage classes, you must restore the object, as discussed in the following section, and then make a copy of the restored object.

Cost Considerations

If you are planning to archive infrequently accessed data for a period of months or years, the GLACIER storage class will usually reduce your storage costs. You should, however, consider the following in order to ensure that the GLACIER storage class is appropriate for you:

  • Storage overhead charges – When you transition objects to the GLACIER storage class, a fixed amount of storage is added to each object to accommodate metadata for managing the object.

    • For each object archived to Amazon Glacier, Amazon S3 uses 8 KB of storage for the name of the object and other metadata. Amazon S3 stores this metadata so that you can get a real-time list of your archived objects by using the Amazon S3 API (see Get Bucket (List Objects)). You are charged standard Amazon S3 rates for this additional storage.

    • For each archived object, Amazon Glacier adds 32 KB of storage for index and related metadata. This extra data is necessary to identify and restore your object. You are charged Amazon Glacier rates for this additional storage.

    If you are archiving small objects, consider these storage charges. Also consider aggregating a large number of small objects into a smaller number of large objects in order to reduce overhead costs.

  • Number of days you plan to keep objects archived – Amazon Glacier is a long-term archival solution. Deleting data that is archived to Amazon Glacier is free if the objects you delete are archived for three months or longer. If you delete or overwrite an object within three months of archiving it, Amazon S3 charges a prorated early deletion fee.

  • Glacier archive request charges – Each object that you transition to the GLACIER storage class constitutes one archive request. There is a cost for each such request. If you plan to transition a large number of objects, consider the request costs.

  • Glacier data restore charges – Amazon Glacier is designed for long-term archival of data that you will access infrequently. Data restore charges are based on how quickly you restore data, which is measured as your peak billable restore rate in GB/hr for the entire month. Within a month, you are charged only for the peak billable restore rate, and there is no charge for restoring data at less than the monthly peak billable restore rate. Before initiating a large restore, carefully review the pricing FAQ to determine how you will be billed for restoring data.

When you archive objects to Amazon Glacier by using object lifecycle management, Amazon S3 transitions these objects asynchronously. There may be a delay between the transition date in the lifecycle configuration rule and the date of the physical transition. You are charged Amazon Glacier prices based on the transition date specified in the rule.

The Amazon S3 product detail page provides pricing information and example calculations for archiving Amazon S3 objects. For more information, see the following topics:

Restoring Archived Objects

Archived objects are not accessible in real-time. You must first initiate a restore request and then wait until a temporary copy of the object is available for the duration that you specify in the request. Restore jobs typically complete in three to five hours, so it is important that you archive only objects that you will not need to access in real time.

After you receive a temporary copy of the restored object, the object's storage class remains GLACIER (a GET or HEAD request will return GLACIER as the storage class). Note that when you restore an archive you are paying for both the archive (GLACIER rate) and a copy you restored temporarily (RRS rate). For information about pricing, see Amazon S3 Pricing.

You can restore an object copy programmatically or by using the Amazon S3 console. Amazon S3 will process only one restore request at a time per object. You can use both the console and the Amazon S3 API to check the restoration status and to find out when Amazon S3 will delete the restored copy.

Restoring GLACIER Objects by Using Amazon S3 Console

For information about restoring archived objects, stored using the GLACIER storage class, by using the Amazon S3 console, see Restore an Object Using the Amazon S3 Console.

Restoring GLACIER Objects Programmatically

You can restore GLACIER objects programmatically directly from your application by using either the AWS SDKs or the Amazon S3 API. When you use the AWS SDKs, the Amazon S3 API provides appropriate wrapper libraries to simplify your programming tasks; however, when the request is sent over the wire, the SDK sends the preceding XML in the request body. For information about restoring objects programmatically, see Restoring Objects.