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