Welcome to the Amazon Glacier Developer Guide. Amazon Glacier is a storage service optimized for infrequently used data, or "cold data."
Amazon Glacier is an extremely low-cost storage service that provides durable storage with security features for data archiving and backup. With Amazon Glacier, customers can store their data cost effectively for months, years, or even decades. Amazon Glacier enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure detection and recovery, or time-consuming hardware migrations. For more service highlights and pricing information, go to the Amazon Glacier detail page.
Amazon Glacier is a great storage choice when low storage cost is paramount, your data is rarely retrieved, and retrieval latency of several hours is acceptable. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, go to Amazon Simple Storage Service (Amazon S3).
If you are a first-time user of Amazon Glacier, 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 section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives.
Amazon Glacier provides a management console, which you can use to create and delete vaults. However, all other interactions with Amazon Glacier require programming. For example, to upload data, such as photos, videos, and other documents, you must write code and make requests using either the REST API directly or the AWS SDK for Java and .NET wrapper libraries.
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 using the REST API and the AWS Software Development Kits (SDKs) for Java and Microsoft .NET:
This section provides an overview of the AWS SDKs used in the 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 these SDKs offer, when to use them, and common steps for running the code examples provided in this guide.
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 Amazon Glacier console, you can use AWS SDKs for various vault operations. This section describes the API and provides working samples using the AWS SDK for Java and .NET.
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 creating jobs to download archives asynchronously. The section provides examples using the AWS SDK for Java and .NET.
Amazon Glacier is a RESTful service. This section describes the REST operations, including the syntax, and example requests and responses for all the operations. Note that the AWS SDK libraries wrap this API simplifying your programming tasks.
Amazon Simple Storage Service (Amazon S3) supports lifecycle configuration on a bucket that enables you to optionally transition objects to Amazon Glacier for archival purposes. When you transition Amazon S3 objects to the Glacier storage class, Amazon S3 internally uses Amazon Glacier for durable storage at lower cost. For more information about lifecycle configuration and transitioning objects to Amazon Glacier, go to Object Lifecycle Management and Object Archival in the Amazon Simple Storage Service Developer Guide.