- Newest
- Most votes
- Most comments
Based on the information provided, there appears to be a mismatch between your Reserved Instance and your running EC2 instance that's preventing the discount from being applied.
Reserved Instances are automatically applied to running On-Demand instances when their attributes match. For the Reserved Instance discount to apply, several attributes must match exactly:
- Platform (operating system)
- Instance type
- Tenancy
- Availability Zone (for zonal RIs) or Region (for regional RIs)
Looking at your screenshots, I notice that your Reserved Instance appears to be for a Linux/Unix platform, while your running instance is using an Ubuntu AMI. This could be the source of the issue.
Reserved Instances work as a billing discount that's applied hourly. When you have running instances that match your Reserved Instance attributes, the discount is automatically applied. If there's no match, you'll continue to be charged the On-Demand rate for your running instances while still paying for the Reserved Instance.
To resolve this issue, ensure that all attributes of your running instance match those of your Reserved Instance, particularly checking that the platform (operating system) matches. If you're still experiencing issues after confirming all attributes match, you may want to contact AWS Support for further assistance.
Sources
Use your Reserved Instances - Amazon Elastic Compute Cloud
EC2 Reserved instances - how do they work | AWS re:Post
Unsurprisingly, it turns out I did make a mistake. The Reserved Instance was for Dedicated Tenancy, and the running instance is using Default Tenancy. I should have noticed this when purchasing/provisioning.
Relevant content
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago

The Platform Details for the running instance are "Linux/UNIX". Ubuntu is Linux. There is no option to purchase Reserved Instances specifically for Ubuntu.
All of the attributes of the Reserved Instance and the running instance match as far as I can tell.