AWS Backup copy job costs when existing snapshot exists - amazon-web-services

I have been trying to contact AWS and look for information in their own knowledge articles but haven't been successful.
I'm trying to figure out how the billing works for AWS Backup.
Let's say I have a 100gb bucket and I back it up daily with a retention of 31 days in region eu-central-1.
I then also create a copy job that moves the backup to a secondary vault in the region eu-north-1.
On the 1st day I pay the full price for copying 100gb from eu-central-1 to eu-north-1.
On the 2nd day I have added 10gb of data and made some modifications to existing files.
Will my copy job on the 2nd day be billed for a transfer of 110gb to eu-north-1 or only the delta(The 10gb + changes)?

Billing in AWS is complex. Everything costs money, even things you think probably won't, probably will cost money. In this example you are likely going to be charged ingress/egress charges, backup storage charges for the services you use and all the supporting services.
Take a look at https://calculator.aws/ for an idea for what things cost. It's sometimes easier to get a rough guide from the pricing pages and this calculator, turn something on and keep a close eye on it in the early days to make sure this matches your expectation.
For finer grained control over billing, make sure you tag your resources to help you break down costs associated with your financial metrics to help to keep track better.
Not much of a specific answer, but hope that helps to get you going in the right direction.

So, to answer my own question. The copy job on the second day will only be billed for the extra data and not the full size.
I used AWS support as well as my own tests to confirm the result.

Related

According to the aws shared responsibility model, when using amazon rds, who is responsible for scheduling and performing backups?

Is aws responsible for both or customer is responsible for scheduling
i'm just confused i think customer is responsible for scheduling what is right answer please help
In RDS, backup is turned on by default. You need to setup the retention based on your use-case.
Reference: https://aws.amazon.com/rds/features/backup/
This is a tricky question because you can set automatic backups up to 35 days. If you want to access some older backups (older than 35 days), you need to take snapshots.
Nevertheless, the question looks like it's from AWS certification, so it's better to know what answer AWS wants (generally the customer is responsible for backing up).
It depends on what we consider as a 'backup' - literally (AWS - because they are responsible for making it and it's obligatory) or in a wider sense (both AWS & Customer - because they are making backups but you need to decide how often eg. 1-35 days and make occasional snapshots, if needed).

AWS Backup DynamoDB billing

I'd like to understand better the billing composition regardless of AWS Backup on DynamoDB resources since I got an unexpected increase in my billing.
I'm aware of AWS Backup billing itself thanks to the documentation, anyway, when I access the Billing service I can notice an exponential billing pricing in DynamoDB service, on the section Amazon DynamoDB USE1-TimedBackupStorage-ByteHrs the description allows me to see that I'll be paying $0.10 per GB-month of storage used for on-demand backup, showing me that I've used 14,247.295 GB-Month (This makes sense with the billing I got) but where my doubt comes from is, where does all those GB come from? The last snapshot-size just shows 175.5 GB
I've configured my backup plan with the following parameters:
{
"ruleName": "hourly-basis",
"scheduleExpression": "cron(0 * ? * * *)",
"startWindowMinutes": 60,
"completionWindowMinutes": 180,
"lifecycle": {
"toDeletedAfterDays": 30
}
}
I'm also copying snapshots into a second region on us-west-2
As you can see, I'm handling a schedule expression on an hourly basis backup because of compliance requirements. Is this enough justification for the high billing? I'm aware that backups with low RPO are commonly expensive but I just want to be sure that this billing is not higher than it should be because of any wrong Backup configuration.
Thanks in advance!
Just for the record, and for anyone who may have a similar problem, the root cause was as described by Caldazar, that handling hourly snapshots for a whole month makes you have 126,000 GB-Month if every snapshot has 175 GB.
In addition to this, at the moment of writing this answer, AWS Backup doesn't support DynamoDB incremental snapshots which is also another cause for the high billing.
Depending on your compliance requirements, you can handle snapshots for Dynamo as suggested by Ross Williams, rely on DynamoDB PITR and use AWS Backup for weekly / monthly snapshots. In my case, we use PITR alongside hourly, daily and weekly backups in case of the entire Region goes down and we cannot access the Dynamo service, again, this is more for our compliance requirements.
Hope it helps somebody!

EBS storage for Amazon Elasticsearch

Im learning about AWS for a subject in the university.
About 20 days ago I started to learn about Elasticsearch because I need querys that DynamoDB can't do.
I'm trying to use only the Free Tier and I created some domains, put data through Lambda (like 100 KiB) and then deleted it.
Then I checked the Billing and I realized that 4.9GB has been used for EBS storage. The Free Tier provide 10GB per month but the problem is that I don't know how I used all that storage and if there is a way to limit it because I dont want to exceed the usage limits.
I will be grateful for any kind of explanation or advice to not exceed the limit.
I'm unaware with preventive step which can restrict your billing.
However, using Cloudwatch billing alarm, you'd be notified immediately as soon as it breaches billing threshold.
Please have look at here for detailed AWS documentation on it.

Does the AWS Billing Management Dashboard take into account Free Tier usage

About a month ago I opened an AWS account to try out Amazon's own tutorial for EC2 services, only to give up after encountering an error.
Today I accessed my account once again, only to find out three tasks have been running in the background the whole month. My Billing Management Dashboard shows a hefty total in the upper right, but in the "free usage" tier the only exceeded entry is S3 Puts, of about 10%.
I can't seem to find a soruce anywhere in the documentation explaining whether the total billing in the upper right takes into account the Free Tier or not. At the end of this month, will I be billed entirely or only the % difference? I'm more or less okay with the latter, but I can't really afford the former.
I've obviously opened a support ticket right away, but since I'm on the basic plan I'm afraid they might answer me after the current bill becomes active.
Thank you for any answers.
You will be billed only for the % difference.
All services that offer a free tier have limits on what you can use without being charged. Many services have multiple types of limits. For example, Amazon EC2 has limits on both the type of instance you can use, and how many hours you can use in one month. Amazon S3 has a limit on how much memory you can use, and also on how often you can call certain operations each month. For example, the free tier covers the first 20,000 times you retrieve a file from Amazon S3, but you are charged for additional file retrievals. Each service has limits that are unique to that service.
Source: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html

Monitoring usage amount for each user in Amazon AWS

We have a central Amazon AWS account and 87 users. As I figured out, there is no way to allocate credit to each single user (like $40 of the whole credit on the account).
Please let me know if there is a way to figure out current usage of each user from the total credit. For example have list showing user no. 1 has user $3 so far and no. 2 has used $40 ...
Users have access to EC2, ERM and S3.
Thanks
I'm not sure if you're already using consolidated billing, but it might serve as a solution
What you are probably looking for is cost allocation.
You can use cost allocation to organize and track your AWS costs. When you apply tags to your AWS resources (such as Amazon EC2 instances or Amazon S3 buckets), AWS generates a Cost Allocation Report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent your business dimensions (such as cost centers, application names, or owners) to organize your costs across multiple services.
When you follow the steps to activate this feature, you specify an S3 bucket where the reports will be dropped. There's a final report at the end of every billing cyle but there are also "estimated" rolling reports that get dropped into the bucket several times a day.
Thanks friends I found the solution with your help.
Using consolidated billing we are able to see to total usage amount and separately for each user.
Cost allocation reports from AWS definitely help. But it can be tough to turn all that CSV data into reports, especially if you've got a lot of individual users.
A lot of tools have been built to help with this issue. It's one that a lot of AWS users run into.
This blog post gives some hints on how to create more useful allocation reports: http://blog.cloudability.com/insight-with-aws-cost-allocation-reports/
As a disclaimer, I work at Cloudability. We've got a lot of users with this exact same issue.