| « PreviousNext » | |
![]() ![]() ![]() | Did this page help you? Yes | No | Tell us about it... |
Each object in Amazon S3 is associated with a storage class. When you upload an object, by default Amazon S3 associates it with the Standard storage class, in which Amazon S3 maintains redundant copies to ensure high durability. For non-critical, reproducible data, you can use the Reduced Redundancy Storage (RRS) option, in which Amazon S3 uses lower levels of redundancy than it does for the Standard storage class. RRS provides a cost-effective, highly available solution. Both the Standard and RRS objects are highly available in real-time. 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.
You can specify the Standard or RRS storage class when you upload objects; however, you cannot assign the Glacier storage class when uploading objects. Instead, you transition existing objects to the Glacier storage class by using the Object Lifecycle Management. Amazon S3 will archive objects for you and associate those objects with the Glacier storage class according to rules that you define.
Note
When you transition objects to the Glacier storage class, Amazon S3 internally uses Amazon Glacier for durable storage at lower cost. You should use the Glacier storage class only for long-term archival of data that is infrequently accessed. For information about pricing, go to the Pricing section of the Amazon S3 product detail page. Amazon S3 objects that are associated with the Glacier object class are visible and available only in Amazon S3.
The lifecycle configuration enables a one-way transition to Glacier. To change the storage class from Glacier to Standard or RRS, you must restore the object, as discussed in the following section and then make a copy of the restored object.
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, and 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. Amazon S3 associates the temporary copy with the Reduced Redundancy Storage (RRS) class. Note that when you restore an archive you are paying for both the archive and a copy you restored temporarily. For information about pricing, go to the Pricing section of the Amazon S3 product detail page.
You can restore an object copy programmatically or by using the Amazon S3 console. You can process only one restore request at a time. 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.
For information about restoring Glacier objects by using the Amazon S3 console, see Restore an Object Using Amazon S3 Console.
You can restore Glacier objects programmatically directly from your application by using either the AWS SDKs or the Amazon S3 API. In either case, the following XML is sent over the wire to specify the restoration period.
<?xml version="1.0" encoding="UTF-8"?>
<RestoreRequest xmlns="http://s3.amazonaws.com/doc/2006-03-01">
<Days>NumberOfDaysToRestore</Days>
</RestoreRequest>
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 the restoring objects programmatically, see Restoring Objects.