可以在 AWS 之外使用 DynamoDB 嗎?

可以。DynamoDB 透過 HTTPS 從任何地方都連得到 — 你的程式碼不必跑在 AWS 上。任何持有 AWS 憑證的應用程式,都能透過 SDK 或已簽署的請求呼叫區域端點,不管它跑在你的筆電、地端伺服器,還是另一個雲端。只有資料庫住在 AWS 裡。

存取是怎麼運作的

DynamoDB 是一個 API,不是一個由你託管的通訊端:用戶端向一個區域 HTTPS 端點送出以 AWS 憑證簽署、並由 IAM 授權的請求。AWS 的各種 SDK(JavaScript、Python、Java、Go 等)、CLI 與主控台用的都是同一個公開 API — 它們都不在意自己跑在哪裡。

curl、完全不需要 AWS 帳戶,你就能看到這件事。對某個區域的端點送出一個空的 ListTables 內容,它會回答:

{
  "__type": "com.amazon.coral.service#MissingAuthenticationTokenException",
  "message": "Request is missing Authentication Token"
}

這是一個被拒絕的請求,但也是一個服務確實接受、解析並回覆的請求,而發出它的是一台不在 AWS 上的筆電。加上 SigV4 簽章,同一個呼叫就會成功。

網路會讓你付出什麼

端點從任何地方都連得到;但延遲從任何地方都不一樣。我們在 2026-07-28 從西班牙的一條家用連線量測:每個區域透過一條重複使用的 HTTPS 連線送出十次未簽署的 ListTables,讀取 curl 的 time_starttransfer

區域第一次請求(TCP + TLS)暖連線中位數
eu-central-1(法蘭克福)232 ms50 ms
eu-west-1(愛爾蘭)204 ms59 ms
us-east-1(北維吉尼亞)456 ms118 ms
us-west-2(奧勒岡)577 ms182 ms
sa-east-1(聖保羅)743 ms247 ms
ap-northeast-1(東京)905 ms263 ms

一台機器、一天、一條路由,所以請看比例,而不是絕對的毫秒數。

DynamoDB 在伺服器端以個位數毫秒回應。從西班牙到東京,網路在上面再加了大約 250 ms,那是資料庫本身工作量的 25 到 50 倍。一個在區域內感覺瞬間完成的讀取迴圈,到了區域外就會變成你程式裡最慢的東西。

第一次請求的成本是暖連線的三到四倍,而那全部都是 TCP 與 TLS 的建立。長時間執行的行程只付一次。短命的行程 — 一個 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 區域與本機端點。用運算式建構器建構它送出的那些查詢。

參考資料

最後驗證於 2026-07-13,對照上方連結的 AWS 官方文件。

延遲於 2026-07-28 從西班牙的一條家用連線量測,每個區域透過一條重複使用的連線送出十次請求。你的數字會不一樣;重點在於各區域之間的差距。

不必透過主控台就能操作 DynamoDB

一款快速的 DynamoDB 桌面用戶端,可執行 DynamoDB 無法執行的真正 SQL — JOINs、GROUP BY、聚合 — 並支援視覺化編輯與使用你自己的 Bedrock 金鑰的 AI 代理。

30 天免費試用,無需信用卡 — 之後為無時間限制的免費方案。