Skip to main content

glacier

create vault

$ aws glacier create-vault --account-id - --vault-name <Vault Name>
$ aws glacier list-vaults --account-id -

set vault notification

$ jq '.' vault-notifications.json
{
  "SNSTopic": "<ARN of SNS Topic>",
  "Events": [
    "ArchiveRetrievalCompleted",
    "InventoryRetrievalCompleted"
  ]
}
$ aws glacier set-vault-notifications --account-id - --vault-name <Vault Name> --vault-notification-config file://vault-notifications.json
$ aws glacier get-vault-notifications --account-id - --vault-name <Vault Name>

set strategy of retrieval policy to free tier

$ jq '.' retrieval-policy.json 
{
  "Rules": [
    {
      "Strategy": "FreeTier"
    }
  ]
}
$ aws glacier set-data-retrieval-policy --account-id - --policy file://retrieval-policy.json
$ aws glacier get-data-retrieval-policy --account-id -

upload archive

$ aws glacier upload-archive --account-id - --vault-name <Vault Name> --body testdata.tar.enc
$ aws glacier describe-vault --account-id - --vault-name <Vault Name>

retrieve inventory

$ jq '.' inventory-retrieval.json
{
  "Type": "inventory-retrieval"
}
$ aws glacier initiate-job --account-id - --vault-name <Vault Name> --job-parameters file://inventory-retrieval.json
$ aws glacier list-jobs --account-id - --vault-name <Vault Name>

$ aws glacier describe-job --account-id - --vault-name <Vault Name> --job-id <Job ID>
$ aws glacier get-job-output --account-id - --vault-name <Vault Name> --job-id <Job ID> output.json

retrieve archive

$ jq '.' archive-retrieval.json
{
  "Type": "archive-retrieval",
  "ArchiveId": "<Archive ID>"
}
$ aws glacier initiate-job --account-id - --vault-name <Vault Name> --job-parameters file://archive-retrieval.json
$ aws glacier list-jobs --account-id - --vault-name <Vault Name>

$ aws glacier describe-job --account-id - --vault-name <Vault Name> --job-id <Job ID>
$ aws glacier get-job-output --account-id - --vault-name <Vault Name> --job-id <Job ID> output.dat

delete archive

$ aws glacier delete-archive --account-id - --vault-name <Vault Name> --archive-id <Archive ID>

delete vault notification

$ aws glacier delete-vault-notifications --account-id - --vault-name <Vault Name>
$ aws glacier get-vault-notifications --account-id - --vault-name <Vault Name>

delete vault

$ aws glacier describe-vault --account-id - --vault-name <Vault Name>
$ aws glacier delete-vault --account-id - --vault-name <Vault Name>