If you were reading my Twitter stream about 11 days ago you will have seen me tweet the following message.
That feeling when your
#AWS reserved instance ran out and you didn’t realise. 🙁
The story was I logged into AWS and noticed the reserved instance for my website had expired about a month and a half before. For those that don’t know, buying reserved instances reduces your compute costs because you are committing to some resource usage over an extended period of time. There are various combinations of time, up-front payment, instance type and region that save you different amounts of cash… Once I noticed it had expired I bought a new reserved instance and thought no more of it.
Fast forward to this weekend and I checked my “EC2 Reserved Instance Utilization Report”, to make sure my actual instance was using my reserved instance allocation and I was not getting overcharged. The default screen suggested that I wasn’t using my reserved instance, which left me kind-of vexed. I checked the settings and noticed the reserved instance had been bought at “Region” level, rather than for my “Availability Zone”, which is “EU (Ireland)”. I reset it to my availability zone and decided to investigate…
What I noticed was visiting the EC2 reports was flipping my region settings from “EU (Ireland)” to “Global”. When I next visited any EC2 screen my region was flipped from “Global” to “US East (N. Virginia)”.
I reported this to AWS and got a message back suggesting this was impossible. I recorded a video of it and sent that. I also reached out on Twitter and it seems I’m not the only person able to reproduce this bug. After several more interactions with support, it seemed this was the only “Global” service that was having this issue. When I switched to IAM or S3 and back to EC2 I remained in the proper region…
At this point I was feeling a little miffed that I had lost out on 9 days of reserved instance pricing, so I asked for the difference to be refunded. I accepted the 40+ days where I had no reserved instance were my fault… I also made some suggestions about reserved instance notifications and proper buy-the-same-again functionality, that would really help in this situation.
After a few minutes I got a little paranoid and though I ought to double-check that my reserved instance wasn’t being used, so I had a little play around with reporting and noticed the default report (a summary) was not showing it, but if I flipped to a report with finer granularity I could see the reserved instance was being used, which in itself seemed a little odd. I wrote back to support and asked them to ignore my request for the 9 day refund as the reserved instance was being used. As far as I was concerned, the situation was over now as I had not lost out on any money due to this interface bug.
A little while later I got a message from support confirming my reserved instance was indeed being used, so I had not lost out over those 9 days, but they also refunded the difference between the reserved instance pricing and the full price I paid for the month and a half where I had no reserved instance! Wow! I really didn’t expect that!
In financial terms, the refund is nothing to Amazon, or me for that matter, but that sort of gesture is fantastic from a customer service perspective. I instantly switched from being a little annoyed by the whole situation to wanting Amazon to marry my daughter (Heli). 🙂
Before last year’s Oracle OpenWorld I wrote a post called “Oracle : Tech Company or Service Company?“, where I discussed what I think Oracle need to do to compete with the other cloud providers. I can’t imagine Oracle resolving an incident like this so quickly, at the weekend, which resulted in giving me some money I probably didn’t deserve. I hope someone from Oracle reads this post and registers the fact this is what you are competing with!