Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS S3 Glacier upload-archive taking a long time to finish execution - ways to check status or speed upload?

I am trying to upload some .tar.gz files to AWS S3 Glacier using the upload-archive command (docs).

I ran the upload-archive command over one day ago on a 29 GB .tar.gz file like so:

aws glacier upload-archive --vault-name my-vault --account-id - --archive-description "my description" --body my-file.tar.gz

I checked today, and found it still has yet to finish execution.


My question is two parts:

  • Is there some way to see that the command is still running?
    • A progress bar would be awesome
  • Are there any ways (or alternate methods) to speed up the upload-archive?

FYI, I am using aws-cli==2.0.17. Thank you in advance for any help!


**Edit**

After running for two days, the upload-archive command errored out with the below message:

An error occurred (InvalidParameterValueException) when calling the UploadArchive operation: Invalid Content-Length: 30957118

Which lead to aws-cli #3413. The posts there are in agreement with all the answers below.

like image 895
Intrastellar Explorer Avatar asked May 31 '20 19:05

Intrastellar Explorer


2 Answers

In case you do not require to use Amazon S3 Glacier special features such as vault locks and vault policies, you may consider using Amazon S3 with storage class of glacier.

The class stores all your objects in the Amazon S3 Glacier backed, but provides easy and familiar interface of S3. Some benefits as compared to using Amazon S3 Glacier directly:

  • file names are preserved in S3. In Glacier your filenames get scrambled,
  • easy multi-part upload using aws s3 cli,
  • easy retrieval to the archived objects
  • s3 object lifecycles which can automatically transition your objects to S3 glacier storage, or from glacier to deep archive.
like image 77
Marcin Avatar answered Sep 27 '22 18:09

Marcin


Take a look at multipart-upload to Glacier.

This example initiates a multipart upload to a vault named my-vault with a part size of 1 MiB:

aws glacier initiate-multipart-upload --account-id - --part-size 1048576 --vault-name my-vault

As for checking if an existing upload is progressing, you can always look at the network activity on the uploading client and see if there is any bandwidth towards AWS IP addresses.

Docs

like image 39
Adi Dembak Avatar answered Sep 27 '22 18:09

Adi Dembak