I am using AWS RDS to host one of my client's MySQL database. His web server is hosted in a separate hosting company (TurnKey). This site has some 14,000+ unique visitors and ~270,000 requests per day. This is a WordPress driven site.
The question is Even though I am paying only 52 USD for RDS service I am getting some 150 $ bill for data transfer(For about 1560+GB per month). I understand that data transfer outside AWS is costly. I want to know if I host the web site in AWS in the same region (in a m4 or in a ec2), will it reduce the data transfer costs? Or is there any other option I can consider?
Billing Summery
Data Transfer
US East (Northern Virginia) Region - $141.39
RDS Service
US East (Northern Virginia) Region - $52.83
Thanks in advance.
Yes you will not be charged this huge data transfer fee if you host your site on AWS because local AWS network traffic doesn't cost you anything. It should also be a lot faster.
Related
How Aws charges for data out transfer EC2 to internet? and also for first 100gb data out transfer is free for each month for that every month above 100gb data out transfer ec2 to internet. I mean, how they charge?
From EC2 On-Demand Instance Pricing – Amazon Web Services (in March 2022):
Data Transfer OUT From Amazon EC2 To Internet
AWS customers receive 100GB of data transfer out to the internet free each month, aggregated across all
AWS Services and Regions (except China and GovCloud). The 100 GB free tier for data transfer out to the internet is global and does not apply separately or individually to AWS Regions.
Pricing for data beyond 100GB is priced from 9c/GB, but it varies by regions. Please refer to that pricing page for current pricing.
I created a t3.micro EC2 instance on aws being costed at an hourly rate of $0.0065/hr. It's got 2 vCPUs and 1 GiB Memory. I manged to run a 128 tick CS:GO server on it, but the data transfer out charges are killing it. The estimated cost of this server per month is around $43, considering I only play 5 scrims (5v5 competitives) per day, and data transfer out alone costs me $38 in this case. However, some individuals are offering me a server for as low as $10 per month. What am I doing wrong? How do they do it?
You might consider moving from Amazon EC2 to Amazon Lightsail.
Lightsail has pricing plans that include volumes of Data Transfer traffic and it is designed for people who just want to launch a small number of virtual computers (eg WordPress instances) rather than configure a whole cloud infrastructure.
See: Amazon Lightsail Pricing | Virtual Private Server (VPS) | AWS
I have MYSQL Database in AWS RDS and Web Application in Mumbai Region. I want to access the web application from the USA with good latency/speed. I have used AWS CloudFront still the application is very slow.
Any Suggestions.
Best,
Syed
AWS CloudFront
How about a cross-region read replica of your MySQL database in the USA? If the majority of your database operations are read rather than write, this will give you a significant improvement in response time.
In standard, it is recommended to keep databases and apps should be in the same regions(eventually can try to keep in the same zone) from the majority of end-user belongs to
As of now, you can create a cross-region replica but you need to be ready for replica lag and data transfer charges. In the long term, plan to move your setup to N.Virgania or any other USA region.
I have aws setup for my website, What I am doing is when a user uploads an image , we are saving it to a folder on ec2 and then transferring it to s3, post which we are fetching images from s3.
I have also stored all the js and css on ec2 and fetching all from ec2 itself.
My data transfer cost is very high now, Please suggest if storing images on ec2 is costing me more ? should I directly store it on s3?
Always think of using CDN or dedicated web hosting services if your web traffics is high. EC2 are only recommended for back-office processing usage than serving web page. There is no free lunch in AWS if you are not careful. You must always check AWS bandwidth pricing before you want to host anything inside AWS. In certain extend, the data transfer costs can be many time more expensive than the EC2 server and (s3, EBS) storage.
AWS only give EC2 1 GB free data transfer to the Internet. After that, it is $0.09/GB. If you open your web server to everyone and 20 bots go download 100GB data daily from your EC2 web server, you will get a hefty bill, i.e. (100GB x $0.09 x 30days = $270 ) - $0.09 (Free 1GB) = $269.01
Also remember, S3 data transfer out to internet is NOT FREE. You only get free unlimited data transfer from S3 to your EC2/lambda within the same region. If you signed the S3 file as a URL to let people download the file, you get billed by "internet OUT" bandwidth charge.
Data Transfer charges only apply to data going from an AWS Region to the Internet. There is no charge for uploading to AWS, nor for moving data between S3 and EC2 in the same region.
If your data transfer costs are high, it suggests that you are serving a lot of traffic to the Internet, either from EC2 or S3.
My doubt is how the Amazon RDS instance is billed. I read somewhere that it is a component based billing based on the CPU/hour, number of input/output requests, etc.,
How are the I/O requests interpreted? I have a model in which I am trying to reduce the number of input queries that go into the cloud. Will it reduce my yearly cost to a good extent?
Full pricing information is available on the Amazon RDS Pricing page. It involves:
An hourly charge for the RDS instance
A charge for data storage based on amount of storage (including backup storage beyond the provisioned storage size)
A Data Transfer for traffic flowing out of AWS to the Internet
A minor charge for traffic flowing between Availability Zones
There are no charges relating to database requests. In fact, these requests are directly between client apps and the database and are not visible to AWS.
Update: Amazon Aurora also charges an "I/O request" charge. See comments below.