O blog da AWS

Dez dicas para otimização de custos na AWS

Por Daniel Bento, AWS Solutions Architect

Introdução

Otimização de custos é um assunto recorrente entre os clientes da AWS: todos desejam, de alguma maneira, obter uma conta menor no final do mês. Entenda por otimizar custos a redução dos seus gastos de AWS, mas mantendo os níveis de robustez e escalabilidade de suas aplicações, sem que estes sejam impactados.

Este artigo conterá diversas dicas de fácil implementação, que irão ajudá-los a criar e manter um ambiente com custo otimizado na AWS.

#1 Economize sem fazer esforço

Redução pró-ativa de preços

Desde a sua criação em 2006 até agosto de 2016, ocorreram 52 reduções de preços pró-ativas na AWS. Isso é uma parte normal do nosso negócio e faz parte de nossa filosofia de preço, focada em aumentar a eficiência em nossas operações e passar estas economias obtidas aos nossos clientes.

A filosofia de preços da AWS é baseada em um ciclo virtuoso:

  1. Os preços baixos, baseados no valor dos serviços, reduzem as barreiras para adoção da computação em nuvem;
  2. Novos clientes proporcionam um aumento no nível de utilização da AWS;
  3. Uma maior utilização alavanca os gastos em pesquisa e desenvolvimento, e em conjunto com a economia de escala e melhorias de processos internos, viabiliza a diminuição dos custos de infraestrutura;
  4. Estas economias são repassadas aos clientes na forma de redução de preços, completando e reiniciando o ciclo virtuoso em (a).

Screen Shot 2016-11-09 at 12.01.47 PM

A troca de Capex por Opex – Pague conforme o uso

A AWS não exige comprometimentos de gastos mínimos ou contratos de longo prazo. Você pode trocar grandes capitais de investimento (CAPEX) por pequenos pagamentos variáveis que se aplicam apenas ao que você usar (OPEX). Com AWS você não está preso a acordos de vários anos ou modelos de licenciamento complicados.

A AWS oferece uma simples abordagem de preço, onde você paga apenas pelo que você usa para os mais de 50 serviços. Com a AWS, você paga apenas para os serviços que você precisa, por quanto tempo você usá-los e sem contratos de longo prazo. Todos os preços dos serviços são públicos e estão disponíveis no site da AWS.

Saiba mais sobre os princípios de definição de preços na AWS em https://aws.amazon.com/pt/pricing/.

#2 Remova recursos não utilizados ou ociosos

Desligue instâncias não utilizadas

Desligue suas instâncias enquanto não estiverem sendo utilizadas e tome vantagem do modelo de custo onde você paga apenas pelo que usa.

Esta dica é bem aderente para ambientes onde não há a necessidade de ficarem ligados 24 horas nos 7 dias da semana. Ambientes de desenvolvimento, testes, treinamento, etc., geralmente não são utilizados nos períodos noturnos ou finais de semana e podem ser desligados. Uma menor utilização implica diretamente em economia de custos.

Uma semana possui 44 horas úteis/comerciais de um total de 168 horas, representando 26% do tempo da semana, se consideradas 8 horas trabalhadas por dia útil somado com 4 horas do sábado. Desta maneira, um ambiente que deve estar no ar apenas no horário comercial, tem potencial de ficar ligado apenas 26% do tempo em uma semana, representando uma economia de 74% no custo de computação.

Para tal, suas instâncias podem ser iniciadas e desligadas manualmente através da AWS Console ou de maneira automatizada através de scripts ou serviços como AWS Lambda ou AWS Data Pipeline. Você também pode desligar ou subir todos os recursos de seu ambiente utilizando o AWS CloudFormation.

O EC2 Scheduler é uma solução desenvolvida pela AWS que possibilita o agendamento customizado da inicialização e desligamento de instâncias EC2. Saiba mais em: https://aws.amazon.com/pt/answers/infrastructure-management/ec2-scheduler/

Você também pode realizar o agendamento através do AWS Lambda.

Ou através do AWS Data Pipeline: https://aws.amazon.com/premiumsupport/knowledge-center/stop-start-ec2-instances/

Screen Shot 2016-11-09 at 12.02.22 PM

Remova os demais recursos ociosos ou de baixa utilização

A dicas acima não se aplicam somente a instâncias EC2. É comum o cenário onde clientes não verificam a utilização e ficam com diversos recursos ociosos em seu ambiente na AWS. O esquecimento destes recursos gera gastos desnecessários. Veja abaixo uma lista com os principais recursos esquecidos:

  • Baixa utilização de instâncias EC2: desligue-as ou faça a consolidação das aplicações em uma única instância;
  • Elastic Load Balancing ociosos, que não possuem alguma instância de backend associada. Se o ELB não recebe e distribui tráfego, então pode ser desligado;
  • Volumes EBS que não estão ligados a alguma instância ou estão subutilizados. Ao invés de deixar um volume EBS ocioso, caso queira recuperá-lo futuramente, tire e armazene o snapshot deste volume, que possui custo inferior;
  • Elastic IPs não associados a instâncias, sendo cobrados por esse período;
  • Conexões VPN não utilizadas;
  • NAT Gateways que não recebem tráfego;
  • Instâncias RDS subutilizadas.

Para monitorar o consumo dos recursos de seu ambiente utilize o AWS CloudWatch. Faça a análise de diferentes métricas, de consumo atual e passado através dos dashboards, e detecte possíveis ociosidades. Saiba mais em https://aws.amazon.com/pt/cloudwatch/.

#3 Utilize instâncias reservadas

Com o objetivo de diminuir os custos nos cenários onde há uma previsibilidade da utilização de instâncias, a AWS criou o modelo de instâncias reservadas. Nele é possível realizar a reserva de uma instância, com comprometimento de utilização de 1 ou 3 anos e receber descontos de até 75% se comparados aos custos do modelo on-demand.

Alguns clientes criaram regras de decisão de quanto se reservar uma instância. Por exemplo: “Se determinada instância ficou ligada 100% do tempo a mais de duas semanas e não pode ser desligada neste exato momento, então ela tem potencial para ser reservada”.

Ambientes podem ser compostos tanto por instâncias reservadas como por instâncias on-demand. Tome como exemplo um e-commerce tradicional, que possui picos de acesso durante o dia. O baseline de utilização poderia ser suportado por instâncias reservadas. Já os picos de utilização poderiam ser suportados por instâncias on-demand.

Screen Shot 2016-11-09 at 12.02.45 PM

 

 

 

 

Saiba como as instâncias reservadas funcionam em:

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ri-basics/

#4 Utilize instâncias Spot

Economize até 90% dos custos de EC2 utilizando instâncias Spot. Com o objetivo de aproveitar a capacidade ociosa de infraestrutura dos datacenters, a AWS criou um modelo de preço dinâmico, chamado instâncias Spot. O preço das instâncias spot é baseado na oferta e demanda desta infraestrutura e oscila analogamente a uma bolsa de valores.

Funciona da seguinte maneira: você define o preço máximo por hora que está disposto a pagar pela instância. Sua instância será inicializada caso seu preço escolhido seja maior que o preço de mercado das instâncias Spot. O preço do mercado é dinâmico e oscila conforme outros clientes solicitam instâncias Spot.

 

Instâncias Spot tradicional

Para o modelo de instâncias Spot tradicional, caso o preço de mercado suba e fique maior que o seu preço inicial, sua instância receberá uma notificação e será finalizada dentro de dois minutos. Como existem riscos associados ao desligamento das instâncias, é desejável que suas aplicações sejam planejadas a serem tolerantes a estes tipos de eventos.

Existem alguns tipos aplicações que se beneficiam mais facilmente de instâncias Spot. Por exemplo:

  • Aplicações stateless;
  • Aplicações com AutoScaling, com a criação de dois grupos: um com instâncias Spot e outro com instâncias on-demand;
  • Processamento Batch;
  • Processamento utilizando Amazon Elastic MapReduce;
  • Servidores de Integração contínua (CI);
  • High performance computing (HPC);
  • Renderização e transcoding de mídia.

Spot Blocks

Spot Blocks são instâncias spots que irão rodar continuamente por um período finito, que pode ser definido de 1 a 6 horas de duração. O preço é baseado no período solicitado e a capacidade disponível, e é geralmente 30% a 45% menor do que o modelo on-demand.

Você submete uma requisição e define a quantidade de horas que você quer que suas instâncias rodem, juntamente com o preço máximo que está disposto a pagar. Quando existe capacidade disponível para o período solicitado, suas instâncias serão iniciadas e rodarão de forma contínua a um preço fixo. Elas serão encerradas automaticamente no final do período.

Este modelo é indicado para situações onde você tem jobs que precisam rodar continuamente por até 6 horas.

Saiba mais em https://aws.amazon.com/pt/ec2/spot/

#5 Escalando seus recursos

Escalando verticalmente

Escalar verticalmente significa acrescentar ou reduzir capacidade de um recurso em um mesmo nó e geralmente está relacionado a alterar o número de vCPUs, memória, storage, rede, etc. de uma instância.

A estratégia de otimização de custo através de escalabilidade vertical consiste em aumentar os recursos somente para lidar com um pico de consumo e reduzi-los conforme a diminuição da demanda. Assim, evita-se o super provisionamento de um recurso pelo pior cenário, que estaria ocioso maior parte do tempo, e utiliza-se recursos menores, de menor custo, com capacidade bem justa, para atender o baseline da aplicação.

Tome como exemplo uma aplicação de recursos humanos que necessita calcular a folha de pagamento dos funcionários no final de cada mês. Usualmente um processo desses implica em um pico de processamento que pode durar algumas horas. Uma estratégia consistiria em aumentar o tamanho das instâncias de servidores de aplicação e banco de dados para lidar com cálculo e, após o término, voltar ao tamanho original.

Saiba alterar o tamanho de sua instância EC2 em https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html

AutoScaling – Escalando horizontalmente de maneira automática

Escalar horizontalmente significa acrescentar ou reduzir o número de nós em um conjunto de servidores para lidar com a variação de demanda. AutoScaling é o serviço da AWS que realiza essa tarefa de maneira automática.

Assim, não há a necessidade de se provisionar a quantidade de instâncias baseadas no cenário de pico de acesso. Como boa prática, é mantido um número mínimo de instâncias para lidar com o baseline de acessos de sua aplicação e, para lidar com os picos, novas instâncias são lançadas através do AutoScaling.

O gráfico abaixo mostra o potencial de desperdício de infraestrutura em um cenário tradicional de e-commerce, 76% da capacidade computacional é desperdiçada, enquanto somente 24% em media é utilizado durante o mês.

Screen Shot 2016-11-09 at 12.03.20 PM

O gráfico abaixo mostra como o AutoScaling ajusta o provisionamento de infraestrutura (em azul) em função da demanda (em amarelo). Note que há pouco desperdício de infraestrutura, implicando em economia e diminuição de custos.

Screen Shot 2016-11-09 at 12.03.45 PM

Saiba mais sobre o AutoScaling em: https://aws.amazon.com/pt/autoscaling/

#6 Alinhe o provisionamento de recursos com a demanda

Monitore o consumo dos recursos com Amazon CloudWatch

CloudWatch é o serviço de monitoramento da AWS. Com ele é possível ter acesso a diversas métricas dos recursos de seu ambiente. Por exemplo: % de consumo de cpu de uma instância EC2, volume de leitura e escrita em um volume EBS, número de conexões em seu banco de dados rodando em RDS, etc.

Através da análise das métricas do CloudWatch é possível saber se seus recursos estão subutilizados ou ociosos. Identifique tais recursos e atue em cada um deles, seja consolidando, diminuindo a capacidade ou excluindo-os, para que os custos relacionados a estes sejam diminuídos.

Escolha tamanho e tipo certos de instância

Escolha os tipos e tamanhos de instâncias mais apropriados para suas aplicações. O EC2 Right Sizing Solution é uma ferramenta que utiliza serviços gerenciados para realizar a análise do tamanho certo das instâncias de seu ambiente, oferecendo recomendações detalhadas sobre quais instâncias são mais efetivas em custo.

Saiba mais em: https://aws.amazon.com/pt/answers/account-management/cost-optimization-ec2-right-sizing/

Tome vantagem das diferentes famílias de instâncias EC2. Elas são otimizadas para rodar seu workload de maneira mais eficiente, consumindo menos recursos, e por consequência, custando menos.

Screen Shot 2016-11-09 at 12.04.32 PM

 

Por exemplo, instâncias otimizadas para computação são indicadas para aplicações que exigem grande capacidade de processamento. Aplicações científicas podem ser beneficiadas pelas instâncias com GPU. Banco de dados que necessitam de grande volume de memória RAM podem ser rodados em instâncias otimizadas para memória.

Escolha o tipo certo de banco de dados

Escolha o tipo certo de banco de dados em função das características de suas aplicações.

Apesar da facilidade de implementação, banco de dados relacionais não devem ser utilizados sempre como o coringa que irá atender a todos os tipos de cenários. Existem banco de dados que são especializados em determinados workloads: são mais eficientes e conseguem realizar um número maior de operações, com os mesmos recursos de infraestrutura, se comparados ao modelo relacional como coringa.

A figura abaixo sumariza quais workloads possuem melhor aderência a cada tipo de banco de dados.

Screen Shot 2016-11-09 at 12.04.10 PM

 

Na AWS existem serviços gerenciados para todos os tipos de banco de dados listados:

  • Cache: AWS ElastiCache
  • Data Ware house: Amazon Redshift
  • NoSQL: Amazon DynamoDB
  • RDBMS: Amazon RDS

 Consolidação de servidores

Aproveite ao máximo a capacidade dos recursos através da implantação de várias aplicações em uma única instância. Esta estratégia tem o objetivo de minimizar a capacidade ociosa através da consolidação de aplicações nos servidores.

A figura abaixo mostra o cenário onde 6 aplicações, originalmente implantadas em 6 servidores diferentes, foram consolidadas em 2 servidores. A utilização de containers, como Docker por exemplo, viabiliza esse tipo de iniciativa e simplifica o gerenciamento do ambiente consolidado. Você pode utilizar o Amazon EC2 Container Service (ECS), que é um serviço de gerenciamento de containers escalável e compatível com Docker.

Screen Shot 2016-11-09 at 12.05.04 PM

Lembre-se de encontrar o equilíbrio entre a consolidação de servidores e a estratégia de alta disponibilidade das aplicações.

Saiba mais sobre o Amazon ECS em: https://aws.amazon.com/pt/ecs/

Reduza a capacidade ociosa com AWS Lambda

AWS Lambda é o serviço que permite a execução de código sem a utilização de servidores.

Você será cobrado somente quando as funções Lambda forem executadas. O custo é calculado pelo número de vezes, consumo de memória e duração das execuções das funções. Desta maneira, você não paga pela capacidade ociosa de sua infraestrutura de computação, mas paga somente pelo que você processa, sem desperdícios.

Você poderá substituir suas instâncias EC2 por funções Lambda e se beneficiar deste modelo de custo. Por exemplo, webservices tradicionais podem ser reconstruídos utilizando-se AWS API Gateway + AWS Lambda. Você pode utilizar o Lambda para ouvir e processar eventos que ocorrem em seu ambiente da AWS, como por exemplo a gravação de objetos no Amazon S3 ou a chegada de mensagens no Amazon Kinesis, etc.

Saiba mais sobre o AWS Lambda em: https://aws.amazon.com/pt/lambda/

#7 Aproveite os diferentes tipos de storage

A AWS possui diversos tipos e serviços de storage. Cada serviço possui uma única combinação de desempenho, durabilidade, custo e interface de acesso.

A tabela abaixo sumariza os diferentes tipos e serviços de storage na AWS, com detalhes sobre as características, casos de uso e preço.

Tipo de Storage Serviço Casos de Uso Desempenho Interface Preço*
Storage de Objetos S3 – Standard • Conteúdo estático (imagens, vídeos, css, xml, json, etc.)
• Armazenamento de objetos acessíveis via Web
• Arquivos para Big Data
• Logs
I/O em paralelo para velocidade máxima (Multipart Upload, Ranged GETs) Acesso direto através de APIs $0.03/GB-mês
S3 – Infrequent Access Storage • Backups
• Archive de curto prazo
I/O em paralelo para máximo de velocidade (Multipart Upload) Acesso direto através de APIs $0.0125/GB-mês + custo de recuperação
Amazon Glacier • Archive de baixo custo
• Archive e backups de longo prazo
Aderente à RTOs de horas • Acesso direto através de APIs
• Integração com VTLs
$0.007/GB-mês + custo de recuperação
Storage em Blocos Amazon EBS – Magnetic (HDD) Dados de acesso infrequente 100 IOPS em média com burst de até centenas de IOPS/volume Storage em blocos atachado via rede • $0.05/GB-mês
• $0.05/milhão de I/O
Amazon EBS – General Purpose (SSD) • Volumes de boot
• Banco de dados pequenos e médios
• Dev & Test
• Baseline de 3 IOPS/GB com burst de até 3.000 IOPS/volume
• Máx 10,000 IOPS/volume
Storage em blocos atachado via rede • $0.10/GB-mês
• Operações de I/O gratuito
Amazon EBS – Provisioned IOPS (SSD) • I/O intensivo
• Bancos Relacionais e NoSQL
• Baseline de 50 IOPS/GB
• Performance provisionada e consistente até 20.000 IOPS/volume
Storage em blocos atachado via rede $0.125/GB-mês
$0.065/PIOPS
Amazon EBS – HDD high throughput (HDD) • Streaming de dados
• Big data
• Data warehouse
• Processamento de logs
Máx 500 MiB/s/volume Storage em blocos atachado via rede $0.086/GB-mês
Amazon EBS – HDD cold (HDD) • Grandes volumes de dados de acesso infrequente
• Storage, com o mais baixo custo, orientado a throughput
Máx 250 MiB/s/volume Storage em blocos atachado via rede $0.048/GB-mês
EC2 Instance Store • Dados não-persistentes
• Workloads com I/O muito intensivo
Instância i2
Instância d2
Storage local em blocos Disponível em alguns tipos de instâncias EC2
Sistema de Arquivos Compartilhado Amazon EFS • Big Data e analytics
• Workflow de processamento de mídias
• Gerenciamento de conteúdo
• Diretórios home
Sobre performance do EFS Compatível com NFS v4 $0.30/GB-mês

#8 Faça o Offload de sua arquitetura

Fazer offload de sua arquitetura significa utilizar serviços que irão aliviar a carga sobre sua infraestrutura.

Ao invés de consumir diretamente os recursos de uma infraestrutura mais cara, você consumirá um serviço mais simples e mais barato. Este serviço será o primeiro a processar as requisições e somente aquelas que não puderem ser atendidas serão direcionadas ao serviço mais caro. Quanto mais você conseguir realizar offload de sua arquitetura, menor será a infraestrutura você que precisará pagar, escalar e manter.

Existem algumas maneiras simples de fazer offload, como a introdução de caches ou através da utilização de CDN com Amazon CloudFront.

Faça o cache de tudo

O exemplo abaixo mostra uma arquitetura que onde foi feito o offload da camada de banco dados utilizando o AWS ElastiCache, serviço gerenciado de cache em memória da AWS.

Funciona da seguinte maneira: requisições de leitura, que antes eram feitas diretamente ao banco de dados, passam a ser realizadas primeiramente na camada de cache. Caso as informações não estejam disponíveis no cache, a aplicação deverá buscá-las nos bancos de dados e atualizá-las no cache. Em requisições futuras, as informações já estarão disponíveis e serão servidas pelo cache, aliviando o consumo dos recursos dos bancos de dados. Dados modificados no banco de dados devem ser atualizados e refletidos no cache.

Preste atenção em relação a consistência da informação provida pelo cache, definindo um TTL que seja adequado as regras de negócio de sua aplicação.

Screen Shot 2016-11-09 at 12.05.47 PM

Faça o offload do seu tráfego para o CloudFront

O Amazon CloudFront é um serviço de entrega de conteúdo (CDN) global que acelera a distribuição de conteúdo de sites, APIs, vídeos ou outros recursos da web. Dentre os objetivos de uma CDN podemos destacar a redução do tempo de resposta (latência) e diminuição na carga dos servidores de aplicações web.

O CloudFront funciona como um cache mundial. Quando uma solicitação chega a CDN, caso os recursos estejam disponíveis, estes são servidos diretamente do ponto de presença mais próximo do usuário. Caso não estejam, os recursos são buscados na origem e são atualizados no cache da CDN. Em futuras requisições, os recursos já estarão disponíveis e não será necessário buscá-los novamente na origem, acelerando a entrega do conteúdo.

Note que os servidores da origem são poupados nesse processo, pois a maioria das requisições serão servidas pela CDN e acabarão não chegando a origem.

Screen Shot 2016-11-09 at 12.06.22 PM

#9 Aproveite os serviços gerenciados

Utilize os serviços gerenciados para redução do custo total de propriedade: na computação em nuvem, os serviços gerenciados removem a carga de se gerenciar servidores e realizar tarefas operacionais. E, já que os serviços gerenciados operam em escala, eles podem oferecer um menor custo por transação ou serviço.

Desta maneira, os serviços gerenciados permitem que os esforços sejam focados em atividades que geram maior valor ao negócio, ao invés de atividades operacionais que não geram valor imediato.

São alguns serviços gerenciados na AWS:

  • Ao invés de rodar seu próprio banco de dados: Amazon RDS (relacional), Amazon DynamoDB (NoSQL), Amazon ElastiCache (cache em memória) ou Amazon Redshift (data warehouse);
  • Ferramenta de busca: Amazon CloudSearch ou Amazon ElasticSearch;
  • Hadoop gerenciado: Amazon EMR;
  • Streaming e processamento de dados em tempo real: Amazon Kinesis;
  • Transcoding de mídia: Amazon Elastic Transcoder;
  • Amazon Cognito, Amazon SQS, Amazon SNS, Amazon SWF, Amazon SES e muito mais.

#10 Utilize as ferramentas de monitoramento e análise de custos

A AWS possui diversas ferramentas que ajudarão a ter maior controle e visibilidade sobre seus gastos. Com elas é possível comparar, estimar, planejar, conhecer, explorar, organizar e monitorar em detalhes sua conta.

AWS TCO Calculator – Comparar e estimar

Com a AWS TCO calculator é simples estimar o quanto você economizará na AWS. Com ela é possível comparar os custos de seu ambiente on-premises com o equivalente na AWS. A TCO calculator gera um relatório, que pode ser utilizado em apresentações executivas, com o detalhamento e comparação do custo dos componentes que fazem parte de sua arquitetura.

Screen Shot 2016-11-09 at 12.08.26 PM

Screen Shot 2016-11-09 at 12.08.39 PM

A AWS TCO calculator pode ser acessada em https://awstcocalculator.com/

Whitepaper de como calcular o TCO: http://media.amazonwebservices.com/AWS_TCO_Web_Applications.pdf

AWS Simply Monthly Calculator – Estimar

A AWS Simply Monthly Calculator, conhecida popularmente como Calculadora AWS, é uma ferramenta para estimar o custo mensal de seu ambiente na AWS. Nela você cadastra as informações do ambiente, como por exemplo quantidade e tipo de instâncias EC2, volumes de storage ocupado no S3, etc., e obtém um relatório, separado por serviços, com o custo mensal desta configuração ambiente na AWS.

Screen Shot 2016-11-09 at 12.09.00 PM

A Simple Monthly Calculator pode ser acessada em http://calculator.s3.amazonaws.com/index.html

AWS Billing Console – Planejar e conhecer

A Console de billing é a porta de entrada para obter informações relacionadas ao custo de seu ambiente na AWS. A tela inicial fornece um dashboard com o resumo de seus gastos e inclui links para as ferramentas de análise de custos.

Screen Shot 2016-11-09 at 12.09.24 PM

AWS Cost Explorer – Explorar

Cost Explorer é uma ferramenta gratuita que gera relatórios e gráficos pré configurados de consultas referentes ao consumo do período atual, período histórico, assim como previsão de consumo futuro.

Também é possível que sejam customizados os relatórios para atender necessidades específicas ou fazer o download das informações do billing para utilização em suas próprias ferramentas.

Saiba mais em: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-explorer-what-is.html

Screen Shot 2016-11-09 at 12.09.47 PM

Coloque Tags em sua infraestrutura – Organizar

Tags são campos chave-valor que podem ser adicionados a sua infraestrutura, com o objetivo de facilitar a organização dos seus recursos. Alguns exemplos comuns de tags: centro de custo, tipo de ambiente (desenvolvimento ou produção), projeto, área de negócio, etc.

Além de facilitar a busca, é possível criar relatórios de custos que são filtrados e consolidados por tags específicas. Os relatórios de custos por tags podem fornecedor respostas para perguntas como “Qual o custo de infraestrutura para determinado projeto X” ou “Quanto determinada área de minha empresa está gastando com servidores”.

Saiba mais em: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html

AWS Billing Alerts – Monitorar

O alerta de billing permite que você receba notificações para ajudá-lo a monitorar a evolução do custo de sua conta na AWS.

Por exemplo, é possível criar um alerta que envia automaticamente um e-mail quando seu custo previsto alcançar um limite ao qual você definiu, evitando surpresas em sua conta. Para iniciar, visite o AWS billing console para habilitar o monitoramento dos seus custos e crie seu primeiro alerta.

Screen Shot 2016-11-09 at 12.10.08 PMa

Screen Shot 2016-11-09 at 12.10.08 PMb

AWS Trusted Advisor – Otimizar

O Trusted Advisor é uma ferramenta que inspeciona seu ambiente AWS com o objetivo de encontrar oportunidades em quatro categorias: redução de custo, aumento de performance, aumento de confiabilidade de suas aplicações e implementação das melhores práticas de segurança.

O Trusted Advisor cria uma lista com mais de 50 recomendações distribuídas nas categorias citadas. Especificamente em otimização de custos, são geradas recomendações como: quais são as instâncias para se realizar uma reserva, quais são as instâncias com baixa utilização, ELB ociosos, volumes EBSs subutilizados, EIP desassociados, etc.

Por exemplo, instâncias EC2 com baixa utilização poderiam ser consolidadas ou mesmo desligadas, ou ELB ociosos poderiam ser deletados, gerando uma redução no custo.

A lista completa dos checks e orientações estão disponíveis para clientes com suporte Business ou Enterprise.

Screen Shot 2016-11-09 at 12.10.27 PM

Screen Shot 2016-11-09 at 12.10.43 PM

Saiba mais em: https://aws.amazon.com/premiumsupport/trustedadvisor

Conclusão

Este artigo teve o objetivo de mostrar dicas de como otimizar custos na AWS. Existem diversas abordagens que irão ajuda-lo a obter uma conta menor no final do mês. Escolha aquelas que fazem sentido ao seu ambiente, não se esquecendo de manter os níveis de performance, confiabilidade e segurança de suas aplicações.