Skip to content

Trusted Advisor

AWS Trusted Advisor, a service from Amazon Web Services (AWS), offers real-time guidance to assist users in provisioning their resources according to AWS best practices. It provides recommendations across categories like cost optimization, performance, security, and fault tolerance. Octo leverages its API to fetch and display recommendations specifically from the cost optimization category.

Trusted Advisor Recommendations are accessible exclusively to users subscribed to the Business, Enterprise On-Ramp, or Enterprise Support plans.

Below is the list of recommendations under cost optimization category that are supported by octo.

AmazonEBS

Underutilized Amazon EBS Volumes

Underutilized Amazon EBS Volumes

AWS Resource Type
EBS Volume

Optimization Type
Usage

Category
Delete

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.

Criteria
• A volume is unattached or had less than 1 IOPS per day for the past 7 days.

Potential Savings
Deleting detached EBS volumes results in savings, calculated by subtracting the volume's cost from the snapshot's overall cost

Recommended Action
Create snapshot and delete the volume

How will Octo implement the recommended action?
Octo uses CreateSnapshot API to create a snapshot of the volume. If the EBS volume is currently attached to an EC2 instance, Octo invokes DetachVolume API to detach it. Following detachment, Octo proceeds to use DeleteVolume to delete the volume.

Is rollback possible?
Yes. Use the snapshot created to restore the volume using AWS Console/AWS CLI

AmazonEC2

Amazon EC2 Instances Stopped

Amazon EC2 Instances Stopped

AWS Resource Type
EC2 Instance

Optimization Type
Usage

Category
Delete

Description
Checks if there are Amazon EC2 instances that have been stopped for more than 30 days.

Criteria
• There are Amazon EC2 instances stopped for more than the allowed number of days.

Potential Savings
It can lead to savings by eliminating storage costs for associated EBS volumes and avoiding unnecessary charges if the instance is covered by a Reserved Instance or Savings Plan.

Recommended Action
Terminate EC2 instance

How will Octo implement the recommended action?
Octo uses TerminateInstances API to terminate the EC2 instance.

Is rollback possible?
No

Low Utilization Amazon EC2 Instances

Low Utilization Amazon EC2 Instances

AWS Resource Type
EC2 Instance

Optimization Type
Usage

Category
Stop

Description
Checks the Amazon Elastic Compute Cloud (Amazon EC2) instances that were running at any time during the last 14 days. This check alerts 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.

Criteria
• 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.

Potential Savings
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.

Recommended Action
Stop EC2 instance

How will Octo implement the recommended action?
Octo uses StopInstances API to stop the EC2 instance.

Is rollback possible?
Yes. You can manually start the instance again through AWS console or AWS CLI.

Unassociated Elastic IP Addresses

Unassociated Elastic IP Addresses

AWS Resource Type
Elastic IP Address

Optimization Type
Usage

Category
Delete

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.

Criteria
• An allocated Elastic IP address (EIP) is not associated with a running Amazon EC2 instance.

Recommended Action
• Release/Delete Elastic IP Address
• Associate EIP to EC2 instance

How will Octo implement the recommended action?
Octo only supports releasing the Elastic IP Address. You can associate EIP to instance using AWS Console/AWS CLI.

For Releasing EIP:
Octo uses ReleaseAddress API.

Is rollback possible?
No

Amazon EC2 Reserved Instance Lease Expiration

Amazon EC2 Reserved Instance Lease Expiration

AWS Resource Type
EC2 Reserved Instances

Optimization Type
Rate

Category
Reserved Instance

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.

Criteria
• The Reserved Instance lease expires in less than 30 days.
• 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.

How will Octo implement the recommended action?
Not applicable

Is rollback possible?
Not applicable

AmazonComprehend

Amazon Comprehend Underutilized Endpoints

Amazon Comprehend Underutilized Endpoints

AWS Resource Type
Comprehend Endpoints

Optimization Type
Usage

Category
Delete

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.

Criteria
• The endpoint is active, but hasn’t been used for real-time inference requests in the past 15 days.

Recommended Action
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.

How will Octo implement the recommended action?
Not implemented yet.

Is rollback possible?
Not implemented yet.

AWSELB

Idle Load Balancers

Idle Load Balancers

AWS Resource Type
Elastic Load Balancer

Optimization Type
Usage

Category
Delete

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

Criterias
• A load balancer has no active back-end instances.
• A load balancer has no healthy back-end instances.
• A load balancer has had less than 100 requests per day for the last 7 days.

Potential Savings
Keeping an idle ELB costs around $200 per year. Removing the ELB avoids incurring this expense.

Recommended Action
If load balancer has had a low request count, consider deleting the load balancer.

How will Octo implement the recommended action?
Octo uses DeleteLoadBalancer API to delete the load balancer.

Is rollback possible?
No

AmazonRDS

Amazon RDS Idle DB Instances

Amazon RDS Idle DB Instances

AWS Resource Type
RDS DB Instance

Optimization Type
Usage

Category
Delete

Description
Checks the configuration of your Amazon Relational Database Service (Amazon RDS) for any database (DB) instances that appear to be idle.

Criteria
• An active DB instance has not had a connection in the last 7 days.

Potential Savings
Savings are calculated as [Cost of RDS running hours] + [Cost of storage] - [Cost of snapshot]

Recommended Action
Delete RDS DB Instance with Final Snapshot

How will Octo implement the recommended action?
Octo uses DeleteDBInstance API. A snapshot is taken first before deleting the RDS Instance.

Is rollback possible?
Yes. Use the snapshot taken during the deletion process to restore the instance with its original configuration through AWS Console/AWS CLI.

AmazonS3

Amazon S3 Incomplete Multipart Upload Abort Configuration

Amazon S3 Incomplete Multipart Upload Abort Configuration

AWS Resource Type
S3 Object

Optimization Type
Usage

Category
Others

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.

Criteria
• The lifecycle configuration bucket does not contain a lifecycle rule to abort all multipart uploads that remain incomplete after 7 days.

Recommended Action
Configure Lifecycle Rule that would cleanup all incomplete multipart uploads.

How will Octo implement the recommended action?
Octo uses PutBucketLifecycleConfiguration to create lifecycle configuration named Amazon S3 Incomplete Multipart Upload Abort Configuration

Is rollback possible?
Yes. Delete Amazon S3 Incomplete Multipart Upload Abort Configuration lifecycle configuration.

AWSLambda

AWS Lambda Functions with High Error Rates

AWS Lambda Functions with High Error Rates

AWS Resource Type
Lambda Function

Optimization Type
Usage

Category
Others

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.

Criteria
• Functions where > 10% of invocations end in error on any given day within the last 7 days.

Recommended Action
Integrate Lambda functions with Amazon CloudWatch and AWS X-Ray to leverage logs, metrics, alarms, and X-Ray tracing for rapid issue detection and identification.

How will Octo implement the recommended action?
Not applicable

Is rollback possible?
Not applicable

AWS Lambda Functions with Excessive Timeouts

AWS Lambda Functions with Excessive Timeouts

AWS Resource Type
Lambda Function

Optimization Type
Usage

Category
Others

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.

Criteria
• 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.

How will Octo implement the recommended action?
Not applicable

Is rollback possible?
Not applicable

AmazonRedshift

Underutilized Amazon Redshift Clusters

Underutilized Amazon Redshift Clusters

AWS Resource Type
Redshift Cluster

Optimization Type
Usage

Category
Delete

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.

Criteria
• A running cluster has not had a connection in the last 7 days.
• 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.

How will Octo implement the recommended action?
Not implemented yet.

Is rollback possible?
Not implemented yet.