Amazon S3 Glacier Storage Classes Explained

Amazon S3 Glacier is a family of three storage classes inside Amazon S3: Instant Retrieval, Flexible Retrieval, and Deep Archive. All three are designed for data you keep long-term but rarely access, and all three trade lower storage cost for retrieval fees, minimum storage durations, and in some cases a significant wait before data is readable again.

This page explains what separates the three classes, helps you choose the right one, and covers the restore workflow and cost patterns that most people only discover after an unexpected bill.

Simple explanation

Glacier is not a separate browsable filesystem. It is long-term, low-cost storage inside the same S3 service you already use, accessed through the same S3 API and console.

The distinction that trips most people up is which classes require a restore request and which do not:

  • S3 Glacier Instant Retrieval: data is available in milliseconds, no restore step needed
  • S3 Glacier Flexible Retrieval: data is archived; you submit a restore request and wait minutes to hours
  • S3 Glacier Deep Archive: data is archived; restore takes 12 to 48 hours
The key rule

Instant Retrieval behaves like a fast storage class. Flexible Retrieval and Deep Archive are true archives: objects are not directly readable. You must restore them to a temporary S3 Standard copy before your application or users can access the data.

How Amazon S3 Glacier works

Every S3 object belongs to exactly one storage class. You can set the Glacier class at upload, or let S3 lifecycle policies transition objects into colder classes automatically as they age.

Glacier Instant Retrieval stores data in a way that allows millisecond access, similar to Standard-IA. No restore request is needed. The retrieval fee per GB is higher than Standard-IA, which is the trade-off for the lower storage cost.

Glacier Flexible Retrieval archives objects so they are not directly readable. To access one, you submit a restore request and choose a retrieval tier (Expedited, Standard, or Bulk). The restore process creates a temporary S3 Standard copy for a number of days you specify, after which the copy expires and the object returns to archived status.

Glacier Deep Archive works the same way as Flexible Retrieval but with the lowest storage cost and the slowest restore. Only Standard (12 hours) and Bulk (48 hours) restore tiers are available. There is no Expedited option.

Minimum storage durations affect your bill if you delete or transition objects too early. Glacier Instant Retrieval and Flexible Retrieval both have 90-day minimums. Deep Archive has a 180-day minimum. Delete an object on day 30 and AWS still charges you for the full minimum period at that class’s rate.

Lifecycle transitions are the practical approach for moving data into Glacier at scale. Rather than uploading directly to a Glacier class, you write a rule once and S3 applies it automatically. See S3 Lifecycle Policies for configuration details, including minimum age gaps between transitions.

Object Lock for compliance archives. S3 Object Lock in Compliance mode prevents any user, including the AWS root account, from deleting or modifying an object before its retention period expires. Glacier Deep Archive combined with Object Lock is a common pattern for seven-year regulatory archives under rules like SEC Rule 17a-4, HIPAA, and FINRA.

S3 Glacier storage classes comparison

Storage classBest forRetrieval speedRestore required?Min storage durationRetrieval cost profileTypical access pattern
S3 Glacier Instant RetrievalArchives occasionally needed without noticeMillisecondsNo90 daysPer GB, higher than Standard-IAOnce a quarter or less
S3 Glacier Flexible RetrievalBackups and archives accessed a few times per year1 min to 12 hours (choice of tier)Yes90 daysPer GB, varies by retrieval tierOnce or twice a year
S3 Glacier Deep ArchiveLong-term regulatory retention, rarely if ever accessed12 to 48 hoursYes180 daysPer GB, highest across all Glacier classesAlmost never
Pricing note

Exact storage and retrieval prices vary by AWS region and change over time. The relative ordering is stable: Instant Retrieval costs more per GB to store than Flexible Retrieval, which costs more than Deep Archive. But before committing large datasets, check the Amazon S3 pricing page for your specific region.

Which Glacier class should you choose?

Choose Glacier Instant Retrieval if…#

  • The data is archived but might need to be accessed without advance notice
  • A delay of even a few minutes would disrupt a workflow or user-facing process
  • You access the data less than once per quarter but cannot predict exactly when
  • Examples: medical imaging archives (a clinician requests a five-year-old scan mid-appointment), legal case files that must be produced quickly on demand, customer contract archives retrieved during disputes

Choose Glacier Flexible Retrieval if…#

  • The data is accessed at most once or twice a year
  • You can plan the retrieval in advance and a wait of minutes to hours is acceptable
  • You want lower storage costs than Instant Retrieval and are willing to trade away immediate availability
  • Examples: annual audit records, year-end financial data, completed project deliverables, historical log archives reviewed on a set schedule

Choose Glacier Deep Archive if…#

  • The data must be retained for legal or regulatory reasons, typically 7 or more years
  • You almost never expect to retrieve it; access is genuinely the exception, not the rule
  • A 12 to 48 hour retrieval window is completely acceptable for your scenario
  • You have confirmed that retrieval costs at your expected scale are budgeted
  • Examples: long-term compliance records (SEC, HIPAA, GDPR), archived transaction histories, old database dumps held under legal hold, decommissioned system backups kept for contractual obligations
Deep Archive is not a backup class for active DR

Deep Archive’s 12 to 48 hour restore window means it cannot serve as a recovery point for any scenario where systems are down and you need to restore quickly. If an incident starts at midnight and your backup is in Deep Archive, you are waiting until at least midday the next day to access the data. For active disaster recovery, keep backups in Standard-IA or Glacier Instant Retrieval.

Glacier vs Standard-IA vs Intelligent-Tiering

The right choice between Glacier and the cheaper non-Glacier classes comes down to two questions: how fast do you need access, and how predictable is the access pattern?

ClassRetrieval speedRetrieval feeMinimum durationBest scenarioPoor fit
S3 Standard-IAMillisecondsPer GB retrieved30 daysRarely accessed data that must be immediately available when requestedData held 90+ days with very infrequent access; Instant Retrieval is cheaper per GB stored at that point
S3 Glacier Instant RetrievalMillisecondsPer GB retrieved (higher than Standard-IA)90 daysArchival data occasionally needed without noticeData accessed monthly; retrieval fees accumulate quickly
S3 Glacier Flexible Retrieval1 min to 12 hoursPer GB retrieved90 daysAnnual or semi-annual access where retrieval can be planned aheadAny scenario requiring urgent access; DR backups with a short RTO
S3 Glacier Deep Archive12 to 48 hoursPer GB retrieved (highest)180 daysLong-term legal or regulatory retention, rarely if ever retrievedAnything with unpredictable retrieval needs or time-sensitive access
S3 Intelligent-TieringMilliseconds (active tiers); hours (optional archive tiers)None (per-object monitoring fee instead)NoneLong-lived objects with genuinely unpredictable access patternsSmall objects under ~128 KB; short-lived objects deleted within days

When Standard-IA is better than Glacier: if data is accessed a handful of times per year but the timing is unpredictable, Standard-IA gives you instant access with a reasonable retrieval fee, no 90-day minimum, and simpler lifecycle management.

When Glacier Instant Retrieval beats Standard-IA: for objects stored well beyond 90 days and accessed very infrequently, Instant Retrieval’s lower per-GB storage cost outweighs Standard-IA’s lower retrieval fee. If you access data less than once per quarter and hold it for a year or more, Instant Retrieval typically wins on total cost.

When Intelligent-Tiering is the better fit: if access patterns are genuinely unpredictable, with some objects staying hot and others going cold immediately, Intelligent-Tiering handles it automatically. It has no retrieval fees and no minimum storage duration charges, but it does charge a small per-object monitoring fee that makes it poor value for tiny or very short-lived objects.

When Deep Archive is the wrong choice entirely: if there is any realistic chance the data could be needed on short notice, or if a large unexpected retrieval would generate a bill you have not planned for, Deep Archive is not the right call.

How to move data into Glacier

There are two ways to get objects into a Glacier storage class.

Option 1: Direct upload. When using the AWS CLI or an SDK, specify the storage class at upload time:

# Upload directly to Glacier Instant Retrieval
aws s3 cp report.pdf s3://my-archive-bucket/reports/report.pdf \
  --storage-class GLACIER_IR

# Upload directly to Glacier Deep Archive
aws s3 cp annual-records.zip s3://my-archive-bucket/records/annual-records.zip \
  --storage-class DEEP_ARCHIVE

Option 2: Lifecycle transitions. For large volumes, lifecycle policies are the practical approach. Write a rule once and S3 transitions objects automatically as they age:

{
  "Rules": [
    {
      "ID": "archive-old-reports",
      "Status": "Enabled",
      "Filter": { "Prefix": "reports/" },
      "Transitions": [
        { "Days": 90, "StorageClass": "GLACIER_IR" },
        { "Days": 365, "StorageClass": "DEEP_ARCHIVE" }
      ]
    }
  ]
}

This rule moves objects in the reports/ prefix to Glacier Instant Retrieval after 90 days and to Deep Archive after 365 days. See S3 Lifecycle Policies for the full guide, including how transitions interact with S3 versioning and the minimum age gaps AWS requires between transitions.

Lifecycle transitions have minimum age gaps

AWS requires a minimum number of days between transitions. You cannot jump from Standard directly to Glacier and then immediately to Deep Archive. Check the AWS lifecycle transition documentation for current minimums before writing your rules.

How to restore archived data

How you access Glacier data depends entirely on which class it is in.

Glacier Instant Retrieval: objects are accessible immediately via a standard S3 GET request. No restore step is required.

Glacier Flexible Retrieval and Deep Archive: these classes archive the object in a way that makes it unreadable until you submit a restore request. The restore process copies the object to a temporary S3 Standard location for a configurable number of days, after which the copy expires and the object returns to archived status.

Glacier Flexible Retrieval offers three restore tiers:

Retrieval tierTypical timeCostNotes
Expedited1–5 minutesHighest retrieval cost per GBCapacity not guaranteed during peak demand without provisioned capacity
Standard3–5 hoursMid-range costGenerally available; the default choice for most restores
Bulk5–12 hoursLowest retrieval costBest for large-volume restores where time is not critical

Deep Archive only supports Standard (12 hours) and Bulk (48 hours). There is no Expedited option for Deep Archive.

Initiating a restore with the AWS CLI:

# Restore a Glacier Flexible Retrieval object using Standard tier
# Keep the restored copy available for 7 days
aws s3api restore-object \
  --bucket my-archive-bucket \
  --key records/2024/annual-report.pdf \
  --restore-request '{"Days": 7, "GlacierJobParameters": {"Tier": "Standard"}}'

After the restore completes, you download the object via a normal S3 GET. After 7 days the temporary copy expires. The original archived object remains in place throughout.

Large restores can generate a significant bill

Retrieval fees apply per GB restored. If a compliance audit requires producing terabytes of archived data, the retrieval fees can be substantial, especially from Deep Archive. Always estimate the retrieval cost before initiating a large restore. For high-volume restores where time allows, Bulk tier keeps costs lowest.

Provisioned retrieval capacity is an option for Glacier Flexible Retrieval if Expedited restores are business-critical. Purchasing provisioned capacity guarantees Expedited requests succeed even during peak demand. Without it, Expedited restores can be rate-limited. If your workflow requires reliably fast restores, provisioned capacity is worth the fixed hourly cost.

When not to use Glacier

Glacier is the right tool for cold data held long-term. It is the wrong tool in several common situations.

Disaster recovery with a short RTO. If your recovery plan requires restoring from backup within an hour, Flexible Retrieval and Deep Archive cannot meet that objective. Keep DR backups in Standard-IA or Glacier Instant Retrieval, and confirm the class you choose aligns with your actual recovery time objective. See Choosing the Right Storage Service for broader storage design decisions.

Frequently accessed application data. If data is being read monthly, weekly, or more often, retrieval fees in any Glacier class will erode the storage savings. With Flexible Retrieval or Deep Archive, the restore delays will break application workflows entirely. Standard or Standard-IA is a far better fit.

Unpredictable retrieval-heavy workloads. If the access pattern is unknown and data could be needed at any time by any number of users, the risk of unexpected restore delays and retrieval fees is too high. Intelligent-Tiering handles unknown access patterns more gracefully and has no retrieval fees.

Short-lived data. If an object will be deleted within weeks or a few months, the minimum storage duration charges in Glacier classes (90 or 180 days) can make Glacier more expensive than Standard. Never move short-lived data to Glacier.

Workloads with access SLAs. If users or systems expect data to be available in under a second, Flexible Retrieval and Deep Archive are not viable options. Even Instant Retrieval carries a higher retrieval fee than Standard-IA if access frequency is higher than expected.

Not sure which to use?

If you are unsure whether Glacier or Standard-IA is the right fit, ask yourself: could this data be needed urgently by a person or system with no advance notice? If yes, use Standard-IA or Glacier Instant Retrieval. If no and the data is truly cold for years at a time, Glacier Flexible Retrieval or Deep Archive will save money at scale.

Object Lock for compliance archives

S3 Object Lock in Compliance mode provides WORM (Write Once, Read Many) protection for archived objects. Once applied, the lock cannot be removed by anyone, including the AWS root account, until the retention period expires.

This is the standard mechanism for regulatory archives subject to rules like SEC Rule 17a-4, HIPAA, and FINRA. Glacier Deep Archive combined with Object Lock creates low-cost archives that cannot be tampered with or deleted before the retention date.

# Store an object in Glacier Deep Archive with a 7-year compliance lock
aws s3api put-object \
  --bucket my-compliance-archive \
  --key regulatory/2026/annual-report.pdf \
  --body annual-report.pdf \
  --storage-class DEEP_ARCHIVE \
  --object-lock-mode COMPLIANCE \
  --object-lock-retain-until-date 2033-01-01T00:00:00Z

Once this lock is applied, the object cannot be deleted until 2033 by anyone. For guidance on S3 access controls and Object Lock configuration, including bucket policies and encryption for sensitive archives, see S3 Security Best Practices.

Common mistakes

  1. Storing DR backups in Deep Archive. A 12 to 48 hour restore window is incompatible with any recovery time objective measured in hours. If an incident hits and your backup is in Deep Archive, it will not be accessible when you need it. Keep DR backups in Standard-IA or Glacier Instant Retrieval.
  2. Not budgeting for retrieval fees. Deep Archive has very cheap storage but meaningful retrieval fees per GB. If a compliance audit requires pulling terabytes of archived data, the retrieval bill can exceed years of storage savings. Model the retrieval cost before committing large datasets to archived classes.
  3. Transitioning objects before minimum durations are met. Transitioning from Standard-IA to a Glacier class before Standard-IA’s 30-day minimum triggers charges on both classes. Write lifecycle rules that respect the minimum ages for each class and test them before applying to large volumes. See S3 Lifecycle Policies for the correct transition timing.
  4. Confusing Instant Retrieval with archived classes. Despite the Glacier branding, Glacier Instant Retrieval delivers data in milliseconds with no restore request needed. If your application is adding artificial wait times because it assumes all Glacier data needs a restore, that is a design error. Instant Retrieval behaves like Standard-IA from a latency perspective.
  5. Using Glacier when Standard-IA or Intelligent-Tiering fits better. If data is accessed unpredictably or multiple times per quarter, Glacier’s retrieval fees make it more expensive in practice. Intelligent-Tiering handles unpredictable access with no retrieval fees. Only move to Glacier when the access pattern is reliably very infrequent and the storage duration is long.
  6. Forgetting that restored copies cost money too. When you restore from Flexible Retrieval or Deep Archive, the temporary copy is stored at S3 Standard rates until it expires. Set a long expiry window by mistake, or forget to set one, and you pay both Glacier and Standard storage costs at the same time. Set restore expiry to the minimum number of days you actually need.

Frequently asked questions

Is Glacier a separate AWS service or part of S3?

It is part of S3. Amazon Glacier was once a standalone service, but it has been fully integrated into Amazon S3 as three storage class tiers. You manage Glacier objects through the same S3 API and console. There is no separate Glacier service to configure.

What is the difference between Glacier Instant Retrieval and Flexible Retrieval?

Both are archival storage classes with 90-day minimum storage durations and per-GB retrieval fees. The key difference is retrieval speed. Glacier Instant Retrieval delivers objects in milliseconds with no restore request needed. Glacier Flexible Retrieval requires a restore request and takes 1 minute to 12 hours depending on the retrieval tier you choose. Use Instant Retrieval when the data might be needed urgently; use Flexible Retrieval when you can wait hours and want lower storage costs.

Do I need to restore all Glacier data before reading it?

It depends on the class. S3 Glacier Instant Retrieval delivers data immediately in milliseconds with no restore step. S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive are archived classes that require a restore request before the object can be accessed. The restore process copies the object to a temporary S3 Standard location, where it stays accessible for a number of days you specify before expiring.

Is Glacier good for backups or disaster recovery?

It depends on your recovery time objective. Glacier Instant Retrieval works for backup archives where millisecond access is acceptable. Glacier Flexible Retrieval can work if a multi-hour restore window fits your RTO. Glacier Deep Archive is a poor fit for active disaster recovery: a 12 to 48 hour restore window means you cannot rely on it when systems are down and recovery needs to start immediately.

What is the cheapest S3 storage class for long-term retention?

S3 Glacier Deep Archive has the lowest storage cost per GB in all of AWS. The trade-off is a 180-day minimum storage duration, retrieval times of 12 to 48 hours, and meaningful retrieval fees. It is the right choice for data you are legally required to retain but almost never access. For data that might occasionally be needed, Glacier Flexible Retrieval or Glacier Instant Retrieval are better fits.

Last verified: 5 April 2026 Cloud services change frequently. Verify details against official documentation before making infrastructure decisions.