Skip links

AWS Cost Optimization – Part 2

In the previous post, AWS Cost Optimization, we covered the 3 key components to AWS Cost Optimization;

  1. Visibility
  2. Optimize
  3. Automate

But focused on the core AWS Services, in this post we extend over a large number of other services including: Redshift, Cloudwatch and Cloudtrail.


Only turn on Redshift clusters when required – Understand your workload, it may not be required to run 24×7, you may be able to turn it on as part of the analytics process, or schedule to run during different periods.

Identify Idle Clusters with no Connections and Terminate – Ensure you Redshift clusters are not idle. Use AWS Cloudwatch statistics to look into the usage of your RDS Instances. Look at the CPU / Connection Count / Network usage and Disk IO.

Legacy Instances Classes – While legacy instance classes are not cheaper, then provide significant performance improvements. whether it’s double the amount of Disk IO or increase CPU it will allow you to use smaller instance sizes or the existing sizes for less time.

Reserved Instances – Redshift Reserved Instances allow you to save upto 75% of the instance running costs, so if your workload is quite predictable and required to be always on, you can save significant amounts of money by using RIs.

Remove unused snapshots – Remove unused Redshift Snapshots, as you will pay for the storage per gb.


Retention Periods for Log Groups – Ensure you have setup Retention Periods for all Log Groups. By default they are set to Never Expire (you can select between 1 day and 10 years). As these operation logs used for alerting? keep for shorter periods.

Cleanup Unused Log Groups – You pay for 3 elements, storage, processing and analysing the data, don’t keep old logs that are not required coming to Cloudwatch as you will pay for the processing as well as the storage.

Review the Logs being ingested by Cloudwatch – As you pay for all data ingest by Cloudwatch, you need to review the data that is being ingested, you can filter the logs too to reduce the amount of content.

Review the Custom Metrics in the Cloudwatch Agent – As you pay for all data ingest by Cloudwatch, you can disable the amount of Metrics sent by by the Cloudwatch Agent.

Cloudwatch Alarms and Dashboards – Review the configured Alarms and Dashboards, these all cost money even if they are not used! (Alarms cost $0.10 per month; Dashboard costs $3.00 per month)>


Delete unnecessary Trails  – Ensure you remove unnecessary CloudTrails. Having more than one trails create additional costs.

Check back as we add more services. Next up DynamoDB, ElasticSearch and ElastiCache!