DynamoDB: Table already exists
요약 — 작업이 대상 테이블을 생성 하려는데 이름이 이 계정 + 리전에서 이미 사용 중입니다. 복원(RestoreTableFromBackup / RestoreTableToPointInTime)은 TableAlreadyExistsException을 던지고, CreateTable과 ImportTable은 같은 상황을 ResourceInUseException으로 보고합니다. 새 대상 이름을 고르세요 — 복원과 가져오기는 기존 테이블에 쓸 수 없습니다.
무엇을 의미하나요
TableAlreadyExistsException: A target table with the specified name already exists
ResourceInUseException: Table already exists: my-table복원과 가져오기 작업은 항상 완전히 새로운 테이블을 생성합니다 — 라이브 테이블에 병합하거나 덮어쓸 수 없습니다. 대상 이름이 같은 계정과 리전에서 (상태와 관계없이) 기존 테이블로 해석되면 요청이 미리 실패합니다. 어느 예외를 보는지는 API에 따라 다릅니다: 복원 계열은 자체 TableAlreadyExistsException을 가지고, CreateTable과 ImportTable은 일반 ResourceInUseException으로 나타냅니다.
왜 발생하나요
- 백업을 원래 이름으로 복원 — 자연스러운 본능("테이블을 되돌려 놓기")이 여전히 존재하는 테이블과 충돌합니다.
- 가져오기나 IaC 배포 재실행 — 재시도된
ImportTable, 또는 스택의 상태 밖에 이미 존재하는 테이블을 만들려는 CloudFormation/Terraform/CDK 스택. - 생성-후-재시도 경합 — 첫
CreateTable이 성공했거나(또는 여전히CREATING) 재시도가 이름이 사용 중임을 발견합니다. - 환경 충돌 — 두 스테이지/환경이 계정을 공유하고 둘 다 접두사 없는 이름을 원합니다.
어떻게 고치나요
새 이름으로 복원한 다음 전환하세요 —
my-table-restored로 복원하고, 데이터를 검증하고, 애플리케이션을 다시 가리키세요(또는 이전 테이블을 삭제하고 사라진 후 원래 이름으로 다시 복원):aws dynamodb restore-table-from-backup \ --target-table-name my-table-restored \ --backup-arn arn:aws:dynamodb:...:table/my-table/backup/...테이블을 교체하려면, 기존 것을 먼저 삭제하고 삭제가 완료될 때까지 기다리세요 — 테이블이
DELETING상태인 동안 이름이 사용 중으로 유지됩니다(그때 시도된 복원은TableInUseException으로 실패합니다.CreateTable측은 ResourceInUseException 참조).가져오기의 경우, 사용하지 않는 대상 이름을 고르세요 —
ImportTable은 새 테이블만 만듭니다. 기존 테이블에 데이터를 로드하려면 대신BatchWriteItem/PutItem으로 쓰세요.IaC 재시도의 경우, 생성과 싸우기보다 기존 테이블을 스택의 상태로 가져오세요(또는 이름 변경).
실제로 무엇이 존재하는지 확인하세요 — 같은 리전/계정에서
aws dynamodb list-tables가 이름이 정말 비어 있는지 결정합니다.
전환 전에 복원된 테이블을 검증하는 것은 사람들이 건너뛰는 안전한 단계입니다 — DynoTable 데스크톱 앱은 복원된 테이블과 원래 테이블을 나란히 두므로 스키마를 비교하고 항목을 먼저 확인할 수 있습니다. 그리고 복원된 테이블 운영 비용을 추정한다면 DynamoDB 요금 계산기가 두 용량 모드를 다룹니다.
관련 오류
- ResourceInUseException — 같은 충돌의
CreateTable버전. - Backup not found
- Export requires PITR
- 학습: Backups & point-in-time recovery
References
- RestoreTableFromBackup — Amazon DynamoDB API Reference
- RestoreTableToPointInTime — Amazon DynamoDB API Reference
- CreateTable — Amazon DynamoDB API Reference
- Amazon S3 import validation errors — Amazon DynamoDB Developer Guide
공식 AWS 문서(위 링크)를 기준으로 2026-07-13에 마지막으로 검증되었습니다.