How to track AWS data transfer charges? - amazon-web-services

I want help on understanding the AWS cost explorer graph to track the huge data transfer usage.
I have noticed the AWS account bills for jan, Feb and March (till current date) where it is showing a huge data transfer charge as a bill line item (image attached AWS Bill line Item)
regional data transfer - in/out/between EC2 AZs or using elastic IPs
or ELB
. Further i checked it in AWS Cost Explorer reports by applying Group by filter Region wise and can see that it has data transfer for each region but also for
No Region
, i am not able able to understand this bar graph (please see the image attached and yellow graph AWS Cost Explorer Reports Region Wise) with level "No Region".

A good starting point would be to enable VPC Flow Logs. VPC Flow Logs will show you where the source and destination of all the traffic within your VPC. After you've analysed the logs, you should have a good indication of where to begin investigating.
Out of context but adding it here as it might help you: for some services such as S3, you can enable object-level logging to help you understand what is accessing your objects, which could help you further understand why you're paying for data transfers.
You can avoid paying for data transfer charges between AWS services by using VPC Endpoints. VPC endpoints allow you to connect directly to the service rather than over the internet, which will avoid incurring extra data charges. More on VPC Endpoints here.

Related

Aws data transfer costs command line (or web)

I am looking to build a POC for my current gig. It is an AWS ec2 with an application that needs to talk with internal AWS private IP's and several outside AWS public IP's.
After benchmarking, I am able to get all the costs for an hour of running this application except for the network data transfer cost. (All from the command line)
Does anyone have an idea on how to get current network costs from either the command line or web interface?
The only potential cost for data transfer between Amazon EC2 instances in the same region would be 1c/GB in & 1c/GB out if using Public IP addresses or going across AZs.
Traffic between instances via private IP addresses in the same AZ would be zero.
For reference, see https://www.duckbillgroup.com/resources/:
https://aws.amazon.com/blogs/mt/using-aws-cost-explorer-to-analyze-data-transfer-costs/
In Cost Explorer using filters you can analyze data transfer costs:
After your cost allocation tags have been activated, and your workloads have run for at least a day, you can use filters in Cost Explorer to analyze your costs over that period.
Sign in to AWS Cost Explorer at https://console.aws.amazon.com/cost-reports/home?#/
Choose Explore in the navigation pane, and then choose Cost and Usage.
Choose the date range for the period for which you want to see the costs, and choose the Apply button.
Choose Filters – Service, then EC2-instances, and then EC2-ELB.Next choose Apply filters.
To see the total EC2 data transfer cost:
Choose Filters, Usage Type Group, EC2: Data Transfer – inter-Availability Zone, Internet (Out), and Region to Region (Out), then choose Apply filters.
You can also choose each individual data transfer type by checking only the box for that type.

amazon emr - does creating a cluster use data transfer out?

I am using aws with emr over ec2 and getting tons of charges for data transfer out, about 900 gb for a few days, but I don't send any data out.
The only thing I am doing is creating an emr cluster and downloading data from s3 to it.
I found this about costs and see that data transfer out to the internet Is not supposed to happen when you are not sending any data!
I keep seeing multiple charges for data transfer out to many aws regions and to the internet, I can't find any reference for a reason to it. what can it be?
Most likely is that you're accessing an S3 bucket in a different region. Either for your data or for writing EMR cluster logs.
There are a couple of ways to diagnose this. First, of course, is to look at your EMR cluster config.
Second is to enable VPC flow logs, which will tell you the exact source and destination for your data. These may, however, be limited: if you're running all traffic through a NAT then they'll just show the NAT, not the ultimate source/destination.
A third approach is to use a security group that prevents outbound connections, and look in your logs to see what fails.

How to get usage details of AWS EBS service?

My team got billing for AWS EBS and we have no idea what is it about.
Going to our console and try to open EBS section though we failed to get one as the snapshots below.
So my question is how to get breakdown details on AWS EBS usage billing?
p.s.
The EBS usage cost is viewed under EC2 section in billing tab in the management console
EBS is under EC2 in the AWS Management Console. If you look at the size of your volumes, the type of volumes and also the size of your snapshots that should help identify the cost.
E.g. faster volumes types, provisioned IOPS, large volumes/snapshots are more expensive.
You can put this information into the AWS Simple Montly Calculator to work out the cost https://calculator.s3.amazonaws.com/index.html
You can also look at the usage in CloudWatch, however it's under EBS there and shows per volume statistics.
For AWS billing you can use cost explorer for generating handsome reports.
Billing Break-Down:
In aws they have grouped multiple offerings under one service. For ex: EBS, ELB, EIP all grouped under EC2.
Same when they provide billing breakdown they provide it on service basis then region basis and then offering.
If you want better breakdown best way is to use cost tags and cost explorer.
Like in your case you can give your service_tag = ebs and application_tag = app1.
Then by using cost explorer : filter_by = app_tag and region and etc. and group_by = service_tag. By performing multiple combinations you can get a clear view of your cost and usage.

Amazon RDS billing

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.

Amazon EC2 unexpected billing amount

I´m quite new with Amazon Web Services. Some months ago, I created a m3.medium instance on demand. According to AWS EC2 prices, this instance is 0.077$/hour. This means 55,44$/month (november). However, I got a billing of 74.76$ (91.12$ with taxes).
I guess I have some service that I´m missing and maybe they are charging me:
In example, I have an Elastic Load Balancer. Am I getting charged for that? Actually, I have realized I had two ELB. It looks like I created it another one for testing purposes and I forgot it there.
I also have an Elastic Block Store (EBS) with 8GB of size. Am I getting charged for that? Do I really need it?
When I check my billing status, I don´t see any reference to these both two services. So, I guess they are included in the EC2 billing, right?
I don´t know where I got the idea that when you start an EC2 instances, an ELB and EBS was included with no additional charges.
As you can see, I´m quite lost with these services.
Billing information is available from the account menu (in the top-right, next to the Region menu). It will display a simple breakdown of charges by service:
More detailed billing information is available by clicking the "Bill Details" link (in the top-right). It will show a breakdown of charges by service for any selected month:
EBS charges are included under "Elastic Compute Cloud":
To answer your questions:
Elastic Load Balancer pricing
Elastic Block Store (EBS) pricing: This is the disk storage for Amazon EC2. You will be charged for any volumes from the time they are created until they are deleted.
There is also a Free Usage Tier that includes 30GB of EBS storage each month in your first year (amongst other services). If you use services within this free tier, there will be no charge.