GlobalTableNotFoundException
TL;DR — DescribeGlobalTable / UpdateGlobalTable は バージョン 2017.11.29(レガシー) のグローバルテーブルしか見えません。バージョン 2019.11.21(現行) で構築されたグローバルテーブル — こちらを使うべきです — は、DescribeTable / UpdateTable を通じて レプリカを持つ通常のテーブル として管理され、レガシー API はそれを存在しないと報告します。テーブルが消えたと仮定する前に、どのバージョンを使っているか確認してください。
意味
GlobalTableNotFoundException: The specified global table does not exist.DynamoDB には、2つの互いに素な API サーフェスを持つ2世代のグローバルテーブルがあります。レガシー(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 デスクトップアプリ は1つのウィンドウからすべてのリージョンに接続し、DynamoDB 料金計算ツール はレプリカを追加する前にレプリケート書き込みコストを見積もります。
関連するエラー
- Global table version mismatch — 同じ2世代の分割で、アップグレード経路から遭遇するもの。
- ReplicaNotFoundException — リージョンがレプリケーショングループの一部でない。
- ReplicaAlreadyExistsException — リージョンがすでに一部である。
- Learn: 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
最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。