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

  1. Verifique o grupo de replicação antes de alterá-lo:

    aws dynamodb describe-table --table-name orders \
      --query 'Table.Replicas[].RegionName'
  2. Torne a operação idempotente — capture esta exceção na criação (e a ReplicaNotFoundException na 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;
    }
  3. 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.

  4. 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 de CREATING) antes da próxima alteração.

  5. 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

Erros relacionados

Referências

Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.