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.