DynamoDB は暗号化されていますか?

はい。DynamoDB のデータはすべて、AWS Key Management Service(KMS)に保管された暗号化キーを使って既定で保管時に暗号化されており、暗号化をオフにすることはできません。キーの種類は選べます。AWS 所有のキー(既定、無料)、AWS マネージドキー、カスタマーマネージドキーです。転送中のデータは HTTPS/TLS で保護されます。

保管時の暗号化が対象とするもの

暗号化は、暗号化されたテーブルが耐久メディアに保存するものすべてに適用されます。プライマリキーを含むテーブル本体、ローカルおよびグローバルセカンダリインデックス、ストリーム、グローバルテーブル、バックアップです。ただし、テーブルにソートキーがある場合、範囲の境界を示すソートキーの一部は、テーブルのメタデータに平文で保存される点に注意してください。

3 つのキーの選択肢

  • AWS 所有キー — 既定です。DynamoDB が所有・管理し、追加料金はかかりません。
  • AWS マネージドキー — 自分のアカウントに保管され、AWS KMS が管理します(KMS の料金が発生します)。
  • カスタマーマネージドキー — 自分で作成・所有・ローテーションし、アクセスを完全に制御できます(KMS の料金が発生します)。

キーの種類は、コンソール、CLI、API からいつでも切り替えられます。

「KMS の料金が発生します」の実際の金額

AWS は料金が発生するとだけ述べ、値付けは読者に委ねます。だから人は、毎月数百万リクエストをさばくデータベースにリクエストごとの課金がかかると思い込みます。そうではありません。暗号化のドキュメントは具体的です。"DynamoDB doesn't call AWS KMS for every DynamoDB operation. The key is refreshed once every 5 minutes per caller with active traffic."

これは自分で検算できる算数に落ちます。継続的なトラフィックを持つ呼び出し元 1 つは 1 時間に 12 回リフレッシュするので、730 時間の 1 か月では次のようになります。

  • リクエスト: 12 × 730 = 8,760 回の KMS 呼び出し、10,000 件あたり $0.03 で $0.026
  • キー自体: カスタマーマネージドキーで 月 $1、時間割りです。AWS マネージドキーには月額のキー料金はなく、リクエスト分の課金のみです。

つまり、忙しいテーブルに付けたカスタマーマネージドキーの費用は月およそ $1.03 で、リクエスト側はトラフィックが増えてもほとんど動きません。同じテーブルを叩くアプリケーションインスタンスが 50 個なら 438,000 回、$1.31 です。もし DynamoDB が操作ごとに KMS を呼んでいたなら、月 2 億リクエストをさばくテーブルには $600 が上乗せされていたことになります。

カスタマーマネージドキーを選ぶ前に、もう 1 つ織り込んでおく価値があります。キーを無効化したり削除をスケジュールしたりすると、テーブルは Inaccessible 状態になり、DynamoDB が 7 日を超えてキーに到達できないと、テーブルはオンデマンドバックアップへアーカイブされ、その分が課金されます。

アプリケーションからは透過的

DynamoDB は読み取り時にデータを透過的に復号します。暗号化されたテーブルを扱うためにコードを変える必要はなく、クエリはそのまま動き、レイテンシも同じ一桁ミリ秒の範囲に収まります。個々の属性値をアプリケーションから出る前にエンドツーエンドで保護したい場合、AWS は AWS Database Encryption SDK によるクライアントサイド暗号化も提供しています。

さらに詳しく

バックアップも暗号化されています。その仕組みはバックアップと PITR のガイドを参照してください。テーブルのコスト見積もり(KMS は別建てです)は料金計算ツールで行え、暗号化されたテーブルを参照するにはDynoTable をダウンロードしてください。復号はデータがクライアントに届く前に AWS が処理します。

参考資料

最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。コストのセクションで用いた KMS のリフレッシュ間隔と価格は 2026-07-28 に取得しました。

Console なしで DynamoDB を扱う

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

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