ConfigError: Missing region in config
TL;DR — AWS SDK が、どのリージョンと通信するか分かりません。クライアントに明示的に設定する(new DynamoDBClient({ region: 'us-east-1' }))、AWS_REGION 環境変数経由、または ~/.aws/config で設定してください。
意味
ConfigError: Missing region in configすべての DynamoDB エンドポイントはリージョン単位なので、SDK はリクエストを送る前にリージョンを解決する必要があります。この正確な表現は、デフォルトでリージョンを選択しない AWS SDK for JavaScript v2(現在サポート終了)から来ます。その設定ソースのいずれもリージョンを供給しないと、ネットワーク呼び出しの前にこれをスローします。他の SDK と AWS CLI は、リージョンが設定されていないとき、それぞれ同等のもので失敗します。
発生する理由
- クライアントにリージョンが渡されておらず、環境に
AWS_REGIONもない(JavaScript SDK はAWS_REGIONを読みます。AWS CLI はAWS_DEFAULT_REGIONと--regionも尊重します)。 - SDK が決して読まない
~/.aws/configのリージョン — JavaScript SDK v2 は、AWS_SDK_LOAD_CONFIG環境変数が設定されているときのみ共有 config ファイルをロードします。それがないと、まったく正しいregion =行が無視されます。 - 環境変数名の タイプミス(
AWS_REGIONS、REGION)。
修正方法(いずれか1つ)
- クライアントに設定します(最も明示的):
import {DynamoDBClient} from '@aws-sdk/client-dynamodb'; const client = new DynamoDBClient({region: 'us-east-1'}); - 環境変数:
export AWS_REGION=us-east-1 - AWS config ファイル(
~/.aws/config):JavaScript SDK v2 では、SDK が実際にこのファイルを読むよう[default] region = us-east-1AWS_SDK_LOAD_CONFIG=1も設定します(CLI と他のほとんどの SDK はデフォルトで読みます)。 - DynamoDB Local ですか? それでも 何らかの リージョン文字列(任意の値 — ローカルデータベースファイルの命名にのみ使われます)と
endpointが必要です:const client = new DynamoDBClient({region: 'local', endpoint: 'http://localhost:8000'});
DynoTable を Local に向ける
DynoTable はリージョンを AWS プロファイルごとに保存します — Settings → Profiles → Add Profile と進み、保存する前にドロップダウンからリージョンを選んでください。サイドバー下部のプロファイルチップに有効なリージョンが表示され、⌘P で切り替えられます。リージョンが空のとき、あるいは AWS_SDK_LOAD_CONFIG を必要とする SDK が共有設定ファイルを無視しているときは、Test Connection がすぐに失敗します。
Local なら Download Local を使う(またはプロファイルのエンドポイントを http://localhost:8000 に向ける)うえで、リージョンには任意の文字列を設定します — DynoTable はエンドポイントとリージョンを同じプロファイルに保持するので、両者がずれることはありません。接続できたら ⌘K でテーブルを開き、リクエストが想定どおりのリージョンに向かっていることを確かめましょう。同じ設定をアプリケーションのコードに貼り付ける前にプロファイルのリージョンを検証するには、ビジュアルなクエリビルダーが便利です。
SDK v2 と v3 のリージョン解決の違いを調べるときは、DynoTable が使っているプロファイル設定と、アプリケーションの環境変数を並べて比べてください。ステージング(⌘S)を使えば、バッチジョブを走らせる前に、設定したプロファイルに対して書き込みを試せます。
出典
- Setting the AWS Region — AWS SDK for JavaScript v2 (2026-07-13 時点で検証)
- Troubleshooting errors for the AWS CLI (2026-07-13 時点で検証)
関連するエラー
- セキュリティトークンが無効
- ResourceNotFoundException — リージョンが 設定された 後は、しばしばリージョンの不一致。
- Unable to start DynamoDB Local process
- 学習: DynamoDB Local と LocalStack への接続
参考資料
- Setting the AWS Region — AWS SDK for JavaScript v2 Developer Guide
- Troubleshooting errors for the AWS CLI — AWS CLI User Guide
- DynamoDB local usage notes — Amazon DynamoDB Developer Guide
最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。