AWS Calculator - S3 PUT REQUESTS

0

I am using the AWS calculator to try and figure out approximate costs for storing additional data in AWS S3 Deep Glacier - one of the fields in the calculator is "PUT, COPY, POST, LIST requests to S3 Glacier Deep Archive".

Is there a way I can calculate how many PUT requests will be performed when uploading this data to S3?

We are looking are storing data in the TBs, if we store an additional 100 objects does this equate to 100 PUT requests?

whom
demandé il y a un an661 vues
1 réponse
0

Hello,

I understand you are trying to approximate costs for PUT requests into S3 Glacier Deep Archive using the AWS Calculator [1].

Estimating the number of PUT requests when uploading data is going to depend on the size of the data you are uploading and the method used.

For example:

  • Upload archives in a single operation – In a single operation, you can upload archives from 1 byte to up to 4 GB in size. However, we encourage S3 Glacier customers to use multipart upload to upload archives greater than 100 MB.
  • Upload archives in parts – Using the multipart upload API, you can upload large archives, up to about 40,000 GB (10,000 * 4 GB) [2].

Let’s use your example of 100 objects at a TB scale. We will say 10 objects are 100GB in size each and the other 90 files are 1GB each (1.09TB total).

Since Amazon encourages customers to use multipart upload for archives greater than 100MB [2], we will use multipart upload for each of the 100 objects (since each object is greater than 100MB) [3]. For each 10GB file, we will assume you will generate 1000 multipart upload parts (100MB per part) for a total of 1002 API calls per file. Here would be the following API calls [4]:

  • A CreateMultipartUpload call to start the process.
  • 1000 individual UploadPart calls, each uploading a part of 100 MB, for a total size of 100 GB.
  • A CompleteMultipartUpload call to finish the process.

That would be 1002 API calls for each 100 GB file. With a total of 10 files, we end up with 10,020 total API calls (1002 X 10 = 10,020).

For each 1GB file, we will assume you will generate 10 multipart upload parts (100MB per part) for a total of 12 API calls per file. Here would be the following API calls:

  • A CreateMultipartUpload call to start the process.
  • 10 individual UploadPart calls, each uploading a part of 100 MB, for a total size of 1 GB.
  • A CompleteMultipartUpload call to finish the process.

That would be 12 API calls for each 1 GB file. With a total of 90 files, we end up with 1,080 total API calls (12 X 90 = 1,080).

Now if we add all of that up, we end up with 11,100 total API calls to upload all 100 objects (10,020 + 1,080 = 11,100). You can now use the AWS Calculator [1] and/or the Amazon S3 pricing page [5] to estimate PUT request costs.

Resources:

[1] AWS Pricing Calculator - https://calculator.aws/

[2] Uploading an Archive in Amazon S3 Glacier - Options for Uploading an Archive to Amazon S3 Glacier - https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-an-archive.html#uploading-an-archive-overview

[3] Uploading Large Archives in Parts (Multipart Upload) - https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html

[4] Uploading and copying objects using multipart upload - Multipart upload process - https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpu-process

[5] Amazon S3 pricing - https://aws.amazon.com/s3/pricing/

AWS
répondu il y a un an

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions