Cost optimization
You can use the following checks for the cost optimization category.
Check names
- AWS Account Not Part of AWS Organizations
- Amazon Comprehend Underutilized Endpoints
- Amazon EBS over-provisioned volumes
- Amazon EC2 instances consolidation for Microsoft SQL Server
- Amazon EC2 instances over-provisioned for Microsoft SQL Server
- Amazon EC2 Instances Stopped
- Amazon EC2 Reserved Instance Lease Expiration
- Amazon EC2 Reserved Instance Optimization
- Amazon ECR Repository Without Lifecycle Policy Configured
- Amazon ElastiCache Reserved Node Optimization
- Amazon OpenSearch Service Reserved Instance Optimization
- Amazon RDS Idle DB Instances
- Amazon Redshift Reserved Node Optimization
- Amazon Relational Database Service (RDS) Reserved Instance Optimization
- Amazon Route 53 Latency Resource Record Sets
- Amazon S3 Bucket Lifecycle Policy Configured
- Amazon S3 Incomplete Multipart Upload Abort Configuration
- Amazon S3 version-enabled buckets without lifecycle policies configured
- AWS Lambda Functions with Excessive Timeouts
- AWS Lambda Functions with High Error Rates
- AWS Lambda over-provisioned functions for memory size
- AWS Well-Architected high risk issues for cost optimization
- Idle Load Balancers
- Inactive AWS Network Firewall
- Inactive VPC interface endpoints
- Inactive Gateway Load Balancer endpoints
- Inactive NAT Gateways
- Low Utilization Amazon EC2 Instances
- Savings Plan
- Unassociated Elastic IP Addresses
- Underutilized Amazon EBS Volumes
- Underutilized Amazon Redshift Clusters
AWS Account Not Part of AWS Organizations
- Description
-
Checks if an AWS account is part of AWS Organizations under the appropriate management account.
AWS Organizations is an account management service for consolidating multiple AWS accounts into a centrally-managed organization. This enables you to centrally structure accounts for billing consolidation and implement ownership and security policies as your workloads scale on AWS.
You can specify the management account id using the MasterAccountId parameter of the AWS Config rules.
For more information, see What is AWS Organizations?
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
c18d2gz127
- Source
-
AWS Config Managed Rule: account-part-of-organizations
- Alert Criteria
-
Yellow: This AWS account is not part of AWS Organizations.
- Recommended Action
-
Add this AWS account as part of AWS Organizations.
For more information, see Tutorial: Creating and configuring an organization.
- Report columns
-
-
Status
-
Region
-
Resource
-
AWS Config Rule
-
Input Parameters
-
Last Updated Time
-
Amazon Comprehend Underutilized Endpoints
- Description
-
Checks the throughput configuration of your endpoints. This check alerts you when endpoints are not actively used for real-time inference requests. An endpoint that isn’t used for more than 15 consecutive days is considered underutilized. All endpoints accrue charges based on both the throughput set, and the length of time that the endpoint is active.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
Cm24dfsM12
- Alert Criteria
-
Yellow: The endpoint is active, but hasn’t been used for real-time inference requests in the past 15 days.
- Recommended Action
-
If the endpoint hasn’t been used in the past 15 days, we recommend that you define a scaling policy for the resource by using Application Autoscaling.
If the endpoint has a scaling policy defined and hasn’t been used in the past 30 days, consider deleting the endpoint and using asynchronous inference. For more information, see Deleting an endpoint with Amazon Comprehend.
- Report columns
-
-
Status
-
Region
-
Endpoint ARN
-
Provisioned Inference Unit
-
AutoScaling Status
-
Reason
-
Last Updated Time
-
Amazon EBS over-provisioned volumes
- Description
-
Checks the Amazon Elastic Block Store (Amazon EBS) volumes that were running at any time during the lookback period. This check alerts you if any EBS volumes were over-provisioned for your workloads. When you have over-provisioned volumes, you’re paying for unused resources. Although some scenarios can result in low optimization by design, you can often lower your costs by changing the configuration of your EBS volumes. Estimated monthly savings are calculated by using the current usage rate for EBS volumes. Actual savings will vary if the volume isn’t present for a full month.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
COr6dfpM03
- Alert Criteria
-
Yellow: An EBS Volume that was over-provisioned during the lookback period. To determine if a volume is over-provisioned, we consider all default CloudWatch metrics (including IOPS and throughput). The algorithm used to identify over-provisioned EBS volumes follows AWS best practices. The algorithm is updated when a new pattern has been identified.
- Recommended Action
-
Consider downsizing volumes that have low utilization.
For more information, see Opt in AWS Compute Optimizer for Trusted Advisor checks.
- Report columns
-
-
Status
-
Region
-
Volume ID
-
Volume Type
-
Volume Size (GB)
-
Volume Baseline IOPS
-
Volume Burst IOPS
-
Volume Burst Throughput
-
Recommended Volume Type
-
Recommended Volume Size (GB)
-
Recommended Volume Baseline IOPS
-
Recommended Volume Burst IOPS
-
Recommended Volume Baseline Throughput
-
Recommended Volume Burst Throughput
-
Lookback Period (days)
-
Savings Opportunity (%)
-
Estimated Monthly Savings
-
Estimated Monthly Savings Currency
-
Last Updated Time
-
Amazon EC2 instances consolidation for Microsoft SQL Server
- Description
-
Checks your Amazon Elastic Compute Cloud (Amazon EC2) instances that are running SQL Server in the past 24 hours. This check alerts you if your instance has less than the minimum number of SQL Server licenses. From the Microsoft SQL Server Licensing Guide, you are paying 4 vCPU licenses even if an instance has only 1 or 2 vCPUs. You can consolidate smaller SQL Server instances to help lower costs.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
Qsdfp3A4L2
- Alert Criteria
-
Yellow: An instance with SQL Server has less than 4 vCPUs.
- Recommended Action
-
Consider consolidating smaller SQL Server workloads into instances with at least 4 vCPUs.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Instance ID
-
Instance Type
-
vCPU
-
Minimum vCPU
-
SQL Server Edition
-
Last Updated Time
-
Amazon EC2 instances over-provisioned for Microsoft SQL Server
- Description
-
Checks your Amazon Elastic Compute Cloud (Amazon EC2) instances that are running SQL Server in the past 24 hours. An SQL Server database has a compute capacity limit for each instance. An instance with SQL Server Standard edition can use up to 48 vCPUs. An instance with SQL Server Web can use up to 32 vCPUs. This check alerts you if an instance exceeds this vCPU limit.
If your instance is over-provisioned, you pay full price without realizing an improvement in performance. You can manage the number and size of your instances to help lower costs.
Estimated monthly savings are calculated by using the same instance family with the maximum number of vCPUs that an SQL Server instance can use and the On-Demand pricing. Actual savings will vary if you’re using Reserved Instances (RI) or if the instance isn’t running for a full day.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
Qsdfp3A4L1
- Alert Criteria
-
-
Red: An instance with SQL Server Standard edition has more than 48 vCPUs.
-
Red: An instance with SQL Server Web edition has more than 32 vCPUs.
-
- Recommended Action
-
For SQL Server Standard edition, consider changing to an instance in the same instance family with 48 vCPUs. For SQL Server Web edition, consider changing to an instance in the same instance family with 32 vCPUs. If it is memory intensive, consider changing to memory optimized R5 instances. For more information, see Best Practices for Deploying Microsoft SQL Server on Amazon EC2.
- Additional Resources
-
-
You can use Launch Wizard
to simplify your SQL Server deployment on EC2.
- Report columns
-
-
Status
-
Region
-
Instance ID
-
Instance Type
-
vCPU
-
SQL Server Edition
-
Maximum vCPU
-
Recommended Instance Type
-
Estimated Monthly Savings
-
Last Updated Time
-
Amazon EC2 Instances Stopped
- Description
-
Checks if there are Amazon EC2 instances that have been stopped for more than 30 days.
You can specify the allowed number of days value in the AllowedDays of AWS Config parameters.
For more information, see Why am I being charged for Amazon EC2 when all my instances were terminated?
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
c18d2gz150
- Source
-
AWS Config Managed Rule: ec2-stopped-instance
- Alert Criteria
-
-
Yellow: There are Amazon EC2 instances stopped for more than the allowed number of days.
-
- Recommended Action
-
Review the Amazon EC2 instances that have been stopped for 30 days or more. To avoid incuring unnecessary costs, terminate any instances that are no longer needed.
For more information, see Terminate your instance.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Resource
-
AWS Config Rule
-
Input Parameters
-
Last Updated Time
-
Amazon EC2 Reserved Instance Lease Expiration
- Description
-
Checks for Amazon EC2 Reserved Instances that are scheduled to expire within the next 30 days, or have expired in the preceding 30 days.
Reserved Instances don't renew automatically. You can continue using an Amazon EC2 instance covered by the reservation without interruption, but you will be charged On-Demand rates. New Reserved Instances can have the same parameters as the expired ones, or you can purchase Reserved Instances with different parameters.
The estimated monthly savings is the difference between the On-Demand and Reserved Instance rates for the same instance type.
- Check ID
-
1e93e4c0b5
- Alert Criteria
-
-
Yellow: The Reserved Instance lease expires in less than 30 days.
-
Yellow: The Reserved Instance lease expired in the preceding 30 days.
-
- Recommended Action
-
Consider purchasing a new Reserved Instance to replace the one that is nearing the end of its term. For more information, see How to Purchase Reserved Instances
and Buying Reserved Instances. - Additional Resources
- Report columns
-
-
Status
-
Zone
-
Instance Type
-
Platform
-
Instance Count
-
Current Monthly Cost
-
Estimated Monthly Savings
-
Expiration Date
-
Reserved Instance ID
-
Reason
-
Amazon EC2 Reserved Instance Optimization
- Description
-
An important part of using AWS involves balancing your Reserved Instance (RI) purchase against your On-Demand Instance usage. This check provides recommendations on which RIs will help reduce the costs incurred from using On-Demand Instances.
We create these recommendations by analyzing your On-Demand usage for the past 30 days. We then categorizing the usage into eligible categories for reservations. We simulate every combination of reservations in the generated category of usage to identify the recommended number of each type of RI to purchase. This process of simulation and optimization allows us to maximize your cost savings. This check covers recommendations based on Standard Reserved Instances with the partial upfront payment option.
This check is not available to accounts linked in consolidated billing. The recommendations for this check are only available for the paying account.
- Check ID
-
cX3c2R1chu
- Alert Criteria
-
Yellow: Optimizing the use of partial upfront RIs can help reduce costs.
- Recommended Action
-
See the Cost Explorer
page for more detailed and customized recommendations. Additionally, refer to the buying guide to understand how to purchase RIs and the options available. - Additional Resources
-
-
Information on RIs and how they can save you money can be found here
. -
For more information on this recommendation, see Reserved Instance Optimization Check Questions
in the Trusted Advisor FAQs.
-
- Report columns
-
-
Region
-
Instance Type
-
Platform
-
Recommended Number of RIs to Purchase
-
Expected Average RI Utilization
-
Estimated Savings with Recommendations (Monthly)
-
Upfront Cost of RIs
-
Estimated costs of RIs (Monthly)
-
Estimated On-Demand Cost Post Recommended RI Purchase (Monthly)
-
Estimated Break Even (Months)
-
Lookback Period (Days)
-
Term (Years)
-
Amazon ECR Repository Without Lifecycle Policy Configured
- Description
-
Checks if a private Amazon ECR repository has at least one lifecycle policy configured. Lifecycle policies allow you to define a set of rules to automatically clean up old or unused container images. This gives you control over the lifecycle management of the images, allows Amazon ECR repositories to be better organized, and helps to lower overall storage costs.
For more information, see Lifecycle policies.
- Check ID
-
c18d2gz128
- Source
-
AWS Config Managed Rule: ecr-private-lifecycle-policy-configured
- Alert Criteria
-
Yellow: An Amazon ECR private repository doesn’t have any lifecycle policies configured.
- Recommended Action
-
Consider creating at least one lifecycle policy for your private Amazon ECR repository.
For more information, see Creating a lifecycle policy.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Resource
-
AWS Config Rule
-
Input Parameters
-
Last Updated Time
-
Amazon ElastiCache Reserved Node Optimization
- Description
-
Checks your usage of ElastiCache and provides recommendations on purchase of Reserved Nodes. These recommendations are offered to reduce the costs incurred from using ElastiCache On-Demand. We create these recommendations by analyzing your On-Demand usage for the past 30 days.
We use this analysis to simulate every combination of reservations in the generated usage category. This allows us to recommend the number of each type of Reserved Node to purchase to maximize your savings. This check covers recommendations based on the partial upfront payment option with a 1-year or 3-year commitment.
This check is not available to accounts linked in consolidated billing. The recommendations for this check are only available for the paying account.
- Check ID
-
h3L1otH3re
- Alert Criteria
-
Yellow: Optimizing the purchase of ElastiCache Reserved Nodes can help reduce costs.
- Recommended Action
-
See the Cost Explorer
page for more detailed recommendations, customization options (for exampe, look-back period, payment option, and so on.) and to purchase ElastiCache Reserved Nodes. - Additional Resources
-
-
Information on ElastiCache Reserved Nodes and how they can save you money can be found here
. -
For more information on this recommendation, see Reserved Instance Optimization Check Questions
in the Trusted Advisor FAQs. -
For more detailed description of fields, see Cost Explorer documentation
-
- Report columns
-
-
Region
-
Family
-
Node Type
-
Product Description
-
Recommended number of Reserved Nodes to purchase
-
Expected Average Reserved Node Utilization
-
Estimated Savings with Recommendations (monthly)
-
Upfront Cost of Reserved Nodes
-
Estimated cost of Reserved Nodes (monthly)
-
Estimated On-Demand Cost Post Recommended Reserved Nodes Purchase (monthly)
-
Estimated Break Even (months)
-
Lookback Period (days)
-
Term (years)
-
Amazon OpenSearch Service Reserved Instance Optimization
- Description
-
Checks your usage of Amazon OpenSearch Service and provides recommendations on purchase of Reserved Instances. These recommendations are offered to reduce the costs incurred from using OpenSearch On-Demand. We create these recommendations by analyzing your On-Demand usage for the past 30 days.
We use this analysis to simulate every combination of reservations in the generated usage category. This allows us to recommend the number of each type of Reserved Instance to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with a 1-year or 3-year commitment.
This check is not available to accounts linked in consolidated billing. The recommendations for this check are only available for the paying account.
- Check ID
-
7ujm6yhn5t
- Alert Criteria
-
Yellow: Optimizing the purchase of Amazon OpenSearch Service Reserved Instances can help reduce costs.
- Recommended Action
-
See the Cost Explorer
page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase Amazon OpenSearch Service Reserved Instances. - Additional Resources
-
-
Information on Amazon OpenSearch Service Reserved Instances and how they can save you money can be found here.
-
For more information on this recommendation, see Reserved Instance Optimization Check Questions
in the Trusted Advisor FAQs. -
For more detailed description of fields, see Cost Explorer documentation
-
- Report columns
-
-
Region
-
Instance Class
-
Instance Size
-
Recommended number of Reserved Instances to purchase
-
Expected Average Reserved Instance Utilization
-
Estimated Savings with Recommendation (monthly)
-
Upfront Cost of Reserved Instances
-
Estimated cost of Reserved Instances (monthly)
-
Estimated On-Demand Cost Post Recommended Reserved Instance Purchase (monthly)
-
Estimated Break Even (months)
-
Lookback Period (days)
-
Term (years)
-
Amazon RDS Idle DB Instances
- Description
-
Checks the configuration of your Amazon Relational Database Service (Amazon RDS) for any database (DB) instances that appear to be idle.
If a DB instance has not had a connection for a prolonged period of time, you can delete the instance to reduce costs. A DB instance is considered idle if the instance hasn't had a connection in the past 7 days. If persistent storage is needed for data on the instance, you can use lower-cost options such as taking and retaining a DB snapshot. Manually created DB snapshots are retained until you delete them.
- Check ID
-
Ti39halfu8
- Alert Criteria
-
Yellow: An active DB instance has not had a connection in the last 7 days.
- Recommended Action
-
Consider taking a snapshot of the idle DB instance and then either stopping it or deleting it. Stopping the DB instance removes some of the costs for it, but does not remove storage costs. A stopped instance keeps all automated backups based upon the configured retention period. Stopping a DB instance usually incurs additional costs when compared to deleting the instance and then retaining only the final snapshot. See Stopping an Amazon RDS instance temporarily and Deleting a DB Instance with a Final Snapshot.
- Additional Resources
- Report columns
-
-
Region
-
DB Instance Name
-
Multi-AZ
-
Instance Type
-
Storage Provisioned (GB)
-
Days Since Last Connection
-
Estimated Monthly Savings (On Demand)
-
Amazon Redshift Reserved Node Optimization
- Description
-
Checks your usage of Amazon Redshift and provides recommendations on purchase of Reserved Nodes to help reduce costs incurred from using Amazon Redshift On-Demand.
We generate these recommendations by analyzing your On-Demand usage for the past 30 days. We use this analysis to simulate every combination of reservations in the generated usage category. This allows us to identify the best number of each type of Reserved Nodes to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with a 1-year or 3-year commitment.
This check is not available to accounts linked in consolidated billing. The recommendations for this check are only available for the paying account.
- Check ID
-
1qw23er45t
- Alert Criteria
-
Yellow: Optimizing the purchase of Amazon Redshift Reserved Nodes can help reduce costs.
- Recommended Action
-
See the Cost Explorer
page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase Amazon Redshift Reserved Nodes. - Additional Resources
-
-
Information on Amazon Redshift Reserved Nodes and how they can save you money can be found here.
-
For more information on this recommendation, see Reserved Instance Optimization Check Questions
in the Trusted Advisor FAQs. -
For more detailed description of fields, see Cost Explorer documentation
-
- Report columns
-
-
Region
-
Family
-
Node Type
-
Recommended number of Reserved Nodes to purchase
-
Expected Average Reserved Node Utilization
-
Estimated Savings with Recommendation (monthly)
-
UpFront Cost of Reserved Nodes
-
Estimated cost of Reserved Nodes (monthly)
-
Estimated On-Demand Cost Post Recommended Reserved Nodes Purchase (monthly)
-
Estimated Break Even (months)
-
Lookback Period (days)
-
Term (years)
-
Amazon Relational Database Service (RDS) Reserved Instance Optimization
- Description
-
Checks your usage of RDS and provides recommendations on purchase of Reserved Instances to help reduce costs incurred from using RDS On-Demand.
We generate these recommendations by analyzing your On-Demand usage for the past 30 days. We use this analysis to simulate every combination of reservations in the generated usage category. This allows us to identify the best number of each type of Reserved Instance to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with 1-year or 3-year commitment.
This check is not available to accounts linked in consolidated billing. The recommendations for this check are only available for the paying account.
- Check ID
-
1qazXsw23e
- Alert Criteria
-
Yellow: Optimizing the purchase of Amazon RDS Reserved Instances can help reduce costs.
- Recommended Action
-
See the Cost Explorer
page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase Amazon RDS Reserved Instances. - Additional Resources
-
-
Information on Amazon RDS Reserved Instances and how they can save you money can be found here
. -
For more information on this recommendation, see Reserved Instance Optimization Check Questions
in the Trusted Advisor FAQs. -
For more detailed description of fields, see Cost Explorer documentation
-
- Report columns
-
-
Region
-
Family
-
Instance Type
-
Licence Model
-
Database Edition
-
Database Engine
-
Deployment Option
-
Recommended number of Reserved Instances to purchase
-
Expected Average Reserved Instance Utilization
-
Estimated Savings with Recommendation (monthly)
-
Upfront Cost of Reserved Instances
-
Estimated cost of Reserved Instances (monthly)
-
Estimated On-Demand Cost Post Recommended Reserve Instance Purchase (monthly)
-
Estimated Break Even (months)
-
Lookback Period (days)
-
Term (years)
-
Amazon Route 53 Latency Resource Record Sets
- Description
-
Checks for Amazon Route 53 latency record sets that are configured inefficiently.
To allow Amazon Route 53 to route queries to the AWS Region with the lowest network latency, you should create latency resource record sets for a particular domain name (such as example.com) in different Regions. If you create only one latency resource record set for a domain name, all queries are routed to one Region, and you pay extra for latency-based routing without getting the benefits.
Hosted zones created by AWS services won’t appear in your check results.
- Check ID
-
51fC20e7I2
- Alert Criteria
-
Yellow: Only one latency resource record set is configured for a particular domain name.
- Recommended Action
-
If you have resources in multiple regions, be sure to define a latency resource record set for each region. See Latency-Based Routing.
If you have resources in only one AWS Region, consider creating resources in more than one AWS Region and define latency resource record sets for each; see Latency-Based Routing.
If you don't want to use multiple AWS Regions, you should use a simple resource record set. See Working with Resource Record Sets.
- Additional Resources
- Report columns
-
-
Hosted Zone Name
-
Hosted Zone ID
-
Resource Record Set Name
-
Resource Record Set Type
-
Amazon S3 Bucket Lifecycle Policy Configured
- Description
-
Checks if an Amazon S3 bucket has a lifecycle policy configured. An Amazon S3 lifecycle policy ensures that Amazon S3 objects inside the bucket are stored cost-effectively throughout their lifecycle. This is important for meeting regulatory requirements for data retention and storage. The policy configuration is a set of rules that define actions applied by the Amazon S3 service to a group of objects. A lifecycle policy allows you to automate transitioning objects to lower-cost storage classes or deleting them as they age. For example, you can transition an object to Amazon S3 Standard-IA storage 30 days after creation, or to Amazon S3 Glacier after 1 year.
You can also define object expiration so that Amazon S3 deletes the object on your behalf after a certain period of time.
You can adjust the check configuration using the parameters in your AWS Config rules
For more information, see Managing your storage lifecycle.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
c18d2gz100
- Source
-
AWS Config Managed Rule: s3-lifecycle-policy-check
- Alert Criteria
-
Yellow: Amazon S3 bucket has no lifecycle policy configured.
- Recommended Action
-
Make sure that you have a lifecycle policy configured in your Amazon S3 bucket.
If your organization does not have a retention policy in place, consider using Amazon S3 Intelligent-Tiering to optimize cost.
For information on how to define your Amazon S3 lifecycle policy, see Setting lifecycle configuration on a bucket.
For information on Amazon S3 Intelligent-Tiering, see Amazon S3 Intelligent-Tiering storage class
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Resource
-
AWS Config Rule
-
Input Parameteres
-
Amazon S3 Incomplete Multipart Upload Abort Configuration
- Description
-
Checks that each Amazon S3 bucket is configured with a lifecycle rule to abort multipart uploads that remain incomplete after 7 days. Using a lifecycle rule to abort these incomplete uploads and delete the associated storage is recommended.
Note
Results for this check are automatically refreshed one or more times each day, and refresh requests are not allowed. It might take a few hours for changes to appear. It might take a few hours for changes to appear. For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the
BatchUpdateRecommendationResourceExclusion
API to include or exclude one or more resources from your Trusted Advisor results. - Check ID
-
c1cj39rr6v
- Alert Criteria
-
Yellow: The lifecycle configuration bucket does not contain a lifecycle rule to abort all multipart uploads that remain incomplete after 7 days.
- Recommended Action
Review lifecycle configuration for buckets without a lifecycle rule that would cleanup all incomplete multipart uploads. Uploads that are not completed after 24 hours are unlikely to be completed. Click here to follow instructions to create a lifecycle rule. It is recommended that this is applied to all objects in your bucket. If you have a need to apply other lifecycle actions to selected objects in your bucket, you can have multiple rules with different filters. Check the storage lens dashboard or call the ListMultipartUpload API for more information.
- Additional Resources
-
Creating a lifecycle configuration
Discovering and Deleting Incomplete Multipart Uploads to Lower Amazon S3 Costs
Uploading and copying objects using multipart upload
Lifecycle configuration elements
- Report columns
-
-
Status
-
Region
-
Bucket Name
-
Bucket ARN
-
Lifecycle rule for deleting incomplete MPU
-
Days After Initiation
-
Last Updated Time
-
Amazon S3 version-enabled buckets without lifecycle policies configured
- Description
-
Checks if Amazon S3 version-enabled buckets have a lifecycle policy configured..
For more information, see Managing your storage lifecycle.
You can specify the bucket names that you want to check using the bucketNames parameters in your AWS Config rules.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
c18d2gz171
- Source
-
AWS Config Managed Rule: s3-version-lifecycle-policy-check
- Alert Criteria
-
Yellow: An Amazon S3 version-enabled bucket with doesn't have a lifecycle policy configured.
- Recommended Action
-
Configure lifecycle policies for your Amazon S3 buckets to manage your objects so that they are stored cost effectively throughout their lifecycle.
For more information, see Setting lifecycle configuration on a bucket.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Resource
-
AWS Config Rule
-
Input Parameters
-
Last Updated Time
-
AWS Lambda Functions with Excessive Timeouts
- Description
-
Checks for Lambda functions with high timeout rates that might result in high cost.
Lambda charges based on run time and number of requests for your function. Function timeouts result in errors that may cause retries. Retrying functions will incur additionally request and run time charges.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
L4dfs2Q3C3
- Alert Criteria
-
Yellow: Functions where > 10% of invocations end in an error due to a timeout on any given day within the last 7 days.
- Recommended Action
-
Inspect function logging and X-ray traces to determine the contributor to the high function duration. Implement logging in your code at relevant parts, such as before or after API calls or database connections. By default, AWS SDK clients timeouts may be longer than the configured function duration. Adjust API and SDK connection clients to retry or fail within the function timeout. If the expected duration is longer than the configured timeout, you can increase the timeout setting for the function. For more information, see Monitoring and troubleshooting Lambda applications.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Function ARN
-
Max Daily Timeout Rate
-
Date of Max Daily Timeout Rate
-
Average Daily Timeout Rate
-
Function Timeout Settings (millisecond)
-
Lost Daily Compute Cost
-
Average Daily Invokes
-
Current Day Invokes
-
Current Day Timeout Rate
-
Last Updated Time
-
AWS Lambda Functions with High Error Rates
- Description
-
Checks for Lambda functions with high error rates that might result in higher costs.
Lambda charges are based on the number of requests and aggregate run time for your function. Function errors may cause retries that incur additional charges.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
L4dfs2Q3C2
- Alert Criteria
-
Yellow: Functions where > 10% of invocations end in error on any given day within the last 7 days.
- Recommended Action
-
Consider the following guidelines to reduce errors. Function errors include errors returned by the function's code and errors returned by the function's runtime.
To help you troubleshoot Lambda errors, Lambda integrates with services like Amazon CloudWatch and AWS X-Ray. You can use a combination of logs, metrics, alarms, and X-Ray tracing to quickly detect and identify issues in your function code, API, or other resources that support your application. For more information, see Monitoring and troubleshooting Lambda applications.
For more information on handling errors with specific runtimes, see Error handling and automatic retries in AWS Lambda.
For additional troubleshooting, see Troubleshooting issues in Lambda.
You can also choose from an ecosystem of monitoring and observability tools provided by AWS Lambda partners. For more information, see AWS Lambda Partners
. - Additional Resources
- Report columns
-
-
Status
-
Region
-
Function ARN
-
Max Daily Error Rate
-
Date for Max Error Rate
-
Average Daily Error Rate
-
Lost Daily Compute Cost
-
Current Day Invokes
-
Current Day Error Rate
-
*Average Daily Invokes
-
Last Updated Time
-
AWS Lambda over-provisioned functions for memory size
- Description
-
Checks the AWS Lambda functions that were invoked at least once during the lookback period. This check alerts you if any of your Lambda functions were over-provisioned for memory size. When you have Lambda functions that are over-provisioned for memory sizes, you’re paying for unused resources. Although some scenarios can result in low utilization by design, you can often lower your costs by changing the memory configuration of your Lambda functions. Estimated monthly savings are calculated by using the current usage rate for Lambda functions.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
COr6dfpM05
- Alert Criteria
-
Yellow: A Lambda function that was over-provisioned for memory size during the lookback period. To determine if a Lambda function is over-provisioned, we consider all default CloudWatch metrics for that function. The algorithm used to identify over-provisioned Lambda functions for memory size follows AWS best practices. The algorithm is updated when a new pattern has been identified.
- Recommended Action
-
Consider reducing the memory size of your Lambda functions.
For more information, see Opt in AWS Compute Optimizer for Trusted Advisor checks.
- Report columns
-
-
Status
-
Region
-
Function Name
-
Function Version
-
Memory Size (MB)
-
Recommended Memory Size (MB)
-
Lookback Period (days)
-
Savings Opportunity (%)
-
Estimated Monthly Savings
-
Estimated Monthly Savings Currency
-
Last Updated Time
-
AWS Well-Architected high risk issues for cost optimization
- Description
-
Checks for high risk issues (HRIs) for your workloads in the cost optimization pillar. This check is based on your AWS-Well Architected reviews. Your check results depend on whether you completed the workload evaluation with AWS Well-Architected.
Note
Results for this check are automatically refreshed several times daily, and refresh requests are not allowed. It might take a few hours for changes to appear.
For Business, Enterprise On-Ramp, or Enterprise Support customers, you can use the BatchUpdateRecommendationResourceExclusion API to include or exclude one or more resources from your Trusted Advisor results.
- Check ID
-
Wxdfp4B1L1
- Alert Criteria
-
-
Red: At least one active high risk issue was identified in the cost optimization pillar for AWS Well-Architected.
-
Green: No active high risk issues were detected in the cost optimization pillar for AWS Well-Architected.
-
- Recommended Action
-
AWS Well-Architected detected high risk issues during your workload evaluation. These issues present opportunities to reduce risk and save money. Sign in to the AWS Well-Architected
tool to review your answers and take action to resolve your active issues. - Report columns
-
-
Status
-
Region
-
Workload ARN
-
Workload Name
-
Reviewer Name
-
Workload Type
-
Workload Started Date
-
Workload Last Modified Date
-
Number of identified HRIs for Cost Optimization
-
Number of HRIs resolved for Cost Optimization
-
Number of questions answered for Cost Optimization
-
Total number of questions in Cost Optimization pillar
-
Last Updated Time
-
Idle Load Balancers
- Description
-
Checks your Elastic Load Balancing configuration for load balancers that are idle.
Any load balancer that is configured accrues charges. If a load balancer has no associated back-end instances, or if network traffic is severely limited, the load balancer is not being used effectively. This check currently only checks for Classic Load Balancer type within ELB service. It does not include other ELB types (Application Load Balancer, Network Load Balancer).
- Check ID
-
hjLMh88uM8
- Alert Criteria
-
-
Yellow: A load balancer has no active back-end instances.
-
Yellow: A load balancer has no healthy back-end instances.
-
Yellow: A load balancer has had less than 100 requests per day for the last 7 days.
-
- Recommended Action
-
If your load balancer has no active back-end instances, consider registering instances or deleting your load balancer. See Registering Your Amazon EC2 Instances with Your Load Balancer or Delete Your Load Balancer.
If your load balancer has no healthy back-end instances, see Troubleshooting Elastic Load Balancing: Health Check Configuration.
If your load balancer has had a low request count, consider deleting your load balancer. See Delete Your Load Balancer.
- Additional Resources
- Report columns
-
-
Region
-
Load Balancer Name
-
Reason
-
Estimated Monthly Savings
-
Inactive AWS Network Firewall
- Description
-
Checks your AWS Network Firewall endpoints and alerts you when the Network Firewall appears to be inactive.
A Network Firewall is considered to be inactive if all its endpoints have no data processed the last 30 days. Network Firewall endpoints incur hourly charges. This check alerts you to Network Firewall with no data processed in the last 30 days. It’s a best practice to either remove unused Network Firewalls or update your architecture.
- Check ID
-
c2vlfg0bfw
- Alert Criteria
-
-
Yellow: The Network Firewall processed 0 bytes in the last 30 days.
-
Green: The Network Firewall processed more than 0 bytes in the last 30 days.
-
- Recommended Action
-
If the Network Firewall wasn’t used in the last 30 days, then consider deleting the Network Firewall.
If a Transit Gateway is used for inter-VPC communication, then consider deploying your Network Firewalls in a centralized network inspection architectures. This can reduce the hourly charges on inactive Network Firewalls.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Network Firewall Arn
-
VPC Id
-
Subnets
-
TotalBytesProcessed
-
Last Updated Time
-
Inactive VPC interface endpoints
- Description
-
Checks your VPC interface endpoints and alerts you when the endpoints appear to be inactive. A VPC interface endpoint is considered to be inactive if it has no data processed in the last 30 days. VPC interface endpoints have hourly charges and data processing costs. This check alerts you about VPC interface endpoints with 0 data processed in the last 30 days. It’s a best practice to either remove unused VPC interface endpoints or update your architecture.
- Check ID
-
c2vlfg0jp6
- Alert Criteria
-
-
Yellow: VPC interface endpoint has processed 0 bytes in the last 30 days.
-
Green: VPC interface endpoint has processed more than 0 bytes in the last 30 days
-
- Recommended Action
-
If the VPC interface endpoint had not been used in the last 30 days, consider deleting the VPC interface endpoint.
If Transit Gateway is used for inter-VPC communication, then consider deploying your VPC interface endpoints in a centralized architecture to reduce the hourly charges on inactive VPC interface endpoints.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
VPC Endpoint Id
-
VPC Id
-
Subnet Ids
-
Service Name
-
TotalBytesProcessed
-
Last Updated Time
-
Inactive Gateway Load Balancer endpoints
- Description
-
Checks your Gateway Load Balancer endpoints and warns when they appear to be inactive. A Gateway Load Balancer endpoint is considered to be underutilized if it has no data processed in the last 30 days. Gateway Load Balancer endpoints have hourly charges and data processed charges. This check alerts you to Gateway Load Balancer endpoints with 0 data processed in the last 30 days. We recommend that you either remove unused Gateway Load Balancer endpoints, or update your architecture.
- Check ID
-
c2vlfg0k35
- Alert Criteria
-
-
Yellow: Gateway Load Balancer endpoint processed 0 bytes in the last 30 days
-
Green: Gateway Load Balancer endpoint processed more than 0 bytes in the last 30 days
-
- Recommended Action
-
If the Gateway Load Balancer endpoint has not been used in the last 30 days, consider deleting the VPC endpoint.
If Transit Gateway is used for inter-VPC communication, consider deploying your Gateway Load Balancer endpoints in a centralized network inspection architecture to reduce the hourly charges on inactive Gateway Load Balancer endpoints.
- Additional Resources
-
Centralized inspection architecture with AWS Gateway Load Balancer and AWS Transit Gateway
- Report columns
-
-
Status
-
Region
-
VPC Endpoint Id
-
VPC Id
-
Subnet Id
-
Service Name
-
TotalBytesProcessed
-
Last Updated Time
-
Inactive NAT Gateways
- Description
-
Checks your NAT Gateways for inactive gateways. A NAT Gateway is considered to be inactive if no data (0 bytes) was processed in the last 30 days. NAT Gateways have hourly charges and data processed charges.
- Check ID
-
c2vlfg022t
- Alert Criteria
-
-
Yellow: The NAT Gateway processed 0 bytes in the last 30 days
-
Green: The NAT Gateway processed more than 0 bytes in the last 30 days
-
- Recommended Action
-
Consider deleting any NAT Gateways that weren’t used in the last 30 days and that aren’t required for external network access outside the VPC.
If a Transit Gateway is used for inter-VPC communication, then consider deploying a centralized NAT Gateway for egress to internet architecture. This can reduce the hourly cost from inactive NAT Gateways.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
NAT Gateway Id
-
Subnet Id
-
VPC Id
-
TotalBytesFromDest
-
TotalBytesFromSrc
-
TotalBytes
-
Last Updated Time
-
Low Utilization Amazon EC2 Instances
- Description
-
Checks the Amazon Elastic Compute Cloud (Amazon EC2) instances that were running at any time during the last 14 days. This check alerts you if the daily CPU utilization was 10% or less and network I/O was 5 MB or less for at least 4 days.
Running instances generate hourly usage charges. Although some scenarios can result in low utilization by design, you can often lower your costs by managing the number and size of your instances.
Estimated monthly savings are calculated by using the current usage rate for On-Demand Instances and the estimated number of days the instance might be underutilized. Actual savings will vary if you are using Reserved Instances or Spot Instances, or if the instance is not running for a full day. To get daily utilization data, download the report for this check.
- Check ID
-
Qch7DwouX1
- Alert Criteria
-
Yellow: An instance had 10% or less daily average CPU utilization and 5 MB or less network I/O on at least 4 of the previous 14 days.
- Recommended Action
-
Consider stopping or terminating instances that have low utilization, or scale the number of instances by using Auto Scaling. For more information, see Stop and Start Your Instance, Terminate Your Instance, and What is Auto Scaling?
- Additional Resources
- Report columns
-
-
Region/AZ
-
Instance ID
-
Instance Name
-
Instance Type
-
Estimated Monthly Savings
-
CPU Utilization 14-day Average
-
Network I/O 14-Day Average
-
Number of Days Low Utilization
-
Savings Plan
- Description
-
Checks your usage of Amazon EC2, Fargate, and Lambda over the last 30 days and provides Savings Plan purchase recommendations. These recommendations allow you to commit to a consistent usage amount measured in dollars per hour for a one- or three-year term in exchange for discounted rates.
These are sourced from AWS Cost Explorer, which can get more detailed recommendation information. You can also purchase a savings plan through Cost Explorer. These recommendations should be considered an alternative to your RI recommendations. We suggest that you act on one set of recommendations only. Acting on both sets can lead to over-commitment.
This check is not available to accounts linked in consolidated billing. The recommendations for this check are only available for the paying account.
- Check ID
-
vZ2c2W1srf
- Alert Criteria
-
Yellow: Optimizing the purchase of Savings Plans can help reduce costs.
- Recommended Action
-
See the Cost Explorer
page for more detailed and customized recommendations and to purchase Savings Plans. - Additional Resources
-
-
Savings Plans FAQ
- Report columns
-
-
Savings Plan type
-
Payment option
-
Upfront cost
-
Hourly commitment to purchase
-
Estimated average utilization
-
Estimated monthly savings
-
Estimated savings percentage
-
Term (Years)
-
Lookback Period (Days)
-
Unassociated Elastic IP Addresses
- Description
-
Checks for Elastic IP addresses (EIPs) that are not associated with a running Amazon Elastic Compute Cloud (Amazon EC2) instance.
EIPs are static IP addresses designed for dynamic cloud computing. Unlike traditional static IP addresses, EIPs mask the failure of an instance or Availability Zone by remapping a public IP address to another instance in your account. A nominal charge is imposed for an EIP that is not associated with a running instance.
- Check ID
-
Z4AUBRNSmz
- Alert Criteria
-
Yellow: An allocated Elastic IP address (EIP) is not associated with a running Amazon EC2 instance.
- Recommended Action
-
Associate the EIP with a running active instance, or release the unassociated EIP. For more information, see Associating an Elastic IP Address with a Different Running Instance and Releasing an Elastic IP Address.
- Additional Resources
- Report columns
-
-
Region
-
IP Address
-
Underutilized Amazon EBS Volumes
- Description
-
Checks Amazon Elastic Block Store (Amazon EBS) volume configurations and warns when volumes appear to be underutilized.
Charges begin when a volume is created. If a volume remains unattached or has very low write activity (excluding boot volumes) for a period of time, the volume is underutilized. We recommend that you remove underutilized volumes to reduce costs.
- Check ID
-
DAvU99Dc4C
- Alert Criteria
-
Yellow: A volume is unattached or had less than 1 IOPS per day for the past 7 days.
- Recommended Action
-
Consider creating a snapshot and deleting the volume to reduce costs. For more information, see Creating an Amazon EBS Snapshot and Deleting an Amazon EBS Volume.
- Additional Resources
- Report columns
-
-
Region
-
Volume ID
-
Volume Name
-
Volume Type
-
Volume Size
-
Monthly Storage Cost
-
Snapshot ID
-
Snapshot Name
-
Snapshot Age
-
Note
If you opted in your account for AWS Compute Optimizer, we recommend that you use the Amazon EBS over-provisioned volumes check instead. For more information, see Opt in AWS Compute Optimizer for Trusted Advisor checks.
Underutilized Amazon Redshift Clusters
- Description
-
Checks your Amazon Redshift configuration for clusters that appear to be underutilized.
If an Amazon Redshift cluster has not had a connection for a prolonged period of time, or is using a low amount of CPU, you can use lower-cost options such as downsizing the cluster, or shutting down the cluster and taking a final snapshot. Final snapshots are retained even after you delete your cluster.
- Check ID
-
G31sQ1E9U
- Alert Criteria
-
-
Yellow: A running cluster has not had a connection in the last 7 days.
-
Yellow: A running cluster had less than 5% cluster-wide average CPU utilization for 99% of the last 7 days.
-
- Recommended Action
-
Consider shutting down the cluster and taking a final snapshot, or downsizing the cluster. See Shutting Down and Deleting Clusters and Resizing a Cluster.
- Additional Resources
- Report columns
-
-
Status
-
Region
-
Cluster
-
Instance Type
-
Reason
-
Estimated Monthly Savings
-