Right-sizing means selecting resources that fit a workload rather than simply choosing the smallest or cheapest option. An appropriately sized resource provides enough processing power, memory, storage performance, and network capacity to meet business requirements, with justified headroom for demand variation and failures. Both overprovisioning and underprovisioning are sizing problems: one wastes money, while the other can cause slow responses, failed jobs, or outages.
In the AWS Well-Architected Framework, right-sizing is most directly associated with Cost Optimization when the goal is eliminating unnecessary resource spending. It also supports Performance Efficiency by matching resource types and configurations to workload needs. The distinction depends on the outcome emphasized in a question: reducing the cost of an oversized instance points to Cost Optimization, while selecting the most suitable compute or storage technology points to Performance Efficiency. Reducing unnecessary resource consumption also supports Sustainability. Reliability concerns maintaining service through disruption and meeting availability requirements; Operational Excellence concerns operating, observing, and improving workloads; Security concerns protecting systems, data, and assets. Right-sizing must respect these requirements rather than treating cost reduction as the only objective.
Start with measurements collected over a representative period. Examine CPU utilization, memory pressure, storage latency, input/output operations per second, network throughput, request latency, and application error rates as relevant. Include business peaks, batch processing, seasonal demand, and failure scenarios. A low average CPU value alone does not establish that an instance is oversized: the application might require substantial memory, experience short CPU spikes, or be constrained by storage or network limits.
For example, a web application running on a large virtual machine might use little CPU and memory even during its busiest period. An engineer can test a smaller configuration, compare high-percentile response times and error rates, and deploy the change with a rollback plan. By contrast, an analytics worker with low CPU usage but high memory consumption may benefit from a memory-optimized resource rather than a uniformly smaller one. A database might need fewer virtual CPUs but still require its existing storage throughput.
Right-sizing is related to elasticity, but they are not identical. Right-sizing determines the appropriate resource shape and capacity for the work; elasticity adjusts capacity as demand changes. An automatically scaling fleet can still use oversized instances. Similarly, purchasing a discount commitment changes the price paid for capacity, not whether that capacity fits the workload. Validate sizing before making long-term purchasing commitments, and account for existing commitments when estimating actual bill reductions.
Changes involve trade-offs. Downsizing can reduce headroom, alter throughput limits, or require a restart or maintenance window. Reducing replica counts may weaken availability even if average utilization remains low. Use load tests, staged changes, monitoring, and rollback criteria to protect service objectives. Review sizing after application releases, traffic changes, and architectural changes; it is an ongoing engineering practice, not a one-time migration task.