AWS の外から DynamoDB を使えますか?
はい。DynamoDB は HTTPS でどこからでも到達できます。コードが AWS 上で動いている必要はありません。AWS の認証情報を持つアプリケーションなら、ノート PC でもオンプレミスのサーバーでも他のクラウドでも、SDK か署名付きリクエストでリージョナルエンドポイントを呼び出せます。AWS にあるのはデータベースだけです。
アクセスの仕組み
DynamoDB は自分でホストするソケットではなく API です。クライアントはリージョナルな HTTPS エンドポイントに対して、AWS の認証情報で署名され IAM で認可されたリクエストを送ります。AWS SDK(JavaScript、Python、Java、Go など)も、CLI も、コンソールも、すべて同じ公開 API を使っています。どれも自分がどこで動いているかを気にしません。
これは curl があれば、AWS アカウントすら持たずに確認できます。あるリージョンのエンドポイントに空の ListTables ボディを POST すると、こう返ってきます。
{
"__type": "com.amazon.coral.service#MissingAuthenticationTokenException",
"message": "Request is missing Authentication Token"
}拒否されたリクエストではありますが、AWS 上にないノート PC からのリクエストをサービスが受け取り、パースし、返答しています。SigV4 の署名を足せば、同じ呼び出しが成功します。
ネットワークの代償
エンドポイントはどこからでも到達できますが、レイテンシはどこからでも同じではありません。2026-07-28 にスペインの家庭用回線から測定しました。1 本の再利用した HTTPS 接続でリージョンごとに署名なしの ListTables を 10 回 POST し、curl の time_starttransfer を読んだものです。
| リージョン | 初回リクエスト(TCP + TLS) | ウォーム時の中央値 |
|---|---|---|
eu-central-1(フランクフルト) | 232 ms | 50 ms |
eu-west-1(アイルランド) | 204 ms | 59 ms |
us-east-1(北バージニア) | 456 ms | 118 ms |
us-west-2(オレゴン) | 577 ms | 182 ms |
sa-east-1(サンパウロ) | 743 ms | 247 ms |
ap-northeast-1(東京) | 905 ms | 263 ms |
1 台のマシン、1 日、1 経路での測定なので、絶対的なミリ秒よりも比率を読んでください。
DynamoDB はサーバー側では 1 桁ミリ秒で応答します。スペインから東京へは、その上にネットワークがおよそ 250 ms を足します。データベースの仕事の 25〜50 倍です。リージョン内では一瞬に感じられる読み取りループが、外に出た途端にプログラムでいちばん遅い部分になります。
初回リクエストはウォーム時の 3〜4 倍のコストがかかり、その全部が TCP と TLS の確立です。長命なプロセスならこれを 1 回だけ払います。短命なもの — cron ジョブ、CLI スクリプト、呼び出しごとに新しいクライアントを作る関数 — は毎回払います。クライアントは使い回しましょう。
AWS の外で変わるその他の点
- データ転送 — AWS から出るトラフィックにはデータ転送料金がかかり、無料枠はサービスごとではなく共有です。「AWS customers receive 100 GB of free data transfer out to the internet free each month, aggregated across all AWS Services and Regions (except China and GovCloud)」。
- 認証情報 — AWS の外のコードはインスタンスロールを使えないので、アクセスキーやフェデレーション認証情報を明示的に管理することになります。
AWS をまったく使わずに開発する
開発には AWS アカウントすら不要です。DynamoDB Localは同じ API を自分のマシン上で、オフラインかつ無料で動かします。準備ができたらエンドポイントを差し替えるだけで、同じコードがウェブサービスを対象にします。
さらに詳しく
デスクトップクライアントは、これを日常的に証明しています。DynoTableは Mac や PC の上 — 完全に AWS の外 — で動き、AWS のリージョンにもローカルエンドポイントにも接続します。送信されるクエリは式ビルダーで組み立てられます。
参考資料
- What is Amazon DynamoDB? — Amazon DynamoDB Developer Guide
- Accessing DynamoDB — Amazon DynamoDB Developer Guide
- Setting up DynamoDB local (downloadable version) — Amazon DynamoDB Developer Guide
- Amazon DynamoDB on-demand pricing
最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。
レイテンシは 2026-07-28 に、スペインの家庭用回線から、1 本の再利用した接続でリージョンごとに 10 リクエストを送って測定しました。あなたの数値は違うはずです。要点はリージョン間の差です。