ReplicaAlreadyExistsException
TL;DR — A região que você está adicionando já está no grupo de replicação da tabela global. A adição não é idempotente, portanto, uma nova execução da mesma solicitação (nova tentativa, implantação repetida, IaC desviado) falha quando a primeira é bem-sucedida. Descreva a tabela primeiro e crie apenas réplicas que não existem — ou trate esta exceção como "já concluída" e siga em frente.
O que significa
ReplicaAlreadyExistsException: The specified replica is already part of
the global table.O gerenciamento de réplica é uma mudança no control-plane com uma pré-condição rígida: Create exige que a região esteja ausente, Delete exige que ela esteja presente. Pedir para criar eu-west-1 quando eu-west-1 já replica a tabela viola essa pré-condição – o estado que você queria já existe.
Por que isso acontece
- Uma etapa de provisionamento repetida ou repetida — a primeira tentativa foi bem-sucedida (talvez após um tempo limite ter ocultado o sucesso) e a nova tentativa adiciona novamente a mesma região.
- Desvio de infraestrutura como código — a réplica foi adicionada manualmente no console e, em seguida, o pipeline IaC tenta adicioná-la novamente.
- Dois caminhos de automação correndo — implantações paralelas ou trabalhos de expansão de região, ambos enviando a mesma criação de réplica.
Como corrigir
Verifique o grupo de replicação antes de alterá-lo:
aws dynamodb describe-table --table-name orders \ --query 'Table.Replicas[].RegionName'Torne a operação idempotente — capture esta exceção na criação (e a
ReplicaNotFoundExceptionna exclusão) e trate-a como sucesso; a tabela já está no estado desejado:catch (e) { if (e.name === 'ReplicaAlreadyExistsException') return; // desired state reached throw e; }Reconcilie IaC com a realidade — importe a réplica adicionada manualmente para sua pilha em vez de permitir que cada implantação tente novamente a criação.
Serializar alterações de réplicas — uma atualização de réplica por vez por tabela; espere a tabela retornar para
ACTIVE(e a nova réplica sair deCREATING) antes da próxima alteração.Registre a região em cada tentativa de criação. Quando o IaC é reproduzido, a exceção nomeia a região que já existe — importe essa réplica para o estado em vez de recriá-la.
Verifique no DynoTable
Depois que a criação de uma réplica for bem-sucedida, confirme se ela fornece dados – não apenas se o API os aceitou. Mude para a região de réplica com ⌘P, abra a tabela com ⌘K e navegue pelos itens. DynoTable mostra a cópia de cada região lado a lado, portanto uma falha parcial silenciosa é óbvia.
Antes de adicionar outra região, estime o custo contínuo de gravação replicada com a calculadora de preços. Configure perfis por região em Configurações → Perfis e execute Test Connection em cada um. Consulte Conectar ao AWS e Instalar. Trate o ReplicaAlreadyExistsException como um sucesso quando seu replay IaC atingir o estado desejado – a região já está replicando.
Fontes
- UpdateGlobalTable — Referência Amazon DynamoDB API (verificado em 13/07/2026)
- Tabelas globais — Guia do desenvolvedor do Amazon DynamoDB (verificado em 13/07/2026)
Erros relacionados
- ReplicaNotFoundException — a imagem espelhada: excluindo uma região que não está no grupo.
- GlobalTableNotFoundException — confusão API legado versus atual.
- ResourceInUseException — a tabela está no meio da modificação.
- Aprenda: tabelas globais DynamoDB
Referências
- UpdateGlobalTable — Referência do Amazon DynamoDB API
- UpdateTable — Referência do Amazon DynamoDB API
- Tabelas globais — Guia do desenvolvedor do Amazon DynamoDB
Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.