GlobalTableNotFoundException
요약 — DescribeGlobalTable / UpdateGlobalTable은 버전 2017.11.29 (Legacy) 글로벌 테이블만 봅니다. 버전 2019.11.21 (Current) — 여러분이 사용해야 하는 것 — 로 만든 글로벌 테이블은 DescribeTable / UpdateTable을 통해 복제본이 있는 일반 테이블 로 관리되며, 레거시 API는 이를 존재하지 않는 것으로 보고합니다. 테이블이 사라졌다고 가정하기 전에 어느 버전인지 확인하세요.
무엇을 의미하나요
GlobalTableNotFoundException: The specified global table does not exist.DynamoDB에는 두 개의 분리된 API 표면을 가진 두 세대의 글로벌 테이블이 있습니다. 레거시(2017.11.29) 세대는 DescribeGlobalTable, UpdateGlobalTable, UpdateGlobalTableSettings가 작동하는 이름 있는 "글로벌 테이블" 객체를 등록합니다. 현재(2019.11.21) 세대에는 그런 객체가 없습니다 — 복제본이 테이블 자체에 있습니다 — 그래서 그 레거시 호출은 테이블이 완벽하게 복제되고 있어도 이 예외로 응답합니다.
왜 발생하나요
- 테이블이 현재 버전(2019.11.21) 글로벌 테이블임 — 단연 흔한 원인: 레거시 API가 단순히 인덱싱하지 않습니다.
- 그 이름으로 글로벌 테이블이 생성된 적 없음 — 테이블은 존재하지만 복제본이 없거나, 이전에 복제 설정이 실패했습니다.
- 잘못된 리전이나 이름 오타 — 레거시 글로벌 테이블 등록은 정확한 이름으로 조회됩니다.
어떻게 고치나요
버전을 확인하세요:
aws dynamodb describe-table --table-name orders \ --query 'Table.GlobalTableVersion' # "2019.11.21" → use DescribeTable/UpdateTable, not the legacy APIs현재 버전 복제본을
UpdateTable로 관리하세요:aws dynamodb update-table --table-name orders \ --replica-updates '[{"Create": {"RegionName": "eu-west-1"}}]'그리고
describe-global-table이 아니라describe-table(의Replicas필드)로 검사하세요.레거시 도구를 쓰나요? 진짜로 2017.11.29 글로벌 테이블을 운영한다면 등록의 이름과 리전을 확인하세요 — 그리고 AWS가 유연성과 낮은 복제 쓰기 비용을 위해 권장하는 2019.11.21로의 업그레이드를 계획하세요.
처음부터 만들기: 테이블을 만든 다음
UpdateTable로 복제본을 추가하세요 — 새 코드에서CreateGlobalTable(레거시)에 손대지 마세요.
리전 전반의 복제본 상태를 확인하는 것은 테이블을 나란히 두면 더 빠릅니다 — DynoTable 데스크톱 앱은 한 창에서 모든 리전에 연결하고, DynamoDB 요금 계산기는 복제본을 추가하기 전에 복제 쓰기 비용을 추정합니다.
관련 오류
- Global table version mismatch — 업그레이드 경로에서 부딪히는 동일한 두 세대 구분.
- ReplicaNotFoundException — 리전이 복제 그룹의 일부가 아님.
- ReplicaAlreadyExistsException — 리전이 이미 그러함.
- 학습: DynamoDB global tables
References
- UpdateGlobalTable — Amazon DynamoDB API Reference
- DynamoDB global tables versions (determining the version) — Amazon DynamoDB Developer Guide
- UpdateTable — Amazon DynamoDB API Reference
- CreateGlobalTable — Amazon DynamoDB API Reference
공식 AWS 문서(위 링크)를 기준으로 2026-07-13에 마지막으로 검증되었습니다.