Dicas para otimização de custos na AWS

🚨
Essas dicas são baseadas nas minhas experiências recentes com otimização de custos em contas da AWS, com certeza tem muito mais coisa além disso :)

Antes de tudo, é importante dizer que a AWS tem algumas soluções (além das dashboards padrões) que ajudam a entender em detalhes os custos e servem como guia para as melhorias e para a criação de uma cultura de FinOps.

Por exemplo, com uma combinação de CUDOS com Amazon QuickSight é possível ter uma visão do tipo:

Link com informações para configuração: https://aws.amazon.com/pt/blogs/mt/visualize-and-gain-insights-into-your-aws-cost-and-usage-with-cloud-intelligence-dashboards-using-amazon-quicksight/


E Agora indo para o dicas - separei por categorias para melhor entendimento, com o tempo vou atualizando com mais dicas e/ou novas categorias.

Storage

  • Verifique sempre por volumes EBS que não estão atachados a instâncias e se realmente são necessários, se for o caso, pode usar a flag DeleteOnTermination para remover os volumes sempre que a instância for terminada ;

  • Verifique se para o seu cenário, é possível mudar o tipo dos volumes EBS de uso geral de gp2 para gp3 (pode ter até 20% em redução do custo);

  • Faça gestão do ciclo de vida dos objetos no S3, com lifecycle rules consegue transicionar os objetos para um storage class mais barato, com o Storage Lens consegue ter uma visão geral dos objetos;

Compute

  • Para ambientes não produtivos (desenvolvimento/testes), configure políticas/automações para desligamento em horário não comercial;

  • Entenda seu workload (parece fácil falando, mas não é) - use métricas para saber qual família de instâncias atende melhor cada ambiente, uma ferramenta que pode ajudar: https://github.com/aws/amazon-ec2-instance-selector

  • Use autoscalling para fornecer recursos sob demanda, se usa EKS - use Karpenter para cluster autoscaling (tem esse artigo muito bom sobre o assunto escrito pelo Fidelis!)

  • Para ambientes/aplicações que conseguem lidar com interrupções, instâncias Spot são uma ótima escolha (se usar Karpenter consegue lidar com essas interrupções usando a funcionalidade de Spot Termination Handler);

  • Se aplicável, usar instâncias EC2 baseadas em processadores Graviton/Graviton2 (arm64), onde vai ter um melhor mix entre performance e preço;

  • Para instâncias on-demand, verifique as recomendações de Saving Plans e Reservations;

Outras dicas e recomendações de leitura

Did you find this article valuable?

Support edsoncelio.dev by becoming a sponsor. Any amount is appreciated!