Chega o e-mail da AWS com a fatura e vem 40 % mais alta do que no mês passado. Ou salta o aviso do orçamento no dia 18. Não é preciso perceber toda a fatura para o resolver: quase sempre é uma única coisa que apareceu ou cresceu, e o Cost Explorer aponta-a em poucos minutos se souber em que botões clicar.
O método é sempre o mesmo: primeiro que serviço subiu, depois em que região, depois que tipo de utilização dentro desse serviço, e por fim desde que dia. Com essas quatro respostas já sabe que objeto procurar na consola e o que fazer com ele.
Os valores de preços são aproximados e em dólares.
Antes de começar: o que significa cada coisa
- Cost Explorer
- O ecrã da AWS que mostra a despesa em gráficos e a deixa filtrar e agrupar por serviço, região, tipo de utilização, etiqueta ou recurso. Demora um dia a atualizar-se.
- Faturas (Bills)
- A fatura oficial do mês, linha a linha, com quantidades e montantes. É o que se cobra no cartão.
- Serviço
- Cada produto da AWS: EC2 (máquinas), RDS (bases de dados), S3 (ficheiros), Lambda (funções)... A fatura é discriminada por serviço.
- Tipo de utilização
- O conceito concreto dentro de um serviço: horas de máquina, GB de disco, GB de instantâneo, GB transferidos... O seu nome começa por um código de região.
- EC2-Other
- O saco de tudo do EC2 no Cost Explorer: discos, instantâneos, IPs, NAT Gateway e transferência entre zonas. Quase sempre, a causa do susto está aqui.
- Granularidade
- Se o gráfico se desenha por meses, por dias ou por horas. Por dias é a que mostra quando algo começou.
- Previsão
- O que a AWS calcula que gastará até ao fim do mês se continuar ao ritmo atual.
- NAT Gateway
- Uma peça de rede que permite a máquinas sem endereço público sair para a internet. Cobra-se por hora e por GB mesmo que ninguém o use.
- Lambda
- Funções que se executam sem servidor, cobrando por cada execução e pelo tempo que dura. Baratíssimo por unidade, caro em ciclo.
Passo a passo
Abra o Cost Explorer e compare com o mês passado
Menu da sua conta (em cima à direita), Faturação e Gestão de Custos, Cost Explorer. Se for a primeira vez, clique em Ativar e volte amanhã: demora até 24 horas a ter dados.
No painel da direita, período últimos 3 meses, granularidade mensal, e em Agrupar por escolha Serviço. Verá três barras empilhadas por cores. Compare a deste mês com a anterior: a cor que cresceu é o serviço culpado. Se o mês ainda não terminou, repare também na linha de previsão, que extrapola ao ritmo atual.
Limite aos últimos dias para ver quando começou
Mude o período para últimos 14 dias e a granularidade para diária, mantendo o agrupamento por serviço. Agora verá um degrau: o dia em que a despesa diária subiu. Esse dia é a pista mais valiosa: alguém criou algo, um processo mudou ou algo reiniciou. Pergunte à equipa o que aconteceu nesse dia antes de continuar a procurar.
Se em vez de um degrau vir uma rampa que sobe pouco a pouco, é acumulação: instantâneos, registos, versões de ficheiros.
Filtre por esse serviço e agrupe por tipo de utilização
No painel de filtros, Serviço, marque só o que subiu e aplique. Mude Agrupar por para Tipo de utilização (Usage type). Os nomes são técnicos mas percebem-se:
BoxUsagesão horas de máquina,EBS:VolumeUsagediscos,EBS:SnapshotUsageinstantâneos,DataTransfer-Outsaída de dados,PublicIPv4:InUseAddresseIdleAddressendereços IP,NatGateway-Hourso gateway NAT. O prefixo de cada nome (EU,EUW3,USE1) indica a região.Agrupe por região
Volte a Agrupar por e escolha Região. Se houver despesa numa região onde não tem nada (Virgínia, Ohio, Frankfurt quando o seu está na Irlanda ou em Paris), já está localizado: alguém fez um teste lá ou um assistente criou algo. Mude a região na consola do EC2 e veja instâncias, volumes, instantâneos e IPs. O Lightsail tem consola à parte por região; reveja-a também.
Agrupe por etiqueta ou por recurso
Se tiver etiquetas de alocação de custos ativadas (
Proyecto,Propietario), agrupe por essa Etiqueta: diz-lhe de quem é a despesa nova. Se não, com granularidade diária e filtrando por EC2, pode agrupar por Recurso nos últimos 14 dias para ver o identificador exato da máquina ou do disco. Copie o identificador e procure-o na consola do EC2.Confira a fatura oficial e os créditos
Em Faturas (Bills), escolha o mês e expanda o serviço. Aí está cada linha com a quantidade (horas, GB) e o montante, com a região no nome. Veja também os créditos e o nível gratuito: uma subida que coincide com o aniversário da conta costuma ser o fim do primeiro ano grátis. Aí não há nada a corrigir; o preço real finalmente aparece.
As causas típicas, da mais à menos frequente
Máquina criada e esquecida. Uma EC2 para um teste, ligada há semanas. No Cost Explorer: EC2, tipo de utilização BoxUsage, degrau no dia em que foi criada. Uma t3.medium custa uns 30-35 dólares por mês; uma m5.xlarge, uns 150. O mesmo no Lightsail, com a diferença de que lá a máquina parada continua a cobrar o plano completo.
Instantâneos acumulados. Rampa suave no EC2 (SnapshotUsage), RDS ou Lightsail. Cada GB custa uns 0,05 dólares por mês; o problema é que são centenas de GB em dezenas de cópias que ninguém apaga. Costumam vir de uma política de cópias automáticas sem limite de retenção.
IP sem atribuir. A AWS cobra todos os endereços IPv4 públicos, uns 3,60 dólares por mês cada um. Um IP elástico de uma máquina que apagou, ou cinco, aparecem como IdleAddress. Pequeno, mas nota-se em contas com pouca despesa.
Transferência de dados de saída. DataTransfer-Out-Bytes, uns 0,09 dólares por GB. Um site que de repente serve vídeo, uma cópia de segurança que agora se descarrega diariamente para fora da AWS, um bucket S3 público que alguém ligou a partir de um sítio com muito tráfego. Também o tráfego entre regiões ou entre zonas de disponibilidade, que se cobra mesmo sendo dentro da AWS.
RDS parado que arranca sozinho. Uma base de dados RDS pode parar-se para poupar, mas a AWS volta a arrancá-la automaticamente ao fim de 7 dias. Quem a parou numa segunda-feira encontra-a ligada e a cobrar na segunda-feira seguinte. No Cost Explorer: RDS, com degraus semanais se alguém a voltar a parar.
Lambda em ciclo. Uma função que se dispara a si própria (escreve num bucket que por sua vez dispara a função, ou tenta de novo sem limite) pode executar-se milhões de vezes. O Lambda é muito barato por execução, mas milhões são milhões. No Cost Explorer sobe o Lambda e, com ele, o CloudWatch pelos registos. Para o ver: na consola da AWS entre em Lambda, abra a função e veja o separador Monitorização, gráfico de invocações. No Simplio não é preciso procurar: o cartão de cada função mostra as execuções do mês e o seu custo aproximado.
NAT Gateway. O assistente da VPC cria-o por defeito em alguns fluxos. Custa uns 30-35 dólares por mês só por existir, mais uns 0,05 dólares por GB que passa por ele. Aparece como NatGateway-Hours e NatGateway-Bytes dentro de "EC2-Other". Se as suas máquinas têm IP público, não precisa dele.
Outros menos frequentes: um plano de suporte contratado por engano, registos do CloudWatch sem caducidade, versões antigas num bucket S3 com versionamento, balanceadores sem nada atrás.
Como cortar a despesa hoje mesmo
- Máquina esquecida: se não precisa dela, faça um instantâneo (por precaução) e termine-a. Se precisa dela de vez em quando, pare-a; no EC2 só pagará o disco. Se for Lightsail, instantâneo e apagar: parar não poupa.
- Instantâneos: ordene por data e apague os antigos. Conserve os dois ou três últimos de cada máquina de produção. Reveja as políticas de cópias automáticas (Data Lifecycle Manager, AWS Backup, instantâneos automáticos do Lightsail) e ponha-lhes um limite de retenção.
- IPs soltos: no EC2, Endereços IP elásticos, os que não têm instância associada: Libertar. No Lightsail, menu Rede, os não associados: eliminar.
- Transferência: identifique a origem (a máquina ou o bucket com mais saída nas suas métricas) e decida: cache, CloudFront, comprimir, mover a cópia de segurança para o S3 dentro da mesma região, ou fechar um bucket público.
- RDS que arranca sozinho: se de facto não a usa, faça um instantâneo da base de dados e apague-a; restaurá-la leva dez minutos. Se a usa de vez em quando, programe a paragem semanal com o EventBridge Scheduler ou aceite o custo.
- Lambda em ciclo: baixe a concorrência reservada da função para 0 para a parar de imediato, corrija o disparador e volte a subi-la.
- NAT Gateway: em VPC, Gateways NAT, apague-o se não houver máquinas privadas que o usem. Antes, confirme que nenhuma máquina sem IP público precisa dele para sair para a internet.
Para que não volte a acontecer
Três coisas, por esta ordem de esforço:
- Um orçamento no Budgets com aviso aos 80 % da despesa real e aos 100 % da previsão. Dois minutos. Converte uma surpresa no fim do mês num aviso a meio do mês.
- Etiquetas
ProyectoePropietarioativadas como etiquetas de custo. Da próxima vez, o passo 5 deste guia dá-lhe o nome diretamente. - Uma revisão mensal de cinco minutos: Cost Explorer por serviço e por região, IPs soltos, discos sem máquina, instantâneos com mais de seis meses.
O que pode correr mal
O Cost Explorer não mostra os últimos dois dias
É normal: os dados chegam com até 24 horas de atraso e o dia em curso está incompleto. Para ver o efeito de algo que acabou de apagar, espere um dia. Para uma emergência real (um ciclo de Lambda, uma máquina muito grande), não espere pelo Cost Explorer: veja diretamente a consola do serviço.
A despesa está em "EC2-Other" e não sei o que é
"EC2-Other" agrupa tudo o que não são horas de máquina: discos EBS, instantâneos, endereços IP, NAT Gateway, transferência entre zonas. Filtre por esse serviço e agrupe por Tipo de utilização; o nome do tipo de utilização diz exatamente qual deles é.
Apaguei o objeto mas a fatura continua igual
O que já se consumiu este mês não desaparece: a fatura reflete a despesa acumulada até hoje. O que tem de baixar é a despesa diária a partir de amanhã. Veja o Cost Explorer com granularidade diária passados dois dias e confirme que o degrau voltou a descer. Se não, ficou algum resto (o IP, o disco, o instantâneo) do objeto apagado.
Não tenho permissão para ver Faturação
Por defeito só a conta raiz e os utilizadores com permissões de faturação entram no Cost Explorer. O administrador tem de ativar o acesso do IAM à informação de faturação nas definições da conta e dar ao utilizador uma política como Billing ou AWSBillingReadOnlyAccess.
No Simplio
No Simplio o ecrã Custos mostra, por cada conta da AWS ligada, o faturado este mês até hoje, a previsão para o fim do mês e o mês anterior, em dólares e em euros, juntamente com o custo aproximado de cada objeto: máquinas, bases de dados, discos, instantâneos, IPs. Os cartões de cada máquina permitem pará-la, apagá-la ou fazer-lhe um instantâneo na hora, e o orçamento mensal avisa por e-mail quando a despesa se desvia.
Com o registo de atividade vê quem criou o quê e quando, e com o orçamento por utilizador cada pessoa tem o seu limite antes de o problema chegar à fatura.
O mesmo, na AWS e no Simplio
| Na consola da AWS | No Simplio | |
|---|---|---|
| Ver o que subiu | Cost Explorer, cinco agrupamentos e um dia de atraso | Ecrã Custos: este mês, previsão e custo aproximado de cada objeto |
| Saber quem o criou | Só se havia etiquetas de custo ativadas antes | Registo de atividade: quem, o quê e quando |
| Cortar a despesa | Procurar o objeto na consola de cada serviço e região | Parar, apagar ou fazer instantâneo a partir do cartão do objeto |
| Que não se repita | Orçamento no Budgets e etiquetas obrigatórias | Orçamento mensal com aviso por e-mail e orçamento por utilizador |