0Pricing
Cloud & IT Cert Prep · Aula

Otimização de custos do S3 e da transferência de dados

Aplique S3 Intelligent-Tiering, regras de ciclo de vida, S3 Select e CloudFront para reduzir significativamente os custos de armazenamento e transferência de dados.

Otimização de custos do S3 e da transferência de dados é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 4 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.

Fundamentos dos custos de armazenamento do S3

Os custos de armazenamento do Amazon S3 variam significativamente de acordo com a classe de armazenamento e o padrão de acesso. O S3 Standard cobra aproximadamente US$ 0,023 por GB por mês — em escala de petabytes, isso se torna significativo. A boa notícia é que o S3 oferece sete classes de armazenamento otimizadas para diferentes frequências de acesso, com preços que variam de US$ 0,023/GB (Standard) a US$ 0,00099/GB (Glacier Deep Archive). A chave para otimizar os custos do S3 é associar seus dados à classe de armazenamento adequada e automatizar as transições com políticas de ciclo de vida.

# S3 storage class costs (us-east-1 approximate):
# S3 Standard:              $0.023/GB/month
# S3 Intelligent-Tiering:   $0.023/GB (frequent) + $0.0125 (infrequent)
# S3 Standard-IA:           $0.0125/GB/month + retrieval fee
# S3 One Zone-IA:           $0.01/GB/month (single AZ)
# S3 Glacier Instant:       $0.004/GB/month + retrieval fee
# S3 Glacier Flexible:      $0.0036/GB/month + retrieval time
# S3 Glacier Deep Archive:  $0.00099/GB/month + retrieval time

S3 Intelligent-Tiering

S3 Intelligent-Tiering move automaticamente os objetos entre níveis de acesso com base nos padrões reais de acesso — sem taxas de recuperação e sem duração mínima para o nível frequente. Ele monitora o acesso aos objetos individualmente: objetos que não forem acessados por 30 dias passam para o nível de acesso infrequente (40% mais barato) e, após 90 dias, para o nível de arquivamento instantâneo (68% mais barato). Há uma pequena taxa mensal de monitoramento (US$ 0,0025 por 1.000 objetos). Use Intelligent-Tiering quando não for possível prever os padrões de acesso ou quando houver dados de acesso frequente e infrequente no mesmo bucket.

# Enable Intelligent-Tiering on objects
aws s3api put-object \
  --bucket my-bucket \
  --key data/report.parquet \
  --body report.parquet \
  --storage-class INTELLIGENT_TIERING

# Or set as default for entire bucket
aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket my-bucket \
  --id whole-bucket-tiering \
  --intelligent-tiering-configuration '{
    "Id": "whole-bucket-tiering",
    "Status": "Enabled",
    "Tierings": [
      {"AccessTier": "ARCHIVE_ACCESS", "Days": 90},
      {"AccessTier": "DEEP_ARCHIVE_ACCESS", "Days": 180}
    ]
  }'

Regras de ciclo de vida do S3 para classificação automática

As regras de ciclo de vida do S3 automatizam as transições e as expirações de objetos com base na idade. Você define regras por prefixo ou tag e especifica as transições em limites de dias específicos. Um ciclo de vida de arquivamento típico é: Standard → Standard-IA (30 dias) → Glacier Instant Retrieval (90 dias) → Deep Archive (365 dias) → Delete (2555 dias). Isso pode reduzir os custos de armazenamento por GB de US$ 0,023 para US$ 0,00099 ao longo do tempo — uma redução de 95% para dados arquivados. As transições do ciclo de vida exigem um tamanho mínimo de objeto de 128 KB para IA e Glacier (objetos menores não são economicamente viáveis para transição).

# Lifecycle rule: transition logs to archive
aws s3api put-bucket-lifecycle-configuration \
  --bucket app-logs-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "log-archive",
      "Filter": {"Prefix": "logs/"},
      "Status": "Enabled",
      "Transitions": [
        {"Days": 30,  "StorageClass": "STANDARD_IA"},
        {"Days": 90,  "StorageClass": "GLACIER_IR"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ],
      "Expiration": {"Days": 2555}
    }]
  }'

S3 Select e Glacier Select

S3 Select permite recuperar apenas os dados necessários de um objeto do S3 usando expressões SQL, em vez de baixar o objeto inteiro. Em um arquivo CSV de 10 GB do qual você precisa apenas de 100 linhas, o S3 Select pode recuperar somente essas linhas, reduzindo drasticamente os custos de transferência de dados e o tempo de processamento da aplicação. Glacier Select faz o mesmo para objetos no Glacier. O S3 Select oferece suporte aos formatos CSV, JSON e Parquet. Isso é especialmente valioso em pipelines de análise de dados nos quais muitas consultas acessam apenas um subconjunto de cada arquivo de dados.

# S3 Select: query a CSV object using SQL expression
aws s3api select-object-content \
  --bucket analytics-data \
  --key sales/2026-06.csv \
  --expression-type SQL \
  --expression "SELECT * FROM S3Object WHERE region = 'us-east'" \
  --input-serialization 'CSV={FileHeaderInfo=USE}' \
  --output-serialization 'CSV={}' \
  output.csv

# Only the matching rows are returned
# Saves data transfer cost vs downloading entire file

Upload Multipart do S3 e aceleração de transferência

Para uploads de objetos grandes, o S3 Multipart Upload divide os objetos em partes (com no mínimo 5 MB por parte) que são enviadas em paralelo, melhorando a taxa de transferência e permitindo uploads retomáveis. É possível tentar novamente as partes com falha sem reiniciar o upload inteiro. Limpe os uploads multipart incompletos com regras de ciclo de vida para evitar cobranças pelas partes incompletas. O S3 Transfer Acceleration encaminha os uploads por meio das localizações de borda do AWS CloudFront para acelerar uploads de locais distantes — útil para usuários que enviam arquivos grandes globalmente, mas gera um custo adicional (US$ 0,04–US$ 0,08/GB). Use-o somente quando a aceleração proporcionar uma melhoria mensurável.

# Multipart upload example
aws s3api create-multipart-upload \
  --bucket my-bucket --key large-file.zip

# Abort incomplete multipart uploads via lifecycle
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "cleanup-incomplete-uploads",
      "Status": "Enabled",
      "AbortIncompleteMultipartUpload": {"DaysAfterInitiation": 7}
    }]
  }'

Entendendo os custos de transferência de dados

Os custos de transferência de dados estão entre as cobranças mais surpreendentes da AWS. Regras principais: a transferência de dados de entrada (para a AWS) é gratuita. A transferência de dados de saída para a Internet custa aproximadamente US$ 0,09/GB (nos primeiros 10 TB/mês). A transferência de dados entre regiões custa aproximadamente US$ 0,02/GB. A transferência de dados entre AZs na mesma região custa US$ 0,01/GB em cada direção. Dentro da mesma AZ, é gratuita. Projete arquiteturas para minimizar a transferência de dados entre regiões e destinada à Internet — por isso as implantações regionais e o CloudFront são essenciais para a entrega de conteúdo com eficiência de custos.

# Data transfer cost examples (us-east-1):
# Internet (outbound):       $0.09/GB (first 10 TB)
# CloudFront -> internet:    $0.0085/GB (much cheaper!)
# Cross-region:              $0.02/GB
# Cross-AZ (same region):    $0.01/GB each direction
# Same AZ:                   $0.00/GB (free)
# S3 -> CloudFront:          $0.00/GB (free!)

# Cost reduction tip:
# S3 -> CloudFront -> users
# vs
# EC2 -> internet -> users
# CloudFront is 10x cheaper for data egress

CloudFront para reduzir custos de transferência de dados

A entrega de conteúdo por meio do Amazon CloudFront reduz drasticamente os custos de transferência de dados de duas formas. Primeiro, o CloudFront cobra taxas de saída menores do que o acesso direto à Internet pelo EC2 ou S3 (~US$ 0,0085/GB contra US$ 0,09/GB). Segundo, o CloudFront armazena o conteúdo em cache nas localizações de borda, reduzindo o número de vezes que os dados são entregues a partir da origem — potencialmente fornecendo o mesmo conteúdo milhões de vezes a partir do cache com apenas uma busca na origem. A transferência de dados do S3 para o CloudFront também é gratuita. Isso torna o CloudFront uma ferramenta de otimização de custos, não apenas de desempenho.

# Cost comparison for 100 TB/month of outbound traffic:
# Direct from EC2/S3 to internet:
#   100,000 GB x $0.09/GB = $9,000/month

# Via CloudFront (assuming 80% cache hit rate):
#   20,000 GB origin pull: free (S3->CF) or $0.02 (EC2->CF)
#   100,000 GB CF->internet: 100,000 x $0.0085 = $850
#   Total: ~$1,250 vs $9,000 = 86% savings

# Create CloudFront distribution with S3 origin
aws cloudfront create-distribution \
  --distribution-config file://cf-config.json

VPC Endpoints para evitar custos do NAT Gateway

As cobranças pelo processamento de dados do NAT Gateway (US$ 0,045/GB) podem se tornar significativas quando instâncias do EC2 em sub-redes privadas acessam frequentemente o S3 ou o DynamoDB. Em vez disso, use VPC Gateway Endpoints para S3 e DynamoDB — eles encaminham o tráfego pelo backbone de rede da AWS a custo zero e não exigem um NAT Gateway para esses serviços. Além disso, VPC Interface Endpoints (PrivateLink) para outros serviços da AWS eliminam as taxas de processamento do NAT Gateway para o tráfego desses serviços, embora os próprios Interface Endpoints tenham um pequeno custo por hora.

# Create VPC Gateway Endpoint for S3 (free!)
aws ec2 create-vpc-endpoint \
  --vpc-id vpc-12345 \
  --service-name com.amazonaws.us-east-1.s3 \
  --vpc-endpoint-type Gateway \
  --route-table-ids rtb-private-AZ1 rtb-private-AZ2

# Traffic from EC2 in private subnet to S3:
# WITHOUT endpoint: EC2 -> NAT GW ($0.045/GB) -> S3
# WITH endpoint:    EC2 -> S3 via VPC endpoint ($0.00/GB)

# For DynamoDB:
aws ec2 create-vpc-endpoint \
  --service-name com.amazonaws.us-east-1.dynamodb \
  --vpc-endpoint-type Gateway

Otimizando os custos de solicitações do S3

O S3 cobra por solicitação de API, além da cobrança por GB armazenado. As solicitações PUT, COPY, POST, LIST custam US$ 0,005 por 1.000; as solicitações GET, SELECT custam US$ 0,0004 por 1.000. Em aplicações que fazem milhões de solicitações, esses custos se acumulam. Otimize: agrupando objetos pequenos em objetos maiores (menos solicitações), usando o CloudFront para fornecer respostas armazenadas em cache (reduz as solicitações GET à origem), evitando operações de listagem sempre que possível (LIST é caro) e usando S3 Batch Operations para operações em massa em vez de milhões de chamadas individuais de API.

# S3 Batch Operations: process millions of objects at once
aws s3control create-job \
  --account-id 123456789012 \
  --manifest '{
    "Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},
    "Location":{"ObjectArn":"arn:aws:s3:::manifest-bucket/manifest.csv","ETag":"abc123"}
  }' \
  --operation '{
    "S3CopyObject": {
      "TargetResource": "arn:aws:s3:::destination-bucket",
      "StorageClass": "GLACIER"
    }
  }' \
  --report '{"Bucket":"arn:aws:s3:::report-bucket","Enabled":true}'

AWS DataSync para transferência de dados

Para transferências de dados em grande escala entre ambientes locais e a AWS, ou entre serviços da AWS, o AWS DataSync é mais econômico do que escrever código de transferência personalizado. O DataSync usa um protocolo desenvolvido especificamente para essa finalidade, que alcança até 10 vezes a taxa de transferência de ferramentas de código aberto, e inclui validação de dados, agendamento e monitoramento integrados. Os dados transferidos pelo DataSync para S3, EFS ou FSx são cobrados segundo as taxas padrão de transferência de dados da AWS — mas a eficiência do DataSync permite concluir as transferências mais rapidamente, reduzindo o tempo de computação do EC2 (e o custo) necessário para grandes migrações.

# Create DataSync task to copy S3 bucket to another region
aws datasync create-task \
  --source-location-arn arn:aws:datasync:us-east-1:123:location/loc-source \
  --destination-location-arn arn:aws:datasync:us-west-2:123:location/loc-dest \
  --name 'DR-replication' \
  --options '{
    "VerifyMode": "ONLY_FILES_TRANSFERRED",
    "OverwriteMode": "ALWAYS",
    "TransferMode": "CHANGED"
  }'

# DataSync pricing: $0.0125/GB transferred

Storage Lens para visibilidade do S3

O Amazon S3 Storage Lens fornece visibilidade em toda a organização sobre o uso do armazenamento do S3 e as métricas de atividade entre contas e regiões. Ele revela oportunidades de otimização de custos, como a identificação de buckets sem regras de ciclo de vida, buckets com uploads multipart incompletos ou a distribuição entre classes de armazenamento. O painel padrão do S3 Storage Lens é gratuito; o painel de métricas avançadas (US$ 0,20/milhão de objetos) adiciona detalhamento por prefixo e métricas de idade dos dados. Use o Storage Lens como ponto de partida para qualquer iniciativa de otimização de custos do S3, identificando os buckets de maior impacto.

# Enable S3 Storage Lens dashboard
aws s3control put-storage-lens-configuration \
  --account-id 123456789012 \
  --config-id default \
  --storage-lens-configuration '{
    "Id": "default",
    "IsEnabled": true,
    "DataExport": {
      "S3BucketDestination": {
        "AccountId": "123456789012",
        "Arn": "arn:aws:s3:::my-storage-lens-export",
        "Format": "CSV",
        "OutputSchemaVersion": "V_1"
      }
    }
  }'

Verificação rápida

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

Recapitulação da lição

Nesta lição, você aprendeu: S3 Intelligent-Tiering e as regras de ciclo de vida reduzem os custos de armazenamento ao mover dados automaticamente para classes de armazenamento mais baratas, o CloudFront reduz drasticamente os custos de transferência de dados em comparação com o fornecimento direto pelo S3 ou EC2 e os VPC Gateway Endpoints eliminam as cobranças do NAT Gateway para o tráfego do S3 e do DynamoDB. O S3 Storage Lens fornece visibilidade sobre oportunidades de otimização. A seguir, exploraremos o KMS, o ACM e os padrões de criptografia.

Perguntas Frequentes

A aula “Otimização de custos do S3 e da transferência de dados” é grátis?

Sim — o texto completo de “Otimização de custos do S3 e da transferência de dados” é 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 “Otimização de custos do S3 e da transferência de dados”?

Aplique S3 Intelligent-Tiering, regras de ciclo de vida, S3 Select e CloudFront para reduzir significativamente os custos de armazenamento e transferência de dados. 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 4 de 4.

Quanto tempo leva a aula “Otimização de custos do S3 e da transferência de dados”?

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