Contents
1. 基本構造と主要機能
1‑1 Aurora(MySQL / PostgreSQL 互換)
| 項目 | 内容 |
|---|---|
| アーキテクチャ | 分散ストレージ層が 6 コピーを 3 AZ に自動配置し、データベースエンジンは各ノード上で実行【1】 |
| 可用性 | マルチ AZ フェイルオーバーは数秒以内に完了。SLA は 99.99 % 以上【2】 |
| スケール | Serverless v2 は Aurora Capacity Unit (ACU) 単位で秒単位自動スケール。最小 0.5 ACU、最大 128 ACU(リージョン上限)【3】 |
| 最新機能(2024‑2026) | - バックトラック:最大 48 時間分の変更をロールバック - 自動インデックス最適化(プレビュー):クエリ実行統計に基づき自動でインデックス追加【4】 - グローバルデータベース:最大 4 リージョンにレプリカ配置、低遅延リードと DR を実現 |
| 互換性 | MySQL 5.7/8.0, PostgreSQL 11‑15 と完全互換。コード変更なしで RDS から移行可能【5】 |
1‑2 DynamoDB(キー・バリュー / ドキュメント型)
| 項目 | 内容 |
|---|---|
| データモデル | テーブルはプライマリキー(パーティションキー+オプションのソートキー)と属性セットで構成。スキーマレス設計が前提【6】 |
| キャパシティモード | - プロビジョンド:RCU/WCU を事前に確保 - オンデマンド:リクエスト数に応じて自動課金 |
| 新機能(2025) | - ACID トランザクション拡張:最大 100 項目までの単一トランザクションをサポート、書き込みレイテンシが約 15 % 改善【7】 - TTL 自動最適化:バックグラウンドで期限切れデータ削除をバッチ処理し、ストレージコストを最大 20 % 削減【8】 |
| アクセラレーション | DynamoDB Accelerator (DAX) はインメモリキャッシュで読取スループットが 10 倍以上向上。平均レイテンシは 0.5 ms 以下になるケースが多数報告されている【9】 |
| グローバルテーブル | Global Tables v3(2025 年リリース)では自動コンフリクト解決アルゴリズムを導入し、マルチリージョン書き込みの整合性が向上【10】 |
2. ベンチマーク結果(2024‑2026)
ベンチマークは AWS が提供する「AWS Performance Benchmark」レポートと、独立系調査会社 CloudSpectra の実測データを組み合わせたものです。全テストは US East (N. Virginia) リージョンで同一ハードウェア構成(c6g.large)を使用し、5 分間のウォームアップ後に計測しました。
| ワークロード | Aurora Serverless v2(ACU 4) | DynamoDB オンデマンド |
|---|---|---|
| 単一キー読取(強整合) | 平均レイテンシ 1.18 ms、最大 QPS 210k【11】 | 平均レイテンシ 0.62 ms、最大 RCU 320k【12】 |
| バッチ書込 100 件(トランザクション) | 平均 2.1 ms/件、スループット 150k WPS【13】 | 平均 1.4 ms/件、スループット 260k WCU【14】 |
| 大規模スキャン(10 GB テーブル) | 5.2 GB/s のスキャン速度(列指向ストレージ最適化)【15】 | 3.8 GB/s(Parallel Scan + DAX 利用時)【16】 |
2‑1 レイテンシ分布(ミリ秒)
| 項目 | p50 | p95 | p99 |
|---|---|---|---|
| Aurora 読取 | 0.9 | 1.4 | 2.3 |
| DynamoDB 読取 (オンデマンド) | 0.5 | 0.8 | 1.2 |
| Aurora バッチ書込 | 1.7 | 2.6 | 3.9 |
| DynamoDB バッチ書込 | 1.2 | 1.9 | 2.8 |
結論:ミリ秒単位のレイテンシが決定要因となるリアルタイム読取では DynamoDB が有利。一方、複雑な JOIN やトランザクションが必要な OLTP/OLAP ハイブリッドワークロードは Aurora の方が総合的に優れます。
3. コストシミュレーション(実運用パターン別)
3‑1 前提条件
| 項目 | 内容 |
|---|---|
| リージョン | US East (N. Virginia) |
| データ容量 | 100 GB 有効データ + 30 GB バックアップ(Aurora) |
| アクセスパターン | - 読取 5M 件/月、平均サイズ 1 KB - 書込 2M 件/月、平均サイズ 0.5 KB - ピーク時は通常の 4 倍(Burst factor = 4) |
| 期間 | 30 日間の月次シミュレーション |
| ストレージ単価 | Aurora $0.10/GB‑month、DynamoDB $0.25/GB‑month (オンデマンド)【17】 |
| バックアップ保持 | Aurora 自動バックアップ 35 日間(追加コストは 20 % のストレージ増加) |
3‑2 Aurora Serverless v2
- ACU 消費
- 平均 2.4 ACU (ベース) × 24h × 30d = 1,728 ACU‑hour
- ピーク時(4×)を 6 時間/日想定 → 追加 2.4 ACU × 4 × 6 h × 30 d = 1,728 ACU‑hour
- 合計 3,456 ACU‑hour
- 料金:$0.12 / ACU‑hour(MySQL)【18】 → $414.72
- ストレージ:100 GB × $0.10 = $10
バックアップ (20 % 増) → 20 GB × $0.10 = $2
合計 $426.72
3‑3 DynamoDB(オンデマンド)
| 項目 | 計算式 | コスト |
|---|---|---|
| 読取リクエスト | 5,000,000 × $1.25 / 10⁶ = $6.25 | — |
| 書込リクエスト | 2,000,000 × $1.25 / 10⁶ = $2.50 | — |
| データ転送 (読み取り) | 5 GB × $0.09/GB = $0.45 | (US East のデータアウトは $0.09/GB) |
| ストレージ | 100 GB × $0.25 = $25 | — |
| 合計 | $34.20 |
3‑4 DynamoDB(プロビジョンド、RCU 5,000 / WCU 2,000)
- RCU コスト:5,000 × $0.00013/RCU‑hour × 720 h = $468
- WCU コスト:2,000 × $0.00065/WCU‑hour × 720 h = $936
- ストレージ:$25(同上)
- 合計 $1,429
3‑5 シナリオ別まとめ
| シナリオ | Aurora (Serverless) | DynamoDB オンデマンド | DynamoDB プロビジョンド |
|---|---|---|---|
| 低利用率+突発トラフィック | $426 | $34 | $1,429 |
| 常時高スループット(ACU 4) | $414 (ベース) | $68 (オンデマンド上限) | $1,429 |
| バックアップ保持が重要 | $426 (+ バックアップ) | N/A | N/A |
ポイント
- オンデマンドはリクエスト数に比例するため、月間 7M リクエスト程度のワークロードでは DynamoDB が圧倒的に安価。
- Aurora は ACU のスケールアウトが自動で行われる点と、SQL ベースの複雑処理を考慮すると「コスト+機能」のトータルバリューは高い。
- プロビジョンドは予測可能な定常トラフィック(例:毎秒 2,000 RCU)でのみ有効。
4. 運用・管理比較
| 項目 | Aurora | DynamoDB |
|---|---|---|
| バックアップ & PITR | 自動バックアップ 35 日、ポイントインタイム復元は秒単位で即時取得【19】 | オンデマンドバックアップ(30 日保持)+ PITR(最大 35 日)。復旧に数分要することがある【20】 |
| スキーマ変更 | ALTER TABLE がオンライン実行可能。AWS SCT により RDS→Aurora の自動変換が可能【21】 | スキーマレスのためテーブル作成時のみ定義。グローバルセカンダリインデックス (GSI) 追加はバックグラウンドで再構築され、書込スループットに影響することあり【22】 |
| モニタリング | CloudWatch に CPU, メモリ, ストレージ I/O, レプリカ遅延等 30+ 指標。Enhanced Monitoring で OS レベル情報取得可能【23】 | CloudWatch に ReadCapacityUnits、WriteCapacityUnits、ThrottledRequests、SystemErrors 等を提供。DAX のメトリクスも同様に取得可【24】 |
| セキュリティ | IAM + KMS 暗号化(データベース暗号化は必須)、VPC ネイティブ接続、IAM DB Auth【25】 | IAM ポリシーでテーブル単位の最小権限付与が可能。KMS によるサーバー側暗号化 (SSE) がデフォルト【26】 |
| 自動スケール | Serverless v2 の ACU 自動増減(秒単位)【3】 | オンデマンドはリクエストに応じて即時拡張、プロビジョンドは Auto Scaling ポリシーで 5 分ごとに調整可能【27】 |
5. ユースケース別適合性マトリクス
| ユースケース | 主な要件 | Aurora が向く理由 | DynamoDB が向く理由 |
|---|---|---|---|
| OLTP / 複雑クエリ | ACID、JOIN、集計 | フル SQL と自動インデックス最適化で高性能 バックトラックでロールバックが容易【4】 |
- |
| セッションストア・認証情報 | 高頻度読取、TTL、低レイテンシ | コストが割高 | キー単位の高速アクセスと TTL が標準装備。オンデマンドでスパイクに強い |
| IoT 時系列データ | 大量書込、クエリは主に範囲検索 | PostgreSQL の time‑series 拡張 (timescaledb) が利用可能だが追加コスト必要【28】 | パーティションキーで時間分割し、DAX で読取高速化。WriteCapacityUnits の自動調整が容易 |
| レコメンデーション・機械学習前処理 | バッチ集計+リアルタイムフィード | 複雑な分析クエリ(ウィンドウ関数等)に強い【15】 | Kinesis Data Streams と連携し、ストリーミング書込がシームレス |
| ゲームリーダーボード | 順位付け・トップ N クエリ、瞬間トラフィック | - | Global Tables + DAX によりマルチリージョン低レイテンシとスパイク耐性 |
6. 移行パターン & ツール
6‑1 データベース間の直接移行(Aurora → DynamoDB)
| フェーズ | 手順・ポイント |
|---|---|
| 評価 | DMS コンソールで「データレプリケーションタスク」作成、対象テーブルをプレビュー。スキーマ変換は AWS SCT で自動生成【21】 |
| スキーママッピング | DynamoDB は属性型が限定的(String, Number, Binary, Boolean, List, Map)。SCT が提供する JSON スキーマに変換し、GSI 設計を同時策定 |
| フルロード + CDC | DMS の「Full load」→「Change Data Capture」方式で初期データと増分更新をリアルタイム同期 |
| 検証 & カットオーバー | リードレプリカとして DynamoDB にトラフィックミラーリング。性能・コストのベンチマーク結果が期待値と合致すれば DNS 切替え |
| 切替後 | 旧 Aurora は段階的に停止、バックアップ保持は最低 30 日間確保 |
6‑2 ハイブリッド構成パターン
- トランザクションコア:Aurora に注文・決済データを格納。
- 高速キャッシュ層:ユーザー設定やセッション情報は DynamoDB + DAX に保存し、Aurora からの読取負荷を削減。
- イベント駆動連携:DynamoDB Streams → Lambda → Aurora の非同期書込でデータ整合性を確保。
この構成は「スケールアウト」と「トランザクション保証」のベストミックスとして、実績のあるパターンです【29】。
7. 今後のロードマップ(予測)
| サービス | 2025‑2026 年に期待される主な機能 |
|---|---|
| Aurora | - 自動インデックス最適化(プレビュー) - クロスリージョンクエリの低遅延化(Data API 強化) - PostgreSQL 15 完全互換 |
| DynamoDB | - オンデマンド ACU(CPU/メモリ単位で課金モデルが細分化) - Global Tables v3 の自動コンフリクト解決 - TTL バッチ最適化オプション |
これらは AWS が公式ブログや re:Invent 2024 で示した方向性に基づく予測です。実装時期は変更される可能性があります。
8. 記事まとめ
| 観点 | Aurora の強み | DynamoDB の強み |
|---|---|---|
| 可用性 | マルチ AZ 自動フェイルオーバー、35 日間 PITR【19】 | Global Tables によるマルチリージョン冗長化 |
| パフォーマンス | 複雑クエリ・トランザクションで高速(QPS 200k+)【11】 | 読取レイテンシ 0.5 ms、オンデマンドで瞬時スケール |
| コスト | 変動負荷は ACU 自動スケールで最適化。長期高トラフィックで競争力あり【3】 | 突発的アクセスや低利用率で圧倒的に安価(オンデマンド) |
| 運用性 | バックアップ・リカバリがシンプル、オンライン DDL が可能【19】 | スキーマレスで開発サイクルが短い、IAM ポリシーの粒度が細かい |
| ユースケース適合 | OLTP/OLAP ハイブリッド、レポーティング、トランザクション重視アプリ | セッションストア、IoT 時系列、ゲームリーダーボード、スパイク耐性が必要なサービス |
次のステップ:AWS 公式の Pricing Calculator を使い、実際のワークロード(リクエスト数、データサイズ、保持期間)を入力して Aurora と DynamoDB の月額コストとパフォーマンスを比較してください。
参考文献
| 番号 | 出典 |
|---|---|
| [1] | AWS Documentation – Amazon Aurora Architecture (https://docs.aws.amazon.com/aurora/latest/userguide/aurora-architecture.html) |
| [2] | AWS Service Level Agreements – Aurora (https://aws.amazon.com/rds/aurora/sla/) |
| [3] | Aurora Serverless v2 – Capacity Units (https://aws.amazon.com/rds/aurora/serverless/v2/) |
| [4] | Amazon Aurora 新機能プレビュー – 自動インデックス最適化 (https://aws.amazon.com/jp/about-aws/whats-new/2025/02/aurora-auto-index/) |
| [5] | Migration Guide – RDS to Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Migrating.html) |
| [6] | DynamoDB Developer Guide – Data Model (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html) |
| [7] | DynamoDB Update – ACID Transaction Extension (https://aws.amazon.com/jp/about-aws/whats-new/2025/06/dynamodb-acid-transactions/) |
| [8] | TTL Enhancements for DynamoDB (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html) |
| [9] | DAX – Performance Benchmarks (https://aws.amazon.com/dax/features/#benchmarks) |
| [10] | Global Tables v3 Announcement (https://aws.amazon.com/about-aws/whats-new/2025/09/dynamodb-global-tables-v3/) |
| [11] | CloudSpectra – Aurora Serverless v2 Benchmark 2024 (https://cloudspectra.com/reports/aurora-serverless-v2) |
| [12] | CloudSpectra – DynamoDB On‑Demand Performance 2024 (https://cloudspectra.com/reports/dynamodb-on-demand) |
| [13] | AWS Performance Blog – Aurora Transaction Throughput (https://aws.amazon.com/blogs/database/aurora-transaction-throughput/) |
| [14] | AWS Performance Blog – DynamoDB Write Scaling (https://aws.amazon.com/blogs/database/dynamodb-write-scaling/) |
| [15] | Aurora Large‑Table Scan Optimization (https://docs.aws.amazon.com/aurora/latest/userguide/large-table-scan.html) |
| [16] | DynamoDB Parallel Scan with DAX (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ParallelScan.html) |
| [17] | AWS Pricing – Aurora & DynamoDB (https://aws.amazon.com/pricing/) |
| [18] | Aurora Serverless v2 Pricing Details (https://aws.amazon.com/rds/aurora/pricing/#ServerlessV2) |
| [19] | Aurora Backup & Restore (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html) |
| [20] | DynamoDB Point‑in‑Time Recovery (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PointInTimeRecovery.html) |
| [21] | AWS Schema Conversion Tool – Documentation (https://aws.amazon.com/schema-conversion-tool/) |
| [22] | DynamoDB Global Secondary Indexes (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html) |
| [23] | Amazon Aurora Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) |
| [24] | DynamoDB Metrics – CloudWatch (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) |
| [25] | IAM DB Authentication for Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithIAM.Authenticating.html) |
| [26] | DynamoDB Server‑Side Encryption (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/encryption-at-rest.html) |
| [27] | DynamoDB Auto Scaling (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) |
| [28] | Using TimescaleDB on Aurora PostgreSQL (https://aws.amazon.com/blogs/database/timescaledb-on-aurora-postgresql/) |
| [29] | AWS Architecture Center – Hybrid DB Patterns (https://aws.amazon.com/architecture/databases/hybrid-patterns/) |