How can I make sure my amazon ec2 instance is using the reserve instance?
Solution 1:
AWS automatically charges you the reserved price as long as your used count is less than the number of reserved instances you have.
In other words, there's no distinction between the types, it's purely a matter of accounting, a matter which AWS handles for you automatically.
Solution 2:
As others have said, this is more of a billing construct than anything else. Amazon have now added some helpful reports in their "Cost Explorer" (you may have to enable it first in your billing settings and wait a day or two before you see data.) There's both "RI Utilization Report" and "RI Coverage Report" templates available.
Here you can see the effect of me buying a reserved instance a couple of days ago on the Coverage report, confirming that the reservation is now covering 100% of my running instances:
Solution 3:
You're going to see it on the account activity. You'll have to analyze it yourself but if you know how many instances you purchased and how many are running you can see if you're getting charged what you think you should be getting charged. I purchased a few instances awhile back myself and I wanted to make sure I bought the correct reserved instances so I printed a copy of the account activity and waited a few days and compared the results.
You'll see they have a note saying "reserved instance" on the account activity screen but this is there regardless of whether or not its being used because with reserved instances (heavy usage only) they charge you in advance at the beginning of the month for the whole month. Just make sure your normal charges don't show up and you know that the reserved instances are being used correctly.
Solution 4:
I found a python script that does the work for you:
https://github.com/bpennypacker/ec2-check-reserved-instances