Skip to content
HexaTransfer
Back to blog
Cloud & Storage

Cold Storage for File Archival: Complete Guide

Archive files cost-effectively with cold storage solutions. Glacier, Archive Storage, and other options for long-term data retention.

Cold storage archives files at $0.001-$0.004/GB/month — roughly 20x cheaper than hot object storage — in exchange for retrieval delays ranging from minutes to 12 hours. AWS S3 Glacier Deep Archive sits at $0.00099/GB/month, Azure Archive at $0.00099, Google Archive at $0.0012, and Backblaze B2 at a flat $0.006 with no tiering. For files you must keep for 7-year SOX retention, HIPAA's six-year log rule, or long-tail legal holds but expect to touch almost never, cold tiers are the only economically sane choice.

The Real Cold-Tier Lineup in 2026

The major providers each offer three or four cold tiers. Prices and retrieval times as of this writing:

  • S3 Glacier Instant Retrieval: $0.004/GB/month, millisecond retrieval, 128 KB minimum billable
  • S3 Glacier Flexible Retrieval: $0.0036/GB/month, 1-5 minute expedited or 3-5 hour standard retrieval
  • S3 Glacier Deep Archive: $0.00099/GB/month, 12-hour standard retrieval
  • Azure Cool: $0.0152/GB/month, milliseconds
  • Azure Cold: $0.0036/GB/month, milliseconds
  • Azure Archive: $0.00099/GB/month, up to 15 hours
  • Google Nearline: $0.010/GB/month, milliseconds
  • Google Coldline: $0.004/GB/month, milliseconds
  • Google Archive: $0.0012/GB/month, milliseconds (yes, millisecond retrieval from archive)

Google's differentiator: all tiers return data in milliseconds, with retrieval cost the variable. AWS and Azure trade lower storage cost for longer retrieval delay.

Retrieval Cost: The Gotcha Nobody Reads

Storage is cheap; retrieval can be brutal. Restoring 10 TB from Glacier Deep Archive with standard retrieval costs about $200 in retrieval fees plus $900 in egress to the internet. Azure Archive rehydration runs $0.022/GB (priority) or $0.005/GB (standard). Google Archive egress costs $0.12/GB to the internet.

Run the break-even math: if you expect to retrieve 100% of an archive once a year, hot storage might be cheaper despite looking 20x more expensive monthly. The rule of thumb: Deep Archive beats Standard only if retrievals stay under 5% of the dataset per year. Model your access pattern before committing — moving 500 TB out of Glacier to satisfy a litigation hold is a six-figure surprise otherwise.

Minimum Storage Durations

All cold tiers charge for a minimum storage period whether you delete early or not:

  • S3 Glacier Instant Retrieval: 90 days
  • S3 Glacier Flexible Retrieval: 90 days
  • S3 Glacier Deep Archive: 180 days
  • Azure Cool: 30 days
  • Azure Cold: 90 days
  • Azure Archive: 180 days

Upload a 1 TB file to Deep Archive and delete it after a week, you still pay for 180 days — about $178. Lifecycle rules that demote-then-delete aggressively can trigger these charges. Set the lifecycle Expiration at least one day past the minimum duration, or consolidate small files into larger archives before uploading.

Packing Small Files Into Larger Archives

Per-object overhead kills cold storage economics. Deep Archive has a 40 KB metadata overhead per object, charged at Standard-IA rates. A bucket with 100 million 10 KB files pays more for metadata than for data. Pack small files into TAR or ZIP archives before upload — 1 GB of 10 KB files becomes one 1 GB archive, saving 99% of the overhead.

Tools like fpart chunk directories into fixed-size lists, and tar --concatenate appends new files to existing archives. For compliance archives (audit logs, email exports), monthly tarballs hashed with SHA-256 and stored with the manifest in a separate index bucket give you recoverable search without paying per-object fees.

Integrity Over Decades

Cold archives sit for years. Bit rot isn't theoretical — S3 claims 11 nines of durability (one loss per 100 billion objects per year), but you still want end-to-end checksums. Upload with x-amz-content-sha256 or Content-MD5 headers, store the hash in a separate manifest, and run periodic audits.

For WORM (Write Once Read Many) compliance, S3 Object Lock with Compliance Mode prevents deletion even by root for a retention period up to 100 years. Azure Immutable Blob Storage offers the same. SEC Rule 17a-4(f) for broker-dealers and FINRA 4511 explicitly require this pattern for trade records.

Retention Policy as Code

Don't leave retention in a Confluence doc. Encode it. S3 Lifecycle Configuration, Azure Blob Lifecycle Management, and GCS Object Lifecycle all support rules based on age, storage class, tag, or version. A typical policy for regulated logs:

  • Day 0-30: S3 Standard
  • Day 30-90: S3 Standard-IA
  • Day 90-365: S3 Glacier Instant Retrieval
  • Day 365-2555 (7 years): S3 Glacier Deep Archive
  • Day 2555: Delete (unless legal hold tag present)

Use tag-based exceptions for litigation holds, so lifecycle doesn't delete evidence. Test the policy on a 1% sample bucket before applying to production.

Encryption: Still Mandatory in Cold Tiers

Cold doesn't mean unprotected. AES-256-GCM server-side encryption is free across all major providers and should be on by default. For extra assurance, use customer-managed keys (KMS, Key Vault, Cloud KMS) so you control rotation and revocation. Key deletion effectively shreds the data without touching the ciphertext — useful for cryptographic erasure when legal retention ends.

For archives leaving the primary provider — say, to a secondary cloud for disaster-recovery purposes — client-side encryption before transfer avoids trusting the intermediary. Tools built on AES-256-GCM with PBKDF2 key derivation let you hand a ciphertext file to any cold backend without exposing plaintext. HexaTransfer works this way for moving sensitive files into long-term archives: encryption happens before upload, and only you hold the key.

Restoring Without Losing Your Mind

Practice the restore. An archive you've never tested is a hope, not a backup. Quarterly, pick a random file from a year-old Glacier tier, restore it, verify the hash against the manifest, and time how long the whole process took.

Budget headroom for bulk restores: S3 Glacier Deep Archive bulk retrieval handles 2 GB/second per account by default, so a 100 TB restore takes about 14 hours of transfer after the 12-hour thaw. Request service limit increases in advance — you don't want to discover the quota during an actual incident. Document the runbook, the costs, and the SLA your business owners expect.

Try it at hexatransfer.com — free, no account, 10 GB max.

Send large files securely with end-to-end encryption

Transfer files up to 10 GB for free with end-to-end encryption. No account required. Your files are encrypted in your browser before upload — no one else can read them.

Send a file