DynamoDB: 테이블이 이미 존재합니다.
TL;DR — 작업에서 대상 테이블을 _생성_하려고 하며 이름은 이미 이 계정 + 지역에서 사용됩니다. (RestoreTableFromBackup / RestoreTableToPointInTime)을 복원하여 TableAlreadyExistsException를 던집니다. CreateTable과 ImportTable는 ResourceInUseException와 동일한 상황을 보고합니다. 새 대상 이름을 선택하세요. 복원 및 가져오기는 기존 테이블에 쓸 수 없습니다.
무엇을 의미하는가
TableAlreadyExistsException: A target table with the specified name already exists
ResourceInUseException: Table already exists: my-table
# what the engine actually returns, reproduced against DynamoDB Local:
ResourceInUseException: Cannot create preexisting 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, see ResourceInUseException의 경우CreateTable쪽에서 실패함).가져오기의 경우 사용되지 않은 대상 이름을 선택합니다. —
ImportTable은 새 테이블만 생성합니다. 기존 테이블에 데이터를 로드하려면 대신BatchWriteItem/PutItem를 사용하여 작성하세요.IaC 재시도의 경우 생성을 시도하는 대신 기존 테이블을 스택 상태로 가져오거나 이름을 바꿉니다.
실제로 존재하는 것이 무엇인지 확인 — 동일한 지역/계정에 있는
aws dynamodb list-tables이름이 실제로 무료인지 확인합니다.복원된 테이블에 날짜 스탬프를 붙여(
orders-20260812-restore) 잘라내기와 정리가 명확하도록 합니다.
DynoTable에서 측정
컷오버 전에 DynoTable에서 원본 테이블과 복원된 테이블을 모두 엽니다. ⌘K로 전환하고 항목을 나란히 무작위로 검사합니다. 스테이징(⌘S)을 사용하면 프로덕션 트래픽을 건드리지 않고도 복원된 복사본에 대해 쓰기를 테스트할 수 있습니다.
복원된 테이블의 크기를 pricing calculator로 지정합니다. ⌘P로 계정/지역을 전환하세요. 설정 → 프로필에서 연결 테스트를 수행합니다. Connect to AWS 및 Install를 참조하세요.
출처
- RestoreTableFromBackup — Amazon DynamoDB API Reference (2026-07-13 인증)
- CreateTable — Amazon DynamoDB API Reference (2026-07-13 인증)
관련 오류
- ResourceInUseException — 동일한 충돌의
CreateTable특성. - 백업을 찾을 수 없음
- Export requires PITR
- 학습: Backups & point-in-time recovery
참고 자료
- 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년 7월 13일에 마지막으로 확인되었습니다.