BackupInUseException

요약 — 이 테이블에서 충돌하는 백업 제어 플레인 작업이 아직 진행 중입니다: 백업이 지금 생성, 삭제, 또는 복원되고 있습니다. 이러한 작업은 직렬화되므로, 진행 중인 작업이 끝날 때까지 기다린 후(DescribeBackup으로 BackupStatus를 확인) 자신의 작업을 재시도하세요.

무엇을 의미하나요

BackupInUseException: There is another ongoing conflicting backup control
plane operation on the table. The backup is either being created, deleted
or restored to a table.

온디맨드 백업 작업(CreateBackup, DeleteBackup, RestoreTableFromBackup)은 제어 플레인 호출이며, DynamoDB는 같은 백업이나 테이블에 대해 이미 실행 중인 작업과 충돌하는 호출을 거부합니다. 이는 일시적인 상태 오류이며 권한이나 데이터 문제가 아닙니다.

왜 발생하나요

  • 아직 생성 중인 백업을 삭제CreateBackup이 아직 AVAILABLE에 도달하지 않았습니다.
  • 복원이 실행 중인 백업을 삭제 — 복원은 새 테이블 생성이 끝날 때까지 백업을 붙잡고 있습니다.
  • 겹치는 자동화 — 정리 스크립트와 백업 스케줄러가 서로 경합하거나, 재시도 루프가 같은 테이블에서 CreateBackup을 이중 실행합니다.
  • 속도 제한 초과DeleteBackup은 초당 최대 10회 호출만 허용합니다. 많은 백업을 촘촘한 루프로 쓸어버리면 충돌과 스로틀링이 함께 발생합니다.

어떻게 고치나요

  1. 진행 중인 것을 확인한 뒤 기다리세요:

    aws dynamodb describe-backup --backup-arn arn:aws:dynamodb:...:table/orders/backup/01234...
    # BackupStatus: CREATING | AVAILABLE | DELETED

    상태가 안정되면 작업을 재시도하세요(생성 완료는 AVAILABLE, 복원 중인 테이블은 describe-table을 통해 ACTIVE에 도달).

  2. 하드 실패 대신 백오프로 재시도하세요 — 백업 작업은 수 초에서 수 분이 걸립니다. 호출 주위의 간단한 대기-후-재시도 루프가 직렬화를 흡수합니다.

  3. 자동화를 직렬화하세요 — 테이블당 백업 수명 주기 작업의 소유자를 하나로 두고, 겹칠 수 있는 cron에서 둘 다 실행하기보다 생성 뒤에 삭제를 대기시키세요.

  4. 대량 삭제 속도를 조절하세요 — 초당 DeleteBackup 호출을 10회 미만으로 유지하고, 이 예외를 속도를 늦추라는 신호로 처리하세요.

백업은 가장 잃어서는 안 될 데이터를 보호합니다 — 백업을 정리하기 전에 DynoTable 데스크톱 앱으로 테이블에 실제로 무엇이 들어 있는지 살펴보고, DynamoDB 요금 계산기로 복원 읽기 트래픽을 추정하세요.

관련 오류

References

공식 AWS 문서(위 링크)를 기준으로 2026-07-13에 마지막으로 검증되었습니다.

Console 없이 DynamoDB 작업하기

DynoTable은 DynamoDB를 위한 빠른 데스크톱 클라이언트입니다 — 테이블을 탐색하고, SQL 스타일 쿼리를 실행하고, 항목을 로컬에서 편집하세요.