This article will discuss AWS Glacier service from Amazon. AWS Glacier is a storage service intended for data that is not accessed very often and for which retrieval times of several hours is not a problem. It has a very low cost of 0.01$/GB. However, if your application requires fast and frequent access to the data, then it’s better to use Amazon S3.
VMware Training – Resources (Intense)
We will cover the following in this article:
Glacier basic concepts
Creating a vault
Upload archives to the vault
Delete a vault
In AWS Glacier, you are working with vaults and archives. Glacier is a REST based web service.
A vault is a container that stores the archives. Each vault has its own characteristics like name and the region where it will be created and it’s identified by unique address like:
Here you specify the region, the account ID and the vault name.
You can have the same name for two vaults in different regions, but the vaults from the same region must have different names.
The other Glacier resource is the archive. This is a generic name. It doesn’t need to be an archive. It can be anything: video, picture, text file and so on.
Each archive has a unique archive ID and this is unique in the region. During archive upload you can optionally specify a description. There is no limit on the number of archives that you can store in a vault.
This would be an archive address:
Glacier uses jobs and notifications resources as well.
To retrieve an archive or a vault inventory (list of archives), Glacier uses jobs. You first initiate the job and then wait for it to be completed. This is taking, in most situations, around four hours. When you launch a vault inventory job, you need only the name of the vault. When you launch an archive retrieval job, you need the vault name and the archive ID.
Glacier is doing an inventory every 24 hours. This is important as it has some effect on vault deletion as you will see later.
Notifications are used as a mechanism to inform you when a job has finished. This is an optional resource, which you might or might not want to use. Glacier is using a Simple Notification Service to send the notification.
Regarding the operations that you can do on Glacier, from the AWS Console, you can only create and delete the vault. All the operations related to archives, like upload, download, delete require programming. And you have several options regarding the programming language: Java, .NET, python.
However there are small programs that provide you a GUI and let you work easily with archives as you will see later in the article.
The drawback is that you cannot use automation and this is coming only by using programming. But for the regular user, using the third party software is just enough.
From AWS Management Console, from “Storage & Content Delivery”, select “Glacier”.
I have already created a vault, so the page that I will see is different from what you are going to get, in case, you don’t have any vaults created.
In any case, you should see a button “Create Vault”. You can put the vault name and create it or you can configure the notifications settings. In this case, I just created the vault:
Now I can see the new vault:
As I said previously, once created, the Glacier vaults are not accessible directly from AWS Console, but only through APIs.
One other option would be to use an Amazon Glacier Client which is third party software that makes uploading and syncing very easy.
One of the most popular such clients is CloudBerry Explorer so I will use it to show you how you can connect to AWS Glacier.
To connect your Amazon Glacier client to your account you will need the “Access Key ID” and “Secret Access Key” from one of your IAM users that has access to AWS Glacier.
You can read this article to see how you can create a user, assign it to a group and how to retrieve what is needed to be able to connect your client to your account: Amazon Web Services: Understanding IAM – Users, Groups and Sign-in Credentials.
I have this already so I will just start my client. From “File” menu, select “Amazon Glacier”:
Click on “Add” to add another Glacier account and then fill out the fields. On the “Display name” you can put whatever is meaningful to you. The rest of the fields are self explanatory.
Then you should see the new Glacier account:
To connect to your vaults, from the “Source” drop down, select the Glacier account that you just created:
Once you do that, you will see your vaults, exactly like you see them from AWS Console:
If you click on one of them, you will see their content. Let’s use the new vault created and then copy a file from the local computer. You just need to drag and drop to copy the file:
You can get the inventory of a vault, by using right click on any vault and then select “Get Inventory”. As said already, this will take around four hours. This is also shown in the Glacier client:
However if you are trying to manually get the inventory for the new vault created in the beginning of this article, you will get an error:
CloudBerry allows you to sync your local folders and Glacier. From “Sync Folders”, add or edit the folders that should be synchronized. In this case, the synchronization will happen in both ways. You need to click on the blue arrow to select the direction of synchronization:
Once you do that, you need to start manually syncing:
Also, you can check the properties of the archive by choosing the “Properties” option from the right click on the archive:
To delete a vault, you need to go to the AWS Console, select the vault and then click on “Delete Vault”. Remember that the vault has to be empty or there was no writing since the last periodical vault inventory (every 24 hours).
We have reached the end of the article and now you should be familiar with Amazon Glacier service, what it is, how you can create and delete a vault and how you can manipulate archives in the vault.
You are now aware of another service that you can use to store your data at a very low price.