Unable to start DynamoDB Local process
TL;DR — DynamoDB Local(Java アプリ)が起動できませんでした。よくある原因は、Java ランタイムの欠落または古すぎること、ポート 8000 の使用中、あるいは serverless-dynamodb プラグインが jar をダウンロードしなかったことです。Java を修正し、ポートを解放し、または再インストールしてください。
意味
serverless-dynamodb / serverless-dynamodb-local プラグインから、あるいは jar を直接実行するときに現れます:
Unable to start DynamoDB Local process!ローカルエミュレータを実行する子プロセスが生成に失敗したか、即座に終了しました。
発生する理由
- Java がない、または非互換なバージョン。 DynamoDB Local には Java ランタイムが必要です。現在のバージョン(v2.6.0 以降、v3.x を含む)は JRE 17+ を要求します。
java -versionが失敗すればそれが原因です。古いバージョンが表示される場合は、多くの場合、内部の出力に UnsupportedClassVersionError が見られます。 - ポートがすでに使用中 — 他の何かが
8000にある(シャットダウンしなかった以前のインスタンス)。 - jar がインストールされていなかった —
sls dynamodb installが実行されなかったか失敗したため、起動するものがない。 - インストールディレクトリの パス/権限の問題。
- ネイティブ SQLite ライブラリを同梱する古い jar での Apple Silicon / アーキテクチャの不一致。
ダウンロードの失敗
npx serverless dynamodb install や Maven プラグインのダウンロードが失敗すると
(ネットワークプロキシ、社内の TLS インスペクション、ディスク不足など)、起動コマンドは
jar を見つけられず、同じ汎用の Unable to start DynamoDB Local process! ラッパーで
終了します — Java を追いかける前に、プラグインのログで ENOENT や HTTP エラーを確認して
ください。
修正方法
- Java 17+ をインストール/検証します:
java -version。欠落または古すぎる場合は、最新の JDK/JRE をインストールします(例: Temurin または Corretto 17+)。 - DynamoDB Local を再インストールします:
npx serverless dynamodb install - ポートを解放します(または変更します): 8000 にあるものを見つけて停止します —
lsof -i :8000 # then kill the PID, or configure a different port - 公式の Docker イメージを使い、Java/アーキテクチャの問題を完全に回避します:
docker run -p 8000:8000 amazon/dynamodb-local - クライアントをそれに向けます — プレースホルダーのリージョン + エンドポイントで(Missing region in config を参照)。
DynoTable から接続する
Java やアーキテクチャの問題、あるいは jar のダウンロード失敗で Local が動かないなら、
公式の Docker イメージを実行し、ローカルの JRE なしで DynoTable から接続しましょう
(DynoTable をインストール)。Settings → Profiles → Add Profile で
エンドポイントに http://localhost:8000、プレースホルダーのリージョン、英数字のダミー
認証情報を設定し、Test Connection を実行します。この経路なら
Unable to start DynamoDB Local process! の spawn 失敗を丸ごと回避できます。
手順: DynamoDB Local を動かす。
プラグインが jar をまったくダウンロードしていなかった場合は、npx serverless dynamodb install を
実行し直し、インストール先ディレクトリが書き込み可能かを確認してください — 権限エラーは、
Java のスタックトレースを伴わない同じ汎用 spawn メッセージとして現れます。Local が
立ち上がったら、DynamoDB JSON コンバーターで
フィクスチャを読み込みましょう。
関連するエラー
- DynamoDB Local に接続できない
- DynamoDB Local UnsupportedClassVersionError — この失敗の Java が古すぎる版。
- DynamoDB Local sqlite4java errors — ネイティブライブラリ/アーキテクチャの版。
- 設定にリージョンがない
- Learn: Running DynamoDB Local
参考資料
- Deploying DynamoDB locally on your computer — AWS DynamoDB Developer Guide (JRE 17+ requirement for v2.6.0+, launch command, default port 8000)
- DynamoDB local usage notes — AWS DynamoDB Developer Guide (
-portand the other runtime options) - amazon/dynamodb-local — Docker Hub (official image;
docker run -p 8000:8000 amazon/dynamodb-local)
最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。