Amazon S3 Glacier
Developer Guide (API Version 2012-06-01)

Uploading an Archive in Amazon S3 Glacier

Amazon S3 Glacier (Glacier) provides a management console, which you can use to create and delete vaults. However, you cannot upload archives to 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 AWS SDKs.

For information about using Glacier with the AWS CLI, go to AWS CLI Reference for Glacier. To install the AWS CLI, go to AWS Command Line Interface. The following Uploading topics describe how to upload archives to Glacier by using the AWS SDK for Java, the AWS SDK for .NET, and the REST API.

Options for Uploading an Archive to Amazon S3 Glacier

Depending on the size of the data you are uploading, Glacier offers the following options:

  • Upload archives in a single operation – In a single operation, you can upload archives from 1 byte to up to 4 GB in size. However, we encourage Glacier customers to use multipart upload to upload archives greater than 100 MB. For more information, see Uploading an Archive in a Single Operation.

  • Upload archives in parts – Using the multipart upload API, you can upload large archives, up to about 40,000 GB (10,000 * 4 GB).

    The multipart upload API call is designed to improve the upload experience for larger archives. You can upload archives in parts. These parts can be uploaded independently, in any order, and in parallel. If a part upload fails, you only need to upload that part again and not the entire archive. You can use multipart upload for archives from 1 byte to about 40,000 GB in size. For more information, see Uploading Large Archives in Parts (Multipart Upload).


The Glacier vault inventory is only updated once a day. When you upload an archive, you will not immediately see the new archive added to your vault (in the console or in your downloaded vault inventory list) until the vault inventory has been updated.

Using the AWS Snowball Service

AWS Snowball accelerates moving large amounts of data into and out of AWS using Amazon-owned devices, bypassing the internet. For more information, see AWS Snowball detail page.

To upload existing data to Amazon S3 Glacier (Glacier), you might consider using one of the AWS Snowball device types to import data into Amazon Simple Storage Service (Amazon S3), and then move it to the Amazon S3 GLACIER storage class for archival using lifecycle rules. When you transition Amazon S3 objects to the GLACIER storage class, Amazon S3 internally uses Glacier for durable storage at lower cost. Although the objects are stored in Glacier, they remain Amazon S3 objects that you manage in Amazon S3, and you cannot access them directly through Glacier.

For more information about Amazon S3 lifecycle configuration and transitioning objects to the GLACIER storage class, see Object Lifecycle Management and Transitioning Objects in the Amazon Simple Storage Service Developer Guide.