Freeze is a file transfer client for Amazon Glacier designed for macOS. Freeze uses the Amazon S3 Glacier API.
You can download a Free Trial version here.
If you prefer, you can install via
homebrew cask:
brew install --cask freeze
Freeze is available for purchase on the Mac App Store and also here on this web site.
Feature-wise, both releases are identical, only the distribution-process and prices are different. The main differences are:
No, Freeze uses the Glacier API exclusively and does not support Amazon S3. Objects archived to Glacier via the S3 API are not accessible through the Glacier API.
Quoting from the official Amazon S3 FAQ:
Q: Can I use Amazon Glacier APIs to access objects that I’ve archived to Amazon Glacier?
Because Amazon S3 maintains the mapping between your user-defined object name and Amazon Glacier’s system-defined identifier, Amazon S3 objects that are stored using the Amazon Glacier option are only accessible through the Amazon S3 APIs or the Amazon S3 Management Console.
Glacier Deep Archive is a feature of the Amazon S3 API and not the Glacier API as of this time. Since Freeze uses the Glacier API it is currently not possible to add support for it. If Amazon will add this storage class to the Glacier API at some point in the future, Freeze will support it.
Freeze is not meant to be a backup solution. Instead, Freeze offers similar features that you would expect from a FTP client that you would use to access FTP servers (to clarify: Freeze does not support FTP).
A backup solution and a file transfer client are two different types of software.
Here are some use cases for a backup solution (which Freeze is not):
The iPhoto Library and other macOS Packages (for example application bundles) should only be stored on HFS+ file systems. These packages usually contains symbolic links that cannot be stored on Glacier.
Instead, you could create a DMG image, copy the package to that image and then upload the DMG image file to Glacier.
You can upload any kind of data you want to Glacier, but I highly recommend that you compress your data into individual archives before doing that.
When you compare Glacier to a file system, Glacier has some limitations:
You should also keep in mind that Glacier is designed for use cases where data is retained for months, years, or decades. Amazon will charge you an early deletion fee if you delete an archive within three months of being uploaded.
Be aware of these limitations when you upload files to Glacier. I recommend that you create archives of your files before you upload them to Glacier. The easiest would be ZIP archives or DMG images which macOS supports natively. For more advanced users I recommend DAR archives encrypted with GnuPG for example.
To connect to Amazon Glacier, you need your account credentials for your Amazon AWS account, i.e.
Access Key and Secret Key.
You can either use your root account credentials or IAM user credentials to connect to Amazon Glacier.
An IAM user who should have access to all regions requires at least the privileges
AmazonGlacierFullAccess
for full access
AmazonGlacierReadOnlyAccess
for read only access.
IAM users restricted to certain AWS regions are also supported. Just make sure that you only select the regions the user has access to within the account preferences.
Freeze supports all standard AWS regions as well as additional isolated regions.
Please contact support if you need support for other isolated regions.
When you upload a file in Freeze, the name of the uploaded file is used as Archive Description. Since Glacier's Archive Descriptions may only contain ASCII characters (values 32-126), they may not represent all characters that are normally allowed in file names of most file systems. Therefore, Freeze takes the UTF-8 representation of the file name and Percent-Encodes all characters that are not allowed.
For example, the archive description for file name `Hüte.jpg` would be encoded as `H%C3%BCte.jpg`.
Freeze tries to decode Archive Descriptions automatically. Archive description by the following clients are supported:
If you know about other Glacier clients which use a special archive description format, please let us know about!
Glacier has a flat structure with no hierarchy like you would see in a typical file system. For the sake of organizational simplicity, Freeze supports the concept of files and folders. You can enable and disable folder view within the app by selecting "Inventory -> Folder View".
For example, if you have an archive with an archive description like "test/doge.jpg", "test" is the folder of the file "doge.jpg".
Empty folders are represented by dummy archives with the archive description ending with a forward slash, e.g. "test/".
This type of folder representation is a common concept also used by other Amazon Glacier and S3 clients.
Glacier generates the inventory for non-empty vaults once a day. After your first upload to a vault you'll have to wait until the inventory has been generated by Glacier before you can initiate an inventory retrieval.
Reload the list of Vaults (Vault -> Reload Vaults) one day after your first upload. Then you should be able to initiate inventory retrieval.
tl;dr: Upload large archives (> 100 MB) instead of small individual files.
The size of your archives can have a significant impact on the retrieval speed and on the pricing (especially retrieval fees) since Glacier charges per-request fees for most operations.
Uploading a few large archives is much more efficient then smaller archives. For example: If you want to back up your photo collection, it's much more cost efficient to upload a large ZIP file of all your photos than each individual photo. In addition, the retrieval process will be much faster. The downside is, that you cannot restore individual files if you upload a big archive. A compromise could be to choose a archive file format that supports volumes and split the archive into chunks (of, for example, 100 MB each) and keep a separate index of those archives.
Freeze's default transfer settings are optimized for fast uploads with higher bandwidth internet connections. If you see timeout errors during uploads please do the following:
If you're still experiencing problems, please contact support.
If you still experience slow uploads, please contact Amazon AWS support. They are usually very helpful when it comes to network issues.
The maximum archive size depends on the upload part size. Here is an overview of the constraints of the maximum archive size for each upload size:
Partsize in MiB | Max. archive size in MiB | Max. archive size in GiB |
1 | 10,000 | 9.76 |
2 | 20,000 | 19.53 |
4 | 40,000 | 39.06 |
8 | 80,000 | 78.12 |
16 | 160,000 | 156.25 |
32 | 320,000 | 312.50 |
64 | 640,000 | 625.00 |
128 | 1,280,000 | 1,250.00 |
256 | 2,560,000 | 2,500.00 |
512 | 5,120,000 | 5,000.00 |
1024 | 10,240,000 | 10,000.00 |
2048 | 20,480,000 | 20,000.00 |
4096 | 40,960,000 | 40,000.00 |
The upload part size in configurable in Freeze's advanced preferences.
Freeze does not support range retrievals at this time. If you initiate retrieval for an archive, Freeze will retrieve the whole byte-range for that archive at once.
You can specify a per-region "Data Retrieval Policy" within the AWS Console. Please read the Amazon Glacier Documentation for more information. As long as you choose "Free Tier", you won't be charged for retrievals. This is also the default for new AWS accounts. For older AWS accounts you may have to set this manually.
You can also change the retrieval policy within Freeze:
First you need to initiate an inventory retrieval for the vaults you want to delete archives from. This takes about 4 hours to complete. After that, you'll be able to browse the vault's contents and delete individual archives.
Before you can delete a vault, you must first delete all archives from that vault. The steps to delete a vault are: