My expectation for this week’s AWS bill is that it would be high because I have been using services such as RDS and EC2 for the DinoStore Project.
When I looked online tonight, my bills page showed this number:
This is an increase of $7.24 since I last checked my budget.
I did receive a message from one of budgets earlier in the week, on the 19th of April. I decided that as I was still in the process of completing labs 4, 5, and 6 of the DinoStore project, that I would write up the blog once I had completed the labs. My intent in this, was to view the overall expenditure for these RDS based labs.
As the previous budget was now set too low, I changed the budget amount from $1 USD (credit) to $5 USD (credit). Because I only adjusted the budget rather than creating a new one, all of the previously logged expenses remain. In the updated budget this put the forecast percentage to 55%. This required me to create alarms for forecasts above 55%.
In order to clarify where the $11.41 of credits have been billed, I looked through the full billing information of each AWS service.
Below are billing snapshots of the three services that caused expense over the last week:
I compiled the billing information into my spreadsheet so that I could compare the cost amount for each service.
As expected, most of my costs can be seen to be from the RDS service. What I did not initially expect is that most of the cost would be from the ‘$0.017 per RDS db.t2.micro instance hour running MySQL’ specific service which corresponds to the MySQL CE RDS in the North Virginia region. However, this does start to make sense when I consider that although my Sydney based RDS server is free, my backup to the North Virginia region is not. Hence, whenever I’ve had my instances running this past week, both regions have been charged for every hour or partial hour of use, which has caused the high expense from the North Virginia region.
I created another spreadsheet, this time looking at the percentage increase of cost per week (in relation to the week prior). Extrapolating this information from my billing spreadsheet provides me with the same information, but from a different perspective, enabling me further understand the financial investment required for each service and its charged attributes.
Considering this from a business financial perspective, the question arises, is having the North Virginia backup worth its expense?
During the restoration of my RDS instance snapshots, I ensure that they are not multi-AZ deployment enabled, as this would cause a charge from the RDS Service Storage attribute.
In terms of financial capability; In my scenario, where I have $100 USD credit for free, and this project is not for long term, the North Virginia expense is not too problematic, even though it could be considered as needless expenditure. Considering expense value leads me to another question, is this North Virginia backup a setting that can be changed within my RDS instances, or is it locked into the instance properties and can’t be adjusted?
It appears that both questions have a fundamentally wrong assumption. When I created the RDS instance quite a few weeks ago, I created a read-replica of one of my instances and placed it in a different availability zone -North Virginia to be precise. My understanding was flawed, in that I thought that my instances were constantly being backed up into the North Virginia instance whenever I restored them from their snapshots. This understanding was backed up with the results that I found within my last budget report. Tonight, after being unable to found anything relating to North Virginia in my two instances, I changed the region on my AWS site, and looked at my RDS service for the North Virginia region. What I found was a running instance.
So in answer to my first question: this North Virginia read-replica appears to a needless expense, and a pricey lesson in keeping track of everything in AWS, especially that which is organized into different regions.
As far as whether storing replicas or other services within different regions is worthwhile; that depends entirely on the business goals, financial priorities, and cloud server influence for each individual business.