Does AWS S3 charge requests for EC2 transfer? - amazon-web-services

I understood from the pricing sheet that data transfer is free between EC2 and S3 in the same region, but will I still be charged for GET, PUT etc. requests?

You are correct -- there is no Data Transfer charge for traffic between Amazon EC2 instances and Amazon S3 within the same region. (The same goes for other services, too.)
However, these charges still apply:
Storage pricing
Request pricing

Related

AWS pricing for S3 object download using site-to-site VPN

I would like to understand the monthly cost of using a VPN site-to-site link to transport data from S3 to my on-premises host. I will use AWS Lambda to transfer around 12 TB of data each month from S3.
Using AWS calculator, I checked the S3 and VPC tabs and noticed that there is a "Data Transfer OUT" in both services.
For this use-case will I have to pay the "Data tranfer out" fees for each service?
Thanks
For this use-case will I have to pay the "Data tranfer out" fees for each service? Thanks
You can create a VPC S3 Endpoint to make the S3 service accessible for your Lambda function without counting outbound data.
I will use AWS Lambda to transfer around 12 TB of data each month from S3
You will still pay internet outbound from VPC.
If you plan to transfer the data to your on-premise destination, you may consider establish the (already mentioned) AWS Direct Connect service
Data Transfer Out is charged when data goes from AWS to the Internet. It is only charged once, at the exit point.
If data is going across an AWS Direct Connect link, then the Data Transfer price is lower.

Am I charged for creating and keeping AWS S3 buckets?

I created two buckets back in 2018 but never removed them. Rest assured that they are empty buckets with no files at all.
I didn't see any fee charged, so I presume Amazon/AWS didn't charge for simply creating S3 buckets?
S3 pricing is based on object storage, not buckets. You can read more about S3 pricing on the AWS S3 pricing page here.
Well, even though you're not charged for the bucket itself, you can still incur some charges related to them.
There are six Amazon S3 cost components to consider when storing and managing your data—storage pricing, request and data retrieval pricing, data transfer and transfer acceleration pricing, data management and analytics pricing, replication pricing, and the price to process your data with S3 Object Lambda. For my details about the pricing model, check it out here

Pricing for using SQS within EC2

If messages are both sent and received from different EC2 instances in the same region, there will be no cost right?
In other words, messages are only billed if it's coming from or going to non-EC2 instances/systems?
See the Amazon SQS Pricing page for details of SQS pricing.
It is charged as:
Price per 1 Million Requests after Free Tier (Monthly)
Plus data transfer
A request includes SendMessage, ReceiveMessage, DeleteMessage, etc.
The Data Transfer charge within a Region is free. For example, if requests come from an Amazon EC2 instance in the same region as the Amazon SQS queue, there is no charge. The Data Transfer charge only applies for data going out of the cloud, eg to the Internet or to another Region.
As per the page:
Data transferred between Amazon SQS and Amazon EC2 within a single region is free of charge (that is, $0.00 per GB). Data transferred between Amazon SQS and Amazon EC2 in different regions is charged at Internet Data Transfer rates on both sides of the transfer.

Amazon S3 Bucket data transfer charges applicable while mounted in EC2 server?

I have created an S3 Bucket and mounted into one of my EC2 servers in the same region. Then I put data into the bucket using FTP account created for that EC2 instance. Finally, I access the data by Http request.
I'm not accessing S3 bucket directly from Internet, either for writing or accessing. All the data transferred through EC2 instance.
So, I assume per month charges as below, for fully used up 1TB S3 bucket (standard storage),
Storage Pricing - $0.0300*1024 = $30.72
Request Pricing - $0.005*10 = $0.05 (Assumed 10,000 request per month )
Data Transfer Pricing - Nill (Since the bucket is not being accessed directly)
Is that correct? or data transfer pricing is applicable?
Ref: Pricing Details
You do not pay for data transfer between S3 and EC2 in the same region, however you pay for Data Transfer OUT From Amazon EC2 To Internet or EC2 instance in a different availability zone in the same region.
See EC2 pricing for more details.
If you transfer 1TB of data OUT to Internet from AWS, either directly from S3 or through EC2 instance, you will pay the same price.
TIP:
If you are transferring big amount of data from S3 out to Internet, look into CloudFront. Data transfer EC2/S3/ELB -> CloudFront is free of charge and CloudFront has cheaper rates per Gb compared to downloading files directly from S3.
EDIT:
see #Michael - sqlbot's comment, this is often but not always true depending on S3 Bucket's region and CloudFront edge location serving the content.
TIP 2:
For really large amounts of data it might be worth setting up DirectConnect connection (private connection from your office / on-premise setup to AWS). Then Data Transfer becomes even cheaper per Gb, however you start paying hourly rate for your DirectConnect link. Do the math to calculate what's best for you.
If you are reading data from S3 to your EC2 instance, and the S3 bucket is in the same region as your EC2 instance, then there are no data transfer costs.
Broken down:
There is no “data transfer in” costs to your EC2 instance if the data is coming from an S3 bucket in the same region: EC2 Instance Pricing – Amazon Web Services (AWS)
There is no “data transfer out” costs from your S3 bucket if the data is going to an EC2 instance in the same region: Cloud Storage Pricing – Amazon Simple Storage Service (S3) – AWS
There is no "data tansfer out" costs from EC2 to S3.
More info:
https://www.quora.com/In-AWS-EC2-what-counts-towards-data-transfer-costs

Ensure free data transfer from S3 to EC2

Amazon's pricing documentation says
"Data Transfer OUT From Amazon S3 To Amazon EC2 in the Northern Virginia Region (is) $0.000 per GB"
Is there anything special I need to do to ensure that I don't get charged for transfers from S3 to EC2, assuming both are in the Northern Virginia Region? IE) Is executing a GET request from this EC2 instance to https://s3.amazonaws.com/{bucketName}/{resource} going to automatically get counted as 'free' without doing anything additional? Or is there a private IP address for S3 that I need to access in this scenario?
If the request comes from within the same region, you're likely to be redirected to the right endpoint and not going to be charged. If you want to be 100% sure, however, you can choose the correct endpoint yourself:
http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
This may be particularly useful if you use API and tools from 3rd parties, which sometimes use varying default endpoints, unless you override them explicitly.
As long as your S3 buckets are in the same region as your EC2 machines, your data xfers are free. If you always deal with the same region, then you do not have to worry about the data xfer cost.
Data Transfer OUT From Amazon S3 To
Amazon EC2 in the same region $0.000 per GB