Buying Reserved Instances (RIs) for EC2 can slash your compute costs by up to 72% by locking in lower prices in exchange for a commitment to use specific instance types and regions.

Let’s say you’re running a fleet of m5.large instances in us-east-1 that are on 24/7. You’re paying the on-demand rate, which for m5.large in us-east-1 is about $0.096 per hour. If you run these instances for a full year (8760 hours), your annual cost is $0.096 * 8760 = $840.96 per instance.

Now, if you commit to a 1-year Standard Reserved Instance for an m5.large in us-east-1, the price drops to about $0.059 per hour. Over a year, that’s $0.059 * 8760 = $516.84 per instance. That’s a saving of $324.12 per instance, or about 38.5%. If you go for a 3-year term, the price drops even further to around $0.041 per hour, costing $0.041 * 8760 = $359.16 annually, a saving of about 57.2%.

The "up to 72%" often comes from combining this with Savings Plans, which offer more flexibility. But for pure RIs, the savings are substantial and predictable.

Here’s how you’d actually do it in the AWS console:

  1. Navigate to the EC2 Dashboard: Log into your AWS Management Console and go to the EC2 service.

  2. Find "Reserved Instances": In the left-hand navigation pane, under "Elastic Block Store" (yes, it’s oddly placed), you’ll find "Reserved Instances." Click on it.

  3. Click "Purchase Reserved Instances": This will take you to the RI purchase flow.

  4. Specify Your Requirements:

    • Instance type: You’ll see a dropdown. Select the exact instance type you want to reserve (e.g., m5.large).
    • Region: Choose the AWS region where your instances are running (e.g., us-east-1).
    • Tenancy: For most cost savings, choose "Shared" (default). "Dedicated" instances cost more.
    • Platform: Choose your operating system (Linux/Unix or Windows).
    • Term: Select either 1 year or 3 years. Longer terms yield higher discounts.
    • Offering type:
      • All Upfront: Pay the entire cost for the RI term upfront. This gives the highest discount.
      • Partial Upfront: Pay a portion upfront and the rest monthly. Good balance of discount and cash flow.
      • No Upfront: Pay nothing upfront, with monthly payments. Lowest discount but no initial cash outlay.
    • Payment frequency: Based on your offering type, you’ll choose monthly or upfront.
    • Quantity: Enter the number of instances of that type/region you want to reserve.

    You’ll see the estimated costs and savings update in real-time as you adjust these parameters.

  5. Review and Purchase: Once you’ve configured your RI, review the summary and click "Purchase."

Once purchased, the RI discount is automatically applied to any running instances that match the RI’s attributes (instance type, region, tenancy, OS). You don’t need to "assign" RIs; they just apply. The discount is applied to the usage of qualifying instances, reducing your hourly bill.

The most surprising true thing about RIs is that they are a commitment to pay, not necessarily a commitment to run a specific instance ID. If you buy an RI for m5.large in us-east-1, and you later terminate one of your m5.large instances, the RI commitment continues, and you’re still paying for it (though the discount will apply to whatever m5.large instance you are running in that region). This is why accurately forecasting your usage is critical.

The next concept you’ll run into is how to manage and optimize your RIs as your infrastructure evolves.

Want structured learning?

Take the full Ec2 course →