How to Use AWS Savings Plans to Reduce Costs
To use
AWS Savings Plans, you purchase a commitment to a consistent amount of compute usage (measured in $/hour) for 1 or 3 years. AWS then automatically applies discounted rates to your matching usage, reducing your costs without changing your resources or usage patterns.Syntax
The main steps to use AWS Savings Plans are:
- Choose a plan type: Compute Savings Plans or EC2 Instance Savings Plans.
- Select commitment: Specify the hourly spend commitment and term length (1 or 3 years).
- Purchase the plan: Use AWS Management Console, CLI, or SDK to buy the plan.
- Automatic discounts: AWS applies discounts to matching usage automatically.
bash
aws savingsplans purchase-savings-plan --savings-plan-offering-id <offering-id> --commitment <amount> --term <term> --payment-option <option>
Example
This example shows how to purchase a Compute Savings Plan using AWS CLI with a 1-year term, all upfront payment, and a commitment of $10 per hour.
bash
aws savingsplans purchase-savings-plan \ --savings-plan-offering-id "abcdef12-3456-7890-abcd-ef1234567890" \ --commitment 10 \ --term "ONE_YEAR" \ --payment-option "ALL_UPFRONT"
Output
{
"savingsPlanId": "sp-0a1b2c3d4e5f6g7h8",
"savingsPlanArn": "arn:aws:savingsplans:region:account-id:savingsplan/sp-0a1b2c3d4e5f6g7h8",
"state": "active"
}
Common Pitfalls
- Choosing wrong plan type: Compute Savings Plans cover any compute usage, while EC2 Instance Savings Plans apply only to specific instance families.
- Underestimating commitment: Committing too low means you miss out on savings for extra usage.
- Not reviewing usage: Savings Plans apply automatically, but you should monitor usage to maximize savings.
- Ignoring payment options: All upfront payment saves more than partial or no upfront.
bash
aws savingsplans purchase-savings-plan --savings-plan-offering-id "wrong-id" --commitment 5 --term "ONE_YEAR" --payment-option "NO_UPFRONT" # Correct usage example: aws savingsplans purchase-savings-plan --savings-plan-offering-id "correct-id" --commitment 10 --term "THREE_YEARS" --payment-option "ALL_UPFRONT"
Quick Reference
| Term | Payment Option | Description |
|---|---|---|
| ONE_YEAR | ALL_UPFRONT | Pay full amount upfront for 1 year, highest discount |
| ONE_YEAR | PARTIAL_UPFRONT | Pay part upfront, rest monthly for 1 year |
| ONE_YEAR | NO_UPFRONT | Pay monthly for 1 year, lower discount |
| THREE_YEARS | ALL_UPFRONT | Pay full upfront for 3 years, highest discount |
| THREE_YEARS | PARTIAL_UPFRONT | Pay part upfront, rest monthly for 3 years |
| THREE_YEARS | NO_UPFRONT | Pay monthly for 3 years, lower discount |
Key Takeaways
AWS Savings Plans reduce compute costs by committing to consistent hourly spend for 1 or 3 years.
Choose between Compute Savings Plans (flexible) and EC2 Instance Savings Plans (specific instances).
Purchase plans via AWS Console, CLI, or SDK with your chosen term and payment option.
AWS automatically applies discounts to matching usage without changing your resources.
Monitor your usage regularly to ensure your commitment matches your needs for maximum savings.