DynamoDB ReplicaNotFoundException

TL;DR — 更新または削除しようとしているリージョンレプリカが、このグローバルテーブルの一部ではありません。通常は 誤ったリージョン名、すでに削除された レプリカ、または 別の進行中のレプリカ更新と競合する 呼び出しです。DescribeTable で現在のレプリカを確認し、存在するものを対象にしてください。

意味

ReplicaNotFoundException: The specified replica is no longer part of the global table.

グローバルテーブルの操作(UpdateGlobalTable、または ReplicaUpdates/Delete を伴う UpdateTable)は、レプリカを AWS リージョンで指定します。この HTTP 400 は、指定したリージョンが現在グローバルテーブルのレプリカでないことを意味します。実在するレプリカを対象にするまで クライアント側の問題でリトライ不可 です。

発生する理由

  • 誤ったリージョンコード — レプリカが us-east-1 にあるのに us-east-2、または一度も追加されなかったリージョン。
  • レプリカがすでに削除された — 以前の更新がすでにテーブルから外したリージョンに対する削除。
  • 重複するレプリカの変更UpdateTable は、テーブルが以前の変更でまだ UPDATING の間は実行できません。AWS は各レプリカの追加/削除に別々のリクエストを発行することを推奨しています。競合するオートメーションは、別のジョブがすでに削除したレプリカを対象にできます。
  • プライマリとレプリカの混同 — このテーブルのレプリカをホストしないリージョンを操作する。
  • バージョンの混乱 — レガシーの Version 2017.11.29(GlobalTable)と現行の 2019.11.21(テーブル上のレプリカ)の API の混在。

修正方法

  1. 現在のレプリカとそのステータスを一覧表示します:
    aws dynamodb describe-table --table-name <Table> \
      --query "Table.Replicas[].{Region:RegionName,Status:ReplicaStatus}"
  2. 実際にリストにあるリージョンを対象にします — リージョンコードを正確にコピーします。
  3. 一度に1つのレプリカを変更します。 次の更新の前に、テーブルが ACTIVE に戻る(そして以前の追加/削除が完了する)のを待ちます。
  4. すでに消えているレプリカを削除していますか? することはありません。削除に対しては ReplicaNotFoundException をすでに満たされたものとして扱います。
  5. 現行(2019.11.21)の API を使います — レガシーのグローバルテーブル API ではなく、UpdateTableReplicaUpdates でレプリカを管理します。

リージョンをまたいでテーブルを管理していますか?DynoTable デスクトップアプリ は各テーブルのレプリカとそのステータスを表示するため、本当にグローバルテーブルの一部であるリージョンに対して操作できます。

まず DynoTable で確認

UpdateTableReplicaUpdates を実行する前に、DynoTable でテーブルを開き、テーブル統計とレプリカの一覧で実際に存在するリージョンを確認しましょう。⌘P でプロファイルを切り替え、グローバルテーブルを所有するアカウントを見ている状態にします。レプリカのリージョンが消えていれば、DynoTable は単にそれを表示しません — クリックしてしまう古いコンソールのカードは存在しません。

リージョンコードを実際の一覧と突き合わせてから、IaC か CLI でコントロールプレーンの変更を出し直してください。レプリカをまたぐ日々の読み取りでは、ARN を当てずっぽうに書くのではなく、リージョンごとに DynoTable のプロファイルを 1 つ持ち、⌘1⌘9 で切り替えましょう。クエリビルダーは有効なプロファイルのリージョンから外れないので、us-east-1 の Query と us-west-2 のテーブル名が混ざることはありません。

出典

関連するエラー

参考資料

最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。

Console なしで DynamoDB を扱う

DynamoDB では実行できない本物の SQL(JOINs、GROUP BY、集計)を実行する高速な DynamoDB デスクトップクライアント。ビジュアル編集と、あなた自身の Bedrock キーで動く AI エージェントを備えています。

30日間無料トライアル、クレジットカード不要 — その後は期限のない Free プラン。