

 **This page is only for existing customers of the Amazon Glacier service using Vaults and the original REST API from 2012.**

If you're looking for archival storage solutions, we recommend using the Amazon Glacier storage classes in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, and S3 Glacier Deep Archive. To learn more about these storage options, see [Amazon Glacier storage classes](https://aws.amazon.com/s3/storage-classes/glacier/).

Amazon Glacier (original standalone vault-based service) is no longer accepting new customers. Amazon Glacier is a standalone service with its own APIs that stores data in vaults and is distinct from Amazon S3 and the Amazon S3 Glacier storage classes. Your existing data will remain secure and accessible in Amazon Glacier indefinitely. No migration is required. For low-cost, long-term archival storage, AWS recommends the [Amazon S3 Glacier storage classes](https://aws.amazon.com/s3/storage-classes/glacier/), which deliver a superior customer experience with S3 bucket-based APIs, full AWS Region availability, lower costs, and AWS service integration. If you want enhanced capabilities, consider migrating to Amazon S3 Glacier storage classes by using our [AWS Solutions Guidance for transferring data from Amazon Glacier vaults to Amazon S3 Glacier storage classes](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/).

# What Is Amazon Glacier?


If you're currently using the Amazon Glacier service and want to learn more, you'll find the information that you need in this guide. Amazon Glacier is a secure and durable service for low-cost data archiving and long-term backup using vaults. For more information about Amazon Glacier service pricing, see [Amazon Glacier pricing](https://aws.amazon.com/s3/glacier/pricing/).

**Topics**
+ [

## Do You Currently Use Amazon Glacier?
](#are-you-a-firsttime-glacier-user)
+ [

# Amazon Glacier Data Model
](amazon-glacier-data-model.md)
+ [

# Supported Operations in Amazon Glacier
](amazon-glacier-supported-operations.md)
+ [

# Accessing Amazon Glacier
](amazon-glacier-accessing.md)

## Do You Currently Use Amazon Glacier?


**Note**  
This section is about the Amazon Glacier service. If you currently use the Amazon S3 Glacier storage classes (**S3 Glacier Instant Retrieval**, **S3 Glacier Flexible Retrieval**, and **S3 Glacier Deep Archive**), see [Storage classes for archiving objects](https://docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes) in the *Amazon S3 User Guide*.

If you currently use the Amazon Glacier service and want to learn more, we recommend that you begin by reading the following sections:

 
+ **What is Amazon Glacier** – The rest of this section describes the underlying data model, the operations it supports, and the AWS SDKs that you can use to interact with the service. 
+ **Getting Started** – The [Getting Started with Amazon Glacier](amazon-glacier-getting-started.md) section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives. 
**Important**  
Amazon Glacier does provide a console. However, any archive operation, such as upload, download, or deletion, requires you to use the AWS Command Line Interface (AWS CLI) or write code. There is no console support for archive operations. For example, 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.   
To install the AWS CLI, see [AWS Command Line Interface](http://aws.amazon.com/cli/). For more information about using Amazon Glacier with the AWS CLI, see the [AWS CLI Reference for Amazon Glacier](http://docs.aws.amazon.com/cli/latest/reference/glacier/index.html). For examples of using the AWS CLI to upload archives to Amazon Glacier, see [Using Amazon Glacier with the AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/cli-using-glacier.html). 

Beyond the getting started section, you'll probably want to learn more about Amazon Glacier operations. The following sections provide detailed information about working with Amazon Glacier by using the REST API and the AWS SDKs for Java and Microsoft .NET: 
+ [Using the AWS SDKs with Amazon Glacier](using-aws-sdk.md)

  This section provides an overview of the AWS SDKs used in various code examples in this guide. A review of this section will help when reading the following sections. It includes an overview of the high-level and the low-level APIs that these SDKs offer, when to use them, and common steps for running the code examples provided in this guide. 
+ [Working with Vaults in Amazon Glacier](working-with-vaults.md)

  This section provides details of various vault operations, such as creating a vault, retrieving vault metadata, using jobs to retrieve vault inventory, and configuring vault notifications. In addition to using the Amazon Glacier console, you can use the AWS SDKs for various vault operations. This section describes the API and provides working samples by using the AWS SDK for Java and the AWS SDK for .NET.
+ [Working with Archives in Amazon Glacier](working-with-archives.md)

  This section provides details of archive operations, such as uploading an archive in a single request or using a multipart upload operation to upload large archives in parts. The section also explains how to create jobs to download archives asynchronously. The section provides examples by using the AWS SDK for Java and the AWS SDK for .NET.
+ [API Reference for Amazon Glacier](amazon-glacier-api.md)

  Amazon Glacier is a RESTful service. This section describes the REST operations, including the syntax, and example requests and responses for all the operations. The AWS SDK libraries wrap this API, simplifying your programming tasks. 

# Amazon Glacier Data Model
Data Model

The Amazon Glacier data model core components include vaults and archives. Amazon Glacier is a REST-based web service. In terms of REST, vaults and archives are the resources. In addition, the Amazon Glacier data model includes job and notification-configuration resources. These resources complement the core resources.

**Topics**
+ [

## Vault
](#data-model-vault)
+ [

## Archive
](#data-model-archive)
+ [

## Job
](#data-model-job)
+ [

## Notification Configuration
](#data-model-notification-config)

## Vault


In Amazon Glacier, a *vault* is a container for storing archives. A vault is similar to an Amazon S3 bucket. When you create a vault, you specify a name and choose an AWS Region where you want to create the vault.

Each vault resource has a unique address. The general form is: 

```
https://region-specific-endpoint/account-id/vaults/vault-name
```

For example, suppose that you create a vault (`examplevault`) in the US West (Oregon) Region in your account with the ID 111122223333. You can address this vault by using the following URI: 

```
https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault
```

Here is what the various components of the URI mean: 
+ `glacier.us-west-2.amazonaws.com` identifies the US West (Oregon) Region. 
+ `111122223333` is the AWS account ID that owns the vault.
+ `vaults` refers to the collection of vaults that are owned by the AWS account.
+ `examplevault` identifies a specific vault in the vaults collection.

An AWS account can create vaults in any supported AWS Region. For list of supported AWS Regions, see [Accessing Amazon Glacier](amazon-glacier-accessing.md). Within a Region, an account must use unique vault names. An AWS account can create same-named vaults in different Regions.

You can store an unlimited number of archives in a vault. Depending on your business or application needs, you can store these archives in one vault or multiple vaults. 

Amazon Glacier supports various vault operations. Vault operations are Region-specific. For example, when you create a vault, you create it in a specific Region. When you request a vault list, you request it from a specific AWS Region, and the resulting list includes only vaults created in that specific Region.

## Archive


An *archive* can be any data, such as a photo, video, or document. An archive is similar to an Amazon S3 object, and is the base unit of storage in Amazon Glacier. Each archive has a unique ID and an optional description. You can specify this optional description only during the upload of an archive. Amazon Glacier assigns the archive an ID, which is unique in the AWS Region in which the archive is stored. 

Each archive has a unique address. The general form is as follows: 

```
https://region-specific-endpoint/account-id/vaults/vault-name/archives/archive-id
```

The following is an example URI of an archive stored in the `examplevault` vault in the US West (Oregon) Region in account 111122223333: 

```
https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId
```

You can store an unlimited number of archives in a vault.

## Job


An Amazon Glacier job can retrieve an archive, or get an inventory of a vault.

Retrieving archives and vault inventories (lists of archives) are asynchronous operations in Amazon Glacier, in which you first initiate a job, and then download the job output after Amazon Glacier completes the job. 

**Note**  
Amazon Glacier offers a cold-storage data-archival solution. If your application needs a storage solution that requires real-time data retrieval, you might consider using Amazon S3. For more information, see [Amazon Simple Storage Service (Amazon S3)](http://aws.amazon.com/s3).

To initiate a vault inventory job, you provide a vault name. Archive retrieval jobs require both the vault name and the archive ID. You can also provide an optional job description to help identify the jobs. 

Archive retrieval and vault inventory jobs are associated with a vault. A vault can have multiple jobs in progress at any point in time. When you send a job request (initiate a job), Amazon Glacier returns to you a job ID to track the job. Each job is uniquely identified by a URI of the form: 

```
https://region-specific-endpoint/account-id/vaults/vault-name/jobs/job-id
```

The following is an example of a job associated with an `examplevault` vault in the US West (Oregon) Region in account 111122223333. 

```
https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID
```

For each job, Amazon Glacier maintains information, such as the job type, description, creation date, completion date, and job status. You can obtain information about a specific job or obtain a list of all your jobs associated with a vault. The list of jobs that Amazon Glacier returns includes all the in-progress and recently finished jobs. 

## Notification Configuration


Because jobs take time to run, Amazon Glacier supports a notification mechanism to notify you when a job is completed. You can configure a vault to send a notification to an Amazon Simple Notification Service (Amazon SNS) topic when a job is completed. You can specify one Amazon SNS topic per vault in the notification configuration.

Amazon Glacier stores the notification configuration as a JSON document. The following is an example vault notification configuration: 

```
{
   "Topic": "arn:aws:sns:us-west-2:111122223333:mytopic", 
   "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"] 
}
```

Notification configurations are associated with vaults; you can have one for each vault. Each notification configuration resource is uniquely identified by a URI of the form: 

```
https://region-specific-endpoint/account-id/vaults/vault-name/notification-configuration
```

Amazon Glacier supports operations to set, get, and delete a notification configuration. When you delete a notification configuration, no notifications are sent when any data retrieval operation on the vault is completed.

# Supported Operations in Amazon Glacier
Supported Operations

To work with vaults and archives (see [Amazon Glacier Data Model](amazon-glacier-data-model.md)), Amazon Glacier supports a set of operations. Among all the supported operations, only the following operations are asynchronous: 
+ Retrieving an archive
+ Retrieving a vault inventory (list of archives)

These operations require you to first initiate a job and then download the job output. The following sections summarize the Amazon Glacier operations.

## Vault Operations


Amazon Glacier provides operations to create and delete vaults. You can obtain a vault description for a specific vault or for all vaults in an AWS Region. The vault description provides information, such as the creation date, the number of archives in the vault, the total size in bytes used by all the archives in the vault, and the date that Amazon Glacier generated the vault inventory. Amazon Glacier also provides operations to set, retrieve, and delete a notification configuration on the vault. For more information, see [Working with Vaults in Amazon Glacier](working-with-vaults.md).

## Archive Operations


Amazon Glacier provides operations for you to upload and delete archives. You cannot update an existing archive; you must delete the existing archive and upload a new archive. Each time that you upload an archive, Amazon Glacier generates a new archive ID. For more information, see [Working with Archives in Amazon Glacier](working-with-archives.md).

## Jobs


You can initiate an Amazon Glacier job to perform a retrieval on an archive or get an inventory of a vault.

The following are the types of Amazon Glacier jobs: 
+ `archive-retrieval` – Retrieve an archive. 

  For more information, see [Downloading an Archive in Amazon Glacier](downloading-an-archive.md).
+ `inventory-retrieval` – Inventory a vault.

  For more information, see [Downloading a Vault Inventory in Amazon Glacier](vault-inventory.md).

# Accessing Amazon Glacier
Accessing Amazon Glacier

Amazon Glacier is a RESTful web service that uses HTTP and HTTPS as a transport protocol and JavaScript Object Notation (JSON) as a message-serialization format. Your application code can make requests directly to the Amazon Glacier web service API. When using the REST API directly, you must write the necessary code to sign and authenticate your requests. For more information about the API, see [API Reference for Amazon Glacier](amazon-glacier-api.md). 

Alternatively, you can simplify application development by using the AWS SDKs that wrap the Amazon Glacier REST API calls. You provide your credentials, and these libraries take care of authentication and request signing. For more information about using the AWS SDKs, see [Using the AWS SDKs with Amazon Glacier](using-aws-sdk.md).

Amazon Glacier also provides a console. However, all archive and job operations require you to write code and make requests by using either the REST API directly or the AWS SDK wrapper libraries. To access the Amazon Glacier console, go to [Amazon Glacier Console](https://console.aws.amazon.com/glacier/home). 

## Regions and Endpoints


You create a vault in a specific AWS Region. You always send your Amazon Glacier requests to an endpoint specific to an AWS Region. For a list of the AWS Regions supported by Amazon Glacier, see [ Amazon Glacier endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/glacier-service.html) in the *AWS General Reference*.