EC2 service cost optimization
1. Rightsizing EC2 Instances – Use instance types according to their workloads.
2. Purchase Convertible Reserved instances and Saving plans – reserve instances for 1-3 years at low cost then on-demand instance.
3. EBS rightsizing – Provide minimum required EBS size, later can increase.
4. Delete unattached/unused EBS volumes
5. Delete obsolete EBS snapshots
6. Release Unattached Elastic IP addresses
7. Upgrade instances to latest generation – low cost with increased performance.
8. Use Auto scaling cluster if possible – select spot instances to scale out new instance at very minimum cost.
S3 cost optimization
1. Move infrequently accessed data to lower cost storage – Enable object lifecycle policy.
2. Delete old backup data form S3 bucket if not required.
3. When using S3 versioned bucket, use “lifecycle” feature to delete old versions.
4. Clean up unfinished multipart uploads.
5. Use S3 intelligent-tiering
VPC cost optimization
1. Set-up VPC endpoints for AWS internal services – Data transfer between VPC resources and other AWS services using VPC endpoints at reduced cost with more security instead of NAT Gateway.
2. Eliminate costly cross AZ transfer charges only in case of high traffic instances – If your instances are in a different availability zone from your NAT Gateway, create new NAT Gateways in the same availability zone as your instances to reduce cross zone data transfer charges on NAT.
Application Load Balancer cost optimization
1. Use S3 and Cloud front to serve static files – Reduce unnecessary load from servers
2. Remove Idle load balancer – Remove load balancer if there is no any target group or instance attached.
3. Set-up single load balancer for multiple services or target groups
Rote53 cost optimization
1. Use cheap DNS providers service – Move Name servers and DNS records management to a free/cheap DNS provider and keep domain registered with AWS if possible.
2. Increase TTL for records to reduce queries – The amount of time, in seconds, that DNS recursive resolvers cache information about record. Specifying a longer value reduce the number of calls that DNS recursive resolvers must make to Route53 to get the latest information in record. This has the effect of reducing latency and reducing cost for Route 53 service.