Any suggestions for Cost Reduction using ECS resources?

1

Hello, We are hosting all our application workloads(Dev, Staging, Prod) on ECS Fargate, and observing huge billing spikes for past few months. As a start up, we are looking for optimising the utilization of resources and can anyone share best practices achieve this. Ultimate goal is to reduce the billing charges. Your inputs are greatly appreciated. Thank you

2 Answers
2
Accepted Answer

Something that I would suggest is that you use AWS Fargate Spot for your lower environments; this will help you lower your cost up to 70% in your development environment by using spare compute capacity and you will be able to launch tasks based on your specified request. However, this is only recommended if you are able to sustain interruptions. Depending on your use case, this could be a great cost optimization strategy related to ECS Fargate.

Your only requirement is to add Fargate and Fargate_Spot as capacity providers when you create your cluster, and ensure that you are tracking your scaling either through scaling policies, step scaling policies or schedule scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html)

You can also leverage the use of Compute Savings Plans, also available with Fargate to run your production environments. This combination of Savings Plans for Prod and SPOT compute capacity for development is a great strategy to help you cut down costs.

Monitoring:

You can use Cost Explorer in combination with tagging (Fargate resources such as task definitions, tasks, clusters and container instances). This will help you keep an eye on your spend and determine where you may need to focus to lower cost. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids

profile pictureAWS
answered 7 months ago
profile picture
EXPERT
reviewed 7 months ago
  • Combination of Fargate and Fargate spot Capacity providers sounds promising. thank you for sharing detailed information.

0

If you don't need the Dev or Staging environment for 24x7, you can write a Lambda function to stop and start the services on Fargate using Eventbridge to schedule the invocation of the Lambda function. That's what we did. It cut down our ECS bill a bit.

answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions