Dá para usar o DynamoDB fora da AWS?
Sim. O DynamoDB é acessível de qualquer lugar por HTTPS — o seu código não precisa rodar na AWS. Qualquer aplicação com credenciais da AWS pode chamar o endpoint regional por um SDK ou por uma requisição assinada, esteja ela rodando no seu notebook, em um servidor on-premises ou em outra nuvem. Só o banco de dados mora na AWS.
Como funciona o acesso
O DynamoDB é uma API, não um socket que você hospeda: os clientes falam com um endpoint HTTPS regional através de requisições assinadas por credenciais da AWS e autorizadas pelo IAM. Os SDKs da AWS (JavaScript, Python, Java, Go e outros), a CLI e o console usam todos essa mesma API pública — nenhum deles se importa com onde roda.
Você consegue ver isso com o curl e sem nenhuma conta AWS. Poste um corpo de ListTables vazio no endpoint de uma Região e ele responde:
{
"__type": "com.amazon.coral.service#MissingAuthenticationTokenException",
"message": "Request is missing Authentication Token"
}Uma requisição rejeitada, mas uma requisição que o serviço aceitou, analisou e respondeu para um notebook que não está na AWS. Adicione uma assinatura SigV4 e a mesma chamada tem sucesso.
Quanto a rede te custa
O endpoint é acessível de qualquer lugar; a latência não é a mesma de qualquer lugar. Medimos isso de uma conexão residencial na Espanha em 2026-07-28: dez posts de ListTables não assinados por Região sobre uma conexão HTTPS reutilizada, lendo o time_starttransfer do curl.
| Região | Primeira requisição (TCP + TLS) | Mediana aquecida |
|---|---|---|
eu-central-1 (Frankfurt) | 232 ms | 50 ms |
eu-west-1 (Irlanda) | 204 ms | 59 ms |
us-east-1 (N. Virginia) | 456 ms | 118 ms |
us-west-2 (Oregon) | 577 ms | 182 ms |
sa-east-1 (São Paulo) | 743 ms | 247 ms |
ap-northeast-1 (Tóquio) | 905 ms | 263 ms |
Uma máquina, um dia, uma rota, então leia as proporções em vez dos milissegundos absolutos.
O DynamoDB responde em milissegundos de um dígito no lado do servidor. Da Espanha para Tóquio a rede acrescenta cerca de 250 ms por cima, o que é 25 a 50 vezes o trabalho que o banco de dados faz. Um loop de leitura que parece instantâneo dentro da Região vira a coisa mais lenta do seu programa fora dela.
A primeira requisição custa de três a quatro vezes uma requisição aquecida, e tudo isso é setup de TCP e TLS. Processos de vida longa pagam isso uma vez. Um de vida curta — um cron job, um script de CLI, uma função que cria um cliente novo a cada invocação — paga toda vez. Reutilize o cliente.
O que mais muda fora da AWS
- Transferência de dados — o tráfego que sai da AWS está sujeito a cobranças de transferência de dados, e a franquia gratuita é compartilhada, não por serviço: "AWS customers receive 100 GB of free data transfer out to the internet free each month, aggregated across all AWS Services and Regions (except China and GovCloud)."
- Credenciais — código fora da AWS não pode usar instance roles, então você vai gerenciar access keys ou credenciais federadas explicitamente.
Desenvolvendo sem nenhuma AWS
Para desenvolver você nem precisa de uma conta AWS: o DynamoDB Local roda a API na sua própria máquina, offline e de graça. Quando estiver pronto, troque o endpoint e o mesmo código passa a mirar o serviço web.
Aprofunde-se
Clientes desktop são a prova cotidiana disso: o DynoTable roda no seu Mac ou PC — inteiramente fora da AWS — e conecta tanto a Regiões da AWS quanto a endpoints locais. Construa as consultas que ele envia com o construtor de expressões.
Referências
- What is Amazon DynamoDB? — Amazon DynamoDB Developer Guide
- Accessing DynamoDB — Amazon DynamoDB Developer Guide
- Setting up DynamoDB local (downloadable version) — Amazon DynamoDB Developer Guide
- Amazon DynamoDB on-demand pricing
Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.
Latência medida em 2026-07-28 a partir de uma conexão residencial na Espanha, dez requisições por Região sobre uma conexão reutilizada. Os seus números vão diferir; a diferença entre as Regiões é que é o ponto.