Restoring archived objects - Amazon Simple Storage Service

Restoring archived objects

When you archive Amazon S3 objects to the S3 Glacier or S3 Glacier Deep Archive, or when objects are archived to the S3 Intelligent-Tiering Archive Access or Deep Archive Access tiers, the objects are not accessible in real time. For objects in Archive Access or Deep Archive Access tiers, you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive, you must first initiate a restore request, and then wait until a temporary copy of the object is available. For more information about how all Amazon S3 storage classes compare, see Amazon S3 storage classes.

When you are restoring from S3 Intelligent-Tiering Archive Access tier or S3 Intelligent-Tiering Deep Archive Access tier, the object moves back into the S3 Intelligent-Tiering Frequent Access tier. Afterwards, if the object is not accessed after 30 consecutive days, it automatically moves into the Infrequent Access tier. It moves into the S3 Intelligent-Tiering Archive Access tier after a minimum of 90 consecutive days of no access, and it moves into the Deep Archive Access tier after a minimum of 180 consecutive days of no access.

Note

Unlike in S3 Glacier and S3 Glacier Deep Archive storage classes, restore requests for S3 Intelligent-Tiering objects don't accept the days value.

When you use S3 Glacier or S3 Glacier Deep Archive, Amazon S3 restores a temporary copy of the object only for the specified duration. After that, it deletes the restored object copy. You can modify the expiration period of a restored copy by reissuing a restore. In this case, Amazon S3 updates the expiration period relative to the current time.

Note

When you restore an archive from S3 Glacier or S3 Glacier Deep Archive, you pay for both the archived object and a copy that you restored temporarily (Reduced Redundancy Storage [RRS] or Standard, whichever is the lower-cost storage in the Region). For information about pricing, see Amazon S3 pricing.

Amazon S3 calculates the expiration time of the restored object copy by adding the number of days specified in the restoration request to the current time. It then rounds the resulting time to the next day at midnight Universal Coordinated Time (UTC). For example, suppose that an object was created on October 15, 2012 10:30 AM UTC, and the restoration period was specified as 3 days. In this case, the restored copy expires on October 19, 2012 00:00 UTC, at which time Amazon S3 deletes the object copy.

If a temporary copy of the restored object is created, the object's storage class remains the same. (A HEAD Object or the GET Object API operations request returns S3 Glacier or S3 Glacier Deep Archive as the storage class.)

The time it takes a restore job to finish depends on which archive storage class or storage tier you use and which retrieval option you specify: Expedited (only available for S3 Glacier and S3 Intelligent-Tiering Archive Access), Standard, or Bulk. You can be notified when your restore is complete using Amazon S3 event notifications. For more information, see Configuring Amazon S3 event notifications.

When required, you can restore large segments of the data stored for a secondary copy. However, keep in mind that S3 Glacier and S3 Glacier Deep Archive storage classes and Archive Access and Deep Archive Access tiers are designed for 35 random restore requests per pebibyte (PiB) stored per day.

To restore more than one Amazon S3 object with a single request, you can use S3 Batch Operations. You provide S3 Batch Operations with a list of objects to operate on. S3 Batch Operations calls the respective API to perform the specified operation. A single Batch Operations job can perform the specified operation on billions of objects containing exabytes of data.

The S3 Batch Operations feature tracks progress, sends notifications, and stores a detailed completion report of all actions, providing a fully managed, auditable, serverless experience. You can use S3 Batch Operations through the AWS Management Console, AWS CLI, AWS SDKs, or REST API. For more information, see S3 Batch Operations basics.

The following sections provide more information about restoring objects.

Archive retrieval options

The following are the available retrieval options when restoring an archived object in Amazon S3:

  • Expedited - Expedited retrievals allow you to quickly access your data stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive Access tier when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity helps ensure that retrieval capacity for expedited retrievals from S3 Glacier is available when you need it. For more information, see Provisioned capacity.

  • Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for retrieval requests that do not specify the retrieval option. Standard retrievals typically finish within 3–5 hours for objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive Access tier. They typically finish within 12 hours for objects stored in the S3 Glacier Deep Archive or S3 Intelligent-Tiering Deep Archive Access storage class. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.

  • Bulk - Bulk retrievals are the lowest-cost retrieval option in Amazon S3 Glacier, enabling you to retrieve large amounts, even petabytes, of data inexpensively. Bulk retrievals typically finish within 5–12 hours for objects stored in the S3 Glacier storage class or S3 Intelligent-Tiering Archive Access tier. They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive Access tier. Bulk retrievals are free for objects stored in S3 Intelligent-Tiering.

The following table summarizes the archival retrieval options. For complete information about pricing, see Amazon S3 pricing.

Retrieval options
Storage class or tier Expedited Standard Bulk

S3 Glacier or S3 Intelligent-Tiering Archive Access

1–5 minutes

3–5 hours

5–12 hours

S3 Glacier Deep Archive or S3 Intelligent-Tiering Deep Archive Access

Not available

Within 12 hours

Within 48 hours

To make an Expedited, Standard, or Bulk retrieval, set the Tier request element in the POST Object restore REST API request to the option you want, or the equivalent in the AWS CLI or AWS SDKs. If you purchased provisioned capacity, all expedited retrievals are automatically served through your provisioned capacity.

You can restore an archived object programmatically or by using the Amazon S3 console. Amazon S3 processes 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.

Provisioned capacity

Provisioned capacity helps ensure that your retrieval capacity for expedited retrievals from S3 Glacier is available when you need it. Each unit of capacity provides that at least three expedited retrievals can be performed every 5 minutes, and it provides up to 150 MB/s of retrieval throughput.

If your workload requires highly reliable and predictable access to a subset of your data in minutes, you should purchase provisioned retrieval capacity. Without provisioned capacity, expedited retrievals might not be accepted during periods of high demand. If you require access to expedited retrievals under all circumstances, we recommend that you purchase provisioned retrieval capacity.

You can purchase provisioned capacity using the Amazon S3 console, the Amazon S3 Glacier console, the Purchase Provisioned Capacity REST API, the AWS SDKs, or the AWS CLI. For provisioned capacity pricing information, see Amazon S3 pricing.

Upgrading the speed of an in-progress restore

Using Amazon S3 restore speed upgrade, you can change the restore speed to a faster speed while the restore is in progress. A restore speed upgrade overrides an in-progress restore with a faster restore tier. You cannot slow down an in-progress restore.

To upgrade the speed of an in-progress restoration, issue another restore request to the same object that sets a new Tier request element in the POST Object restore REST API, or the equivalent in the AWS CLI or AWS SDKs. When issuing a request to upgrade the restore tier, you must choose a tier that is faster than the tier that the in-progress restore is using. You must not change any other parameters, such as the Days request element.

Note

Standard and bulk restores for S3 Intelligent-Tiering are free of charge. However, subsequent restore requests called on an object that is already being restored are billed as a GET request.

You can be notified of the completion of the restore by using Amazon S3 event notifications. Restores are charged at the price of the upgraded tier. For information about restore pricing, see Amazon S3 pricing.