AWS Compute Optimizer Specialized2019年〜
A service that uses ML to analyze resource usage and recommend optimal instance types and sizes
What It Does
AWS Compute Optimizer is a service that uses machine learning to analyze the usage patterns of EC2 instances, EBS volumes, Lambda functions, ECS services, and other resources, recommending optimal resource configurations for both cost and performance. It identifies over-provisioned resources as well as under-provisioned ones, and suggests appropriate sizing changes.
Use Cases
Compute Optimizer is used when EC2 instances have CPU utilization consistently below 10% and are over-specced, suggesting downsizing to a smaller instance type. It is also used to optimize Lambda function memory settings that are set too high and wasting costs, and to recommend EBS volume type changes (such as migrating from gp2 to gp3).
Everyday Analogy
Think of it like a household budget consultant. They analyze your monthly expenses (resource usage) and advise: "Your insurance coverage is excessive, so let's switch to a cheaper plan" or "Your mobile data plan isn't enough, so upgrading would reduce frustration." Compute Optimizer is your AWS resource budget consultant.
What Is Compute Optimizer?
AWS Compute Optimizer is a service that analyzes AWS resource usage and recommends optimal configurations. Many AWS users tend to provision resources larger than actual demand to maintain a safety margin. Compute Optimizer uses machine learning to analyze historical usage patterns and suggests resource configurations that reduce costs while maintaining performance.
Supported Resources
Compute Optimizer provides recommendations for multiple AWS resources. For EC2 instances, it suggests optimizing instance family and size. For EBS volumes, it suggests optimizing volume type and IOPS. For Lambda functions, it suggests optimizing memory size. For ECS services (Fargate), it suggests optimizing CPU and memory. Cost savings estimates are also displayed for each resource.
Understanding Recommendations
Compute Optimizer classifies each resource into four categories: "Optimized," "Over-provisioned," "Under-provisioned," and "Not optimized." Over-provisioned resources represent cost savings opportunities, while under-provisioned resources represent performance improvement opportunities. Multiple options are presented for each recommendation, showing the cost impact and performance risk of each, so you can choose the option that fits your requirements. For case studies and practical tips on understanding recommendations, books on Amazon can also be a useful reference.
Getting Started
To get started with Compute Optimizer, simply click "Opt in" in the Compute Optimizer console. Once enabled, it analyzes the past 14 days of CloudWatch metrics data to generate recommendations. Enabling enhanced infrastructure metrics provides more accurate recommendations based on up to 93 days of data. Compute Optimizer itself is free to use.
Things to Watch Out For
- Recommendations are based on historical usage patterns and do not account for future workload fluctuations. Exercise caution when seasonal variations or event-driven load spikes are expected
- Enhanced infrastructure metrics is a paid option. Consider enabling it when more accurate recommendations are needed
- When changing instance types based on recommendations, verify application compatibility (architecture, network performance, etc.) beforehand