Cost optimization - AWS Support

Cost optimization

You can use the following checks for the cost optimization category.

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
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
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
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
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

Back Up and Restore

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
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
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

Setting lifecycle configuration on a bucket

Examples of S3 Lifecycle configuration

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

Elements to describe lifecycle actions

Lifecycle configuration to abort multipart uploads

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

Managing your storage lifecycle

Setting lifecycle configuration on a bucket

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

AWS Network Firewall Pricing

Inspection Deployment Models with AWS Network Firewall

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

AWS PrivateLink Pricing

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

NAT Gateway Pricing

Centralized egress to internet

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
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

Elastic IP Addresses

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

Amazon CloudWatch User Guide

Report columns
  • Status

  • Region

  • Cluster

  • Instance Type

  • Reason

  • Estimated Monthly Savings