trilha

Tecnologias/04 - Armazenamento de Objetos/02 - Cloudflare R23 min

API S3, Custos e Limitações do R2

Compatibilidade com S3

O R2 implementa operações da API S3 para permitir o uso de clientes e ferramentas desse ecossistema. Isso envolve configurar o endpoint do R2 e credenciais emitidas para ele; uma credencial IAM da AWS não se transforma automaticamente em credencial Cloudflare.

Compatibilidade da API não significa equivalência de todos os recursos. A matriz oficial lista operações e parâmetros suportados. Por exemplo, PutBucketVersioning não aparece como implementado na documentação consultada em 15/09/2026. Portanto, a aplicação não deve presumir o mesmo mecanismo de versionamento do Amazon S3. Referência: matriz de compatibilidade.

Exemplo de listagem

Com AWS CLI instalado e um perfil r2 já configurado com credenciais do R2:

aws s3api list-objects-v2 \
  --bucket arquivos-aplicacao \
  --prefix 'clientes/42/' \
  --endpoint-url 'https://<ACCOUNT_ID>.r2.cloudflarestorage.com' \
  --region auto \
  --profile r2

Substitua o identificador da conta e o bucket pelos valores reais. O comando lista objetos do prefixo; não baixa seu conteúdo. auto é o valor de região usado nessa integração, não a escolha de uma região AWS para guardar os dados. Referência: AWS CLI com R2.

Como o custo é composto

Componente O que representa
Armazenamento Volume mantido ao longo do tempo
Operações classe A Operações como gravações e listagens
Operações classe B Operações como leituras de objetos
Recuperação em Infrequent Access Volume recuperado dessa classe de armazenamento
Serviços associados Trabalho de componentes como Workers, conforme sua própria cobrança

O R2 não cobra transferência de saída (egress) diretamente do armazenamento, inclusive pelas APIs S3 e Workers. Armazenamento e operações continuam sujeitos à cobrança; outros serviços conectados podem cobrar seu uso. Referência: preços e regras de cobrança.

Classes de armazenamento

Standard atende dados acessados com frequência. Infrequent Access troca menor preço de armazenamento por cobrança de recuperação e duração mínima faturável de 30 dias. Excluir ou substituir um objeto antes desse período não elimina essa cobrança mínima. Ambas não cobram egress conforme a documentação consultada. Referência: classes do R2.

Diferenças práticas em relação ao Amazon S3

As ferramentas podem ser semelhantes, mas endpoint, credenciais, recursos de bucket, integrações e cobrança precisam corresponder ao serviço real. Uma aplicação que apenas lê e grava objetos tem dependências diferentes de outra que usa versionamento, políticas e integrações específicas da AWS.

Aprofundamento aplicado

Compatibilidade se verifica por operação e parâmetro

Uma prova de migração deve listar o que o cliente realmente usa: leitura por intervalo, listagem paginada, multipart, metadados, checksums, condições e política de acesso. Executar apenas um PUT e um GET não cobre dependências de recursos do bucket. Referência: matriz da API S3.

Modelo de custo sem fixar preços que envelhecem

custo do período ≈ armazenamento ao longo do período
                 + operações classe A
                 + operações classe B
                 + recuperação, quando aplicável
                 + serviços associados

A fórmula é um roteiro: unidades, franquias e regras reais vêm da tabela vigente. Um milhão de arquivos pequenos e dez arquivos grandes com o mesmo volume não geram necessariamente a mesma quantidade de operações. Cache pode reduzir leituras ao R2, mas traz política de atualização e custos dos componentes que o atendem. Referência: componentes de cobrança.

Exercício: compare um portal de downloads grandes e uma API que consulta milhares de objetos minúsculos. Resultado esperado: identificar quais parcelas dominam cada cenário antes de comparar provedores.

Relacionado: 1. Amazon S3 · S3 Lifecycle e Versionamento · 1. Cloudflare R2.


Parte de Cloudflare R2

Buscar

Busca por título, seção e texto das notas