0Pricing
Cloud & IT Cert Prep · Aula

Dimensionamento adequado e Compute Optimizer

Use as recomendações do AWS Compute Optimizer para reduzir o tamanho de instâncias EC2, funções Lambda e volumes EBS superdimensionados e diminuir os custos.

Dimensionamento adequado e Compute Optimizer é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

O problema do provisionamento excessivo

Um dos erros mais comuns e dispendiosos na arquitetura de nuvem é o provisionamento excessivo — alocar mais recursos do que a carga de trabalho realmente precisa. As equipes de IT frequentemente provisionam recursos em excesso devido a hábitos do ambiente local (comprar capacidade para a carga de pico), ao receio de degradação do desempenho ou simplesmente por nunca revisarem as decisões iniciais de dimensionamento. Na AWS, instâncias EC2, volumes EBS e funções Lambda provisionados em excesso desperdiçam dinheiro a cada minuto em que permanecem em execução. O dimensionamento adequado é o processo sistemático de identificar e eliminar esse desperdício.

# Common over-provisioning symptoms:
# EC2: average CPU < 10%, memory < 20%
# RDS: storage auto-grow never triggered
# Lambda: allocated memory rarely exceeds 40%
# EBS: provisioned IOPS consistently unused

# Cost impact example:
# Over-provisioned r5.8xlarge at $1.92/hr: $1,382/month
# Correct size r5.xlarge at $0.252/hr:      $181/month
# Savings: $1,201/month per instance

Visão geral do AWS Compute Optimizer

O AWS Compute Optimizer analisa métricas históricas de utilização do CloudWatch e usa aprendizado de máquina para recomendar recursos de computação ideais da AWS. Ele abrange instâncias EC2, grupos de escalonamento automático do EC2, volumes EBS, funções Lambda e Amazon ECS no Fargate. O Compute Optimizer exige pelo menos 30 dias de histórico de métricas para gerar recomendações confiáveis. Sua ativação é gratuita, e ele fornece recomendações com a economia mensal estimada e uma classificação de risco para a alteração.

# Opt in to Compute Optimizer
aws compute-optimizer update-enrollment-status \
  --status Active

# Get EC2 recommendations
aws compute-optimizer get-ec2-instance-recommendations \
  --query 'instanceRecommendations[].{Instance:currentInstanceType,Recommended:recommendationOptions[0].instanceType,Savings:recommendationOptions[0].estimatedMonthlySavings.value,Risk:recommendationOptions[0].performanceRisk}'

# Get Lambda recommendations
aws compute-optimizer get-lambda-function-recommendations

Dimensionamento adequado do EC2 com o Compute Optimizer

O Compute Optimizer analisa a utilização da CPU do EC2, a utilização da memória (por meio do agente do CloudWatch), a vazão da rede e as IOPS do EBS nos últimos 3, 14 ou mais de 30 dias. Em seguida, recomenda uma das quatro descobertas: Optimized (o tamanho atual é adequado), Over-provisioned (pode ser reduzido), Under-provisioned (deve ser aumentado) ou NOT optimized (dados insuficientes). Sempre analise o risco de desempenho — o Compute Optimizer atribui risco VeryLow, Low, Medium, High a cada recomendação.

# EC2 recommendation findings:
# Finding: OVER_PROVISIONED
# CurrentInstanceType: m5.4xlarge
# RecommendedInstanceType: m5.xlarge
# CPU utilisation: P99 = 22%, P50 = 4%
# Memory utilisation: P99 = 18%, P50 = 8%
# EstimatedMonthlySavings: $380
# PerformanceRisk: VeryLow

# Always check:
# - Does current instance have burstable credits? (T3)
# - Are there workload spikes not captured in averages?
# - Is there seasonality to consider?

Dimensionamento adequado do Lambda

As funções Lambda são cobradas por milissegundo de tempo de execução multiplicado pela memória alocada. Alocar mais memória do que o necessário desperdiça dinheiro, mas mais memória também significa mais CPU — portanto, o equilíbrio correto é a configuração de memória que minimiza o custo por invocação. O Compute Optimizer analisa a duração das invocações do Lambda, a taxa de erros e as métricas de tempo limite para recomendar a configuração ideal de memória. A ferramenta de código aberto ajuste de potência do Lambda também pode invocar sua função com diferentes configurações de memória para encontrar empiricamente a configuração de custo ideal.

# Compute Optimizer Lambda recommendations
aws compute-optimizer get-lambda-function-recommendations \
  --function-arns arn:aws:lambda:us-east-1:123:function:my-function

# Response shows:
# currentMemorySize: 1024 MB
# recommendedMemorySize: 256 MB
# utilizationMetrics:
#   - type: MEMORY_MAXIMUM, value: 89 (MB)
# estimatedMonthlySavings: $45

# 89 MB actual vs 1024 MB allocated = 935 MB wasted

Dimensionamento adequado de volumes EBS

Os volumes EBS frequentemente são provisionados em excesso tanto em relação ao tamanho (espaço em disco não utilizado) quanto às IOPS (IOPS provisionadas que nunca são consumidas). O Compute Optimizer analisa as métricas VolumeReadOps, VolumeWriteOps, VolumeReadBytes, VolumeWriteBytes. Uma recomendação comum é migrar de gp2 para gp3 (que separa o tamanho das IOPS) — você pode dimensionar as IOPS de forma independente, muitas vezes economizando 20%. Identifique também volumes EBS não anexados (instâncias encerradas, mas com os volumes deixados para trás) e crie snapshots ou exclua-os.

# Get EBS volume recommendations
aws compute-optimizer get-ebs-volume-recommendations \
  --volume-arns arn:aws:ec2:us-east-1:123:volume/vol-12345

# Common finding: gp2 -> gp3 migration
# gp2: 500 GB = 500 GB * $0.10 = $50/month
#   IOPS: 1,500 (3 IOPS/GB, not configurable)
# gp3: 500 GB = $40/month + 3,000 IOPS free
#   Save $10/month plus get MORE baseline IOPS

# Find unattached EBS volumes
aws ec2 describe-volumes \
  --filters Name=status,Values=available \
  --query 'Volumes[].{VolumeId:VolumeId,Size:Size,Created:CreateTime}'

Recomendações para grupos de escalonamento automático

O Compute Optimizer analisa a utilização do ASG em todas as instâncias do grupo e recomenda alterações no modelo de execução para o tipo de instância. Se todas as instâncias de um ASG estiverem constantemente provisionadas em excesso, mudar para um tipo de instância menor reduz o custo em escala. Por exemplo, se um ASG tiver em média 10 instâncias de m5.large, mudar para m5.medium economiza 50% por instância. O Compute Optimizer também recomenda instâncias baseadas em Graviton quando o software for compatível, proporcionando melhoria de desempenho e redução de custos.

# Get ASG recommendations
aws compute-optimizer get-auto-scaling-group-recommendations \
  --auto-scaling-group-arns arn:aws:autoscaling:us-east-1:123:autoScalingGroup:abc:autoScalingGroupName/my-asg

# If recommendation is to switch to Graviton:
# Current: m5.large (x86, $0.096/hr)
# Recommended: m6g.large (Graviton2, $0.077/hr)
# Savings: 20% per instance
# ASG at 10 instances average = $220/month savings

Trusted Advisor para insights de custos

O AWS Trusted Advisor é outra ferramenta que fornece insights de otimização de custos, além de verificações de segurança, desempenho, tolerância a falhas e limites de serviço. Principais verificações de custos: instâncias EC2 com baixa utilização (menos de 10% de CPU por 4 ou mais dias), endereços IP elásticos não associados (cobrados quando não estão anexados), volumes EBS subutilizados, balanceadores de carga ociosos (sem destinos íntegros) e instâncias reservadas não utilizadas. As verificações básicas do Trusted Advisor são gratuitas; o conjunto completo exige o AWS Business Support ou Enterprise Support.

# Trusted Advisor: get cost optimisation checks
aws support describe-trusted-advisor-checks \
  --language en \
  --query 'checks[?category==`cost_optimizing`].{Name:name,Id:id}'

# Key checks:
# Qkj5MU5fNp: Low utilisation EC2 instances
# Z4AUBRNSmh: Unassociated Elastic IP addresses
# DAvU99Dc4C: Underutilized EBS volumes
# hjLMh88uM8: Idle load balancers
# 1e93e4c0b5: Unused reserved instances

Atualizações de geração de instâncias

A AWS lança regularmente novas gerações de instâncias EC2 mais eficientes, que oferecem melhor desempenho a um custo menor ou equivalente. Passar da 5ª geração (m5, c5, r5) para a 7ª geração (m7g, c7g, r7g) pode proporcionar 40% mais desempenho de computação a um custo semelhante ou menor. O Compute Optimizer identifica especificamente oportunidades de atualização para gerações mais recentes, incluindo instâncias baseadas em Graviton. As atualizações de instâncias costumam ser a ação mais simples de dimensionamento adequado — mesma configuração, hardware mais novo, melhor desempenho e menor custo.

# EC2 instance generation comparison (same price tier):
# m5.large:  2 vCPU, 8 GB, $0.096/hr  (2019)
# m6i.large: 2 vCPU, 8 GB, $0.096/hr  (2021, ~10% faster)
# m7i.large: 2 vCPU, 8 GB, $0.1008/hr (2023, ~15% faster)
# m7g.large: 2 vCPU, 8 GB, $0.0808/hr (2023, Graviton3, cheapest)

# Upgrade path for Linux workloads:
# m5 -> m7g (Graviton): best price/performance
# m5 -> m7i: same architecture, no code changes

Dimensionamento adequado de instâncias RDS

As instâncias RDS são caras e frequentemente provisionadas em excesso. Use métricas do CloudWatch para avaliar a utilização do RDS: CPUUtilization, FreeableMemory, ReadIOPS e WriteIOPS. Se a CPU permanecer abaixo de 20% e a memória continuar consistentemente alta, considere reduzir o tamanho. Para bancos de dados de produção com Multi-AZ, o dimensionamento adequado duplica a economia, pois tanto a instância primária quanto a de espera são alteradas. Considere também mudar de RDS MySQL/PostgreSQL para Aurora, que frequentemente oferece melhor desempenho a um custo semelhante e é mais eficiente em termos de custo em escala.

# Monitor RDS utilisation for right-sizing
aws cloudwatch get-metric-statistics \
  --namespace AWS/RDS \
  --metric-name CPUUtilization \
  --dimensions Name=DBInstanceIdentifier,Value=mydb \
  --start-time 2026-05-21T00:00:00Z \
  --end-time 2026-06-21T00:00:00Z \
  --period 86400 \
  --statistics Maximum Average

# If 30-day P99 CPU < 30%, consider downsizing
# If P99 CPU > 80%, consider upsizing

Operacionalização do dimensionamento adequado

O dimensionamento adequado deve ser um processo contínuo, não uma atividade pontual. Estabeleça uma periodicidade de revisão mensal ou trimestral: obtenha as recomendações do Compute Optimizer, avalie quais podem ser aplicadas com segurança, implemente as alterações em uma janela de manutenção e meça a economia. Automatize os ganhos fáceis: a limpeza de volumes EBS não anexados, a liberação de endereços IP elásticos não utilizados e a remoção de balanceadores de carga ociosos podem ser feitas por meio de scripts. Crie um painel de otimização de custos no CloudWatch que acompanhe os gastos mensais por serviço e destaque aumentos incomuns.

# Script to release unassociated Elastic IPs
aws ec2 describe-addresses \
  --query 'Addresses[?!AssociationId].AllocationId' \
  --output text | xargs -I {} \
  aws ec2 release-address --allocation-id {}

# Script to delete unattached EBS volumes (careful!)
# First check if snapshots exist before deleting
aws ec2 describe-volumes \
  --filters Name=status,Values=available \
  --query 'Volumes[].VolumeId' \
  --output text

Dimensionamento adequado versus alterações de arquitetura

O dimensionamento adequado resolve o provisionamento excessivo nas arquiteturas existentes, mas às vezes o problema está na própria arquitetura. Uma única instância EC2 grande executando várias aplicações pode exigir decomposição arquitetural (microsserviços no Fargate), em vez de apenas uma instância menor. Um banco de dados monolítico pode precisar de fragmentação ou Caching, em vez de apenas uma redução no tamanho da instância. O dimensionamento adequado é o primeiro passo e o mais rápido. A otimização da arquitetura (sem servidor, contêineres e Caching) proporciona economias mais profundas e duradouras, mas exige mais esforço. O pilar Cost Optimisation recomenda buscar ambas as abordagens.

# Cost optimisation hierarchy:
# Level 1: Right-sizing (quick wins, days)
#   - Compute Optimizer recommendations
#   - Delete unused resources
#   - Elastic IP, EBS cleanup

# Level 2: Purchasing model (weeks)
#   - Reserved Instances / Savings Plans
#   - Spot for eligible workloads

# Level 3: Architecture (months)
#   - Serverless migration
#   - Container consolidation
#   - Caching layer addition
#   - Database optimisation

Verificação rápida

Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) apresentados nesta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: o AWS Compute Optimizer usa aprendizado de máquina sobre métricas do CloudWatch para recomendar recursos de computação com dimensionamento adequado, o dimensionamento adequado se aplica a EC2, Lambda, EBS, ASGs e ECS no Fargate e a atualização para gerações mais recentes de instâncias (especialmente Graviton) proporciona melhorias de custo e desempenho. Torne o dimensionamento adequado uma prática recorrente, não uma atividade pontual. A seguir, exploraremos Reserved Instances, Savings Plans e modelos de aquisição Spot.

Perguntas Frequentes

A aula “Dimensionamento adequado e Compute Optimizer” é grátis?

Sim — o texto completo de “Dimensionamento adequado e Compute Optimizer” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

O que vou aprender em “Dimensionamento adequado e Compute Optimizer”?

Use as recomendações do AWS Compute Optimizer para reduzir o tamanho de instâncias EC2, funções Lambda e volumes EBS superdimensionados e diminuir os custos. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cloud & IT Cert Prep?

Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Dimensionamento adequado e Compute Optimizer”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?

Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Dimensionamento adequado e Compute Optimizer
  2. Instâncias reservadas, Savings Plans e Spot
  3. Cost Explorer, Budgets e etiquetas de alocação de custos
  4. Otimização de custos do S3 e da transferência de dados
← Voltar para Cloud & IT Cert Prep