AWSのRDBサービス徹底比較!Aurora・RDS MySQL・RDS SQL Serverの違いと選び方
このブログはこんな人向け
- AWSでRDB(リレーショナルデータベース)を使いたいが、どれを選べばいいか迷っている方
- AuroraやRDS(MySQL, PostgreSQLなど)の違いが分からず困っている方
- 料金や性能、運用性など様々な観点で比較したい方
この記事で得られること
- AWSで提供されている主要なRDBサービスの違いが分かる
- 目的やユースケースに応じた選び方のヒントが得られる
- 比較表で一目で特徴を把握できる
前提知識
- AWSの基本的なサービス利用経験がある
- RDBの基礎用語(インスタンス、スケーリング等)が分かる
目次
- はじめに
- AWSで使えるRDBサービス一覧
- 比較観点の説明
- サービスごとの特徴まとめ
- 比較表
- ユースケース別おすすめパターン
- まとめ
- 参考リンク・公式ドキュメント
1. はじめに
AWSでは複数のRDBサービスが提供されており、どれを選ぶべきか迷うことが多い上に、違いが分かりにくいです。
本記事では、特に「MySQLはOSS(オープンソース)系RDBの代表」、「SQL Serverは商用ライセンス系RDBの代表」として位置づけ、Aurora・RDS MySQL・RDS SQL Serverを中心に、さまざまな観点で比較し、選定のヒントをまとめます。
2. AWSで使えるRDBサービス一覧
- Amazon Aurora(MySQL互換・PostgreSQL互換)
- Amazon RDS for MySQL
- Amazon RDS for MariaDB
- Amazon RDS for Oracle
- Amazon RDS for SQL Server
(本記事ではAurora, RDS MySQL, RDS SQL Serverを中心に解説)
3. 比較観点の説明
- 料金
- 互換性
- 最大ストレージ
- フェイルオーバー
- RTO/RPO
- リードレプリカ
- クロスリージョン
- サーバーレス
- 独自機能
- ライセンス
- 監査ログ
- 運用性
- DMS移行
- バージョン選択肢
4. サービスごとの特徴概要
Aurora
- AWS独自の高性能RDB。MySQL/PostgreSQL互換エンジンあり。
- ストレージ自動拡張、最大128TB。Aurora Global Databaseで複数リージョン対応。
- マルチAZ・自動フェイルオーバー標準対応。RTO/RPOが短い。
- 高速なリードレプリカ(最大15台)、クロスリージョンレプリカ。
- サーバーレス(Aurora Serverless v2)対応。
- データ暗号化(保存/転送)、IAM認証、VPC分離、監査ログ対応。
- 自動メンテナンス、CloudWatch監視、パッチ適用も自動化。
- DMSによる移行が容易。MySQL/PostgreSQL互換。
- 料金はRDSより高めだが、性能・可用性・運用性重視ならおすすめ。
RDS MySQL
- オープンソースMySQLをマネージドで提供。
- Auroraより安価。リザーブドインスタンスでコスト最適化可能。
- マルチAZ、リードレプリカ(最大5台)対応。
- ストレージ最大64TB。
- データ暗号化(保存/転送)、IAM認証、VPC分離、監査ログ対応。
- 自動バックアップ、手動/自動メンテナンス、CloudWatch監視。
- DMSによる移行が容易。MySQL Community/Enterprise互換。
- バージョン選択肢が多く、OSS互換性重視やコスト重視なら選択肢。
RDS SQL Server
- Microsoft SQL Serverをマネージドで提供。
- 商用DBのためライセンス費用が発生し、AuroraやMySQLより高価。リザーブドインスタンスでコスト最適化可能。
- マルチAZ構成や自動バックアップ、フェイルオーバーに対応。RTO/RPOも短縮可能。
- リードレプリカはDBミラーリングやAlways On可用性グループで実現(一部制限あり)。
- ストレージ最大16TB。
- データ暗号化(保存/転送)、IAM認証、VPC分離、監査ログ対応。
- 自動メンテナンス、CloudWatch監視、パッチ適用も自動化。
- DMSによる移行が容易。Standard/Enterprise/Expressなど複数エディション対応。
- SQL Server独自の機能(SSIS, SSRS, Windows認証など)が利用可能。
- 既存のSQL Server資産やWindows環境との連携が必要な場合に有力な選択肢。
リーダー/ライターとリードレプリカの違い
RDBでは「ライター(書き込み用)」と「リーダー(読み取り専用)」の役割が分かれています。ライターはデータの更新を担当し、リーダーは主に参照・分析などの読み取り負荷分散に使われます。
「リードレプリカ」はリーダー専用の複製インスタンスで、書き込みはできませんが、読み取り性能の向上やバックアップ用途に活用されます。フェイルオーバー時にはリードレプリカをライターに昇格させることも可能です(自動/手動はサービスによる)。
5. 比較表
5.1 全体比較表
| 観点 | Aurora | RDS MySQL | RDS SQL Server |
|---|---|---|---|
| 料金 | やや高い(リザーブド可) | 安い(リザーブド可) | 高い(ライセンス/リザーブド可) |
| 互換性 | MySQL/PostgreSQL互換 | MySQL | SQL Server |
| 最大ストレージ | 128TB(自動拡張) | 64TB | 16TB |
| フェイルオーバー | 自動 | 手動/自動 | 手動/自動 |
| RTO/RPO | 短い | 標準 | 標準〜短縮可能 |
| リードレプリカ | 最大15台/高速 | 最大5台 | ミラーリング/Always On(制限あり) |
| クロスリージョン | Global DBで自動・高速。DR用途推奨 | 非同期リードレプリカ。手動昇格・運用負荷 | 一部エディションのみ。構成・運用複雑 |
| サーバーレス | Aurora Serverless v2 | なし | なし |
| 独自機能 | Global DB/Serverless等 | OSS準拠 | SSIS/SSRS/Win認証等 |
| ライセンス | 不要 | 不要 | 必要 |
| 監査ログ | 対応 | 対応 | 対応 |
| 運用性 | 自動メンテ/監視/パッチ | 自動メンテ/監視/パッチ | 自動メンテ/監視/パッチ |
| DMS移行 | 容易 | 容易 | 容易 |
| バージョン選択肢 | 限定 | 多い | 多い |
5.2 特記事項
リードレプリカの比較
-
Aurora:
- 最大15台までのリードレプリカを高速に作成可能。
- レプリカから自動的に昇格(フェイルオーバー)できる。
- 同一リージョン内でのスケールアウトや高可用性に最適。
-
RDS MySQL:
- 最大5台までのリードレプリカを作成可能。
- レプリカからの昇格は手動で実施。
- 主に読み取り負荷分散やバックアップ用途。
-
RDS SQL Server:
- リードレプリカ相当の機能はDBミラーリングやAlways Onで一部実現可能(エディションや構成に制限あり)。
- AuroraやMySQLのような簡易なリードレプリカ機能はない。
フェイルオーバーの仕組み
-
Aurora:
- マルチAZ構成が標準。ストレージ層が分離されており、リーダー/ライターの自動切替が高速。
- フェイルオーバー時は数十秒〜1分程度で自動的に新しいライターインスタンスへ昇格。
- DBクラスターエンドポイントで自動的に切替。
-
RDS MySQL:
- マルチAZ構成時、プライマリ障害時にスタンバイへ自動切替。切替にはDNSの伝播も含め1〜2分程度。
- シングルAZの場合は自動フェイルオーバーなし。
-
RDS SQL Server:
- マルチAZ構成時、Always On可用性グループやDBミラーリングで自動切替。切替時間は1〜2分程度。
- エディションや構成によって利用できる可用性機能が異なる。
Auroraのフェイルオーバー挙動
Auroraクラスタには「ライター(書き込み用)」インスタンスが1台、「リーダー(読み取り専用)」インスタンス(リードレプリカ)が最大15台まで存在できます。
フェイルオーバー発生時、ライターが障害になると、リードレプリカの中から自動的に新しいライターが選出されます(自動昇格)。
昇格後、残りのリードレプリカは引き続きリーダーとして動作します。
これにより、アプリケーション側はクラスタエンドポイントを利用することで自動的に新しいライターへ接続できます。
クロスリージョンの比較
-
Aurora:
- Aurora Global Databaseで複数リージョンにレプリカを自動・高速に配置可能。
- セカンダリリージョンへのレプリケーション遅延は1秒未満(理論値)。
- 災害時はセカンダリをプライマリに自動昇格でき、クロスリージョンDR用途に最適。
-
RDS MySQL:
- クロスリージョンリードレプリカは「非同期」方式。レプリケーション遅延は数秒〜数十秒。
- 手動で昇格・切替が必要で、運用負荷が高くDR用途には注意が必要。
-
RDS SQL Server:
- 一部エディション・構成でのみクロスリージョンレプリカが可能。
- 構成や運用手順が複雑で、Auroraのような自動化・高速切替は不可。
RTO/RPOの目安
RTOやRPOは構成や設定によって大きく変動します。以下は代表的なパターンごとの目安です。
-
Aurora:
- 【マルチAZ・自動フェイルオーバー】
- RTO:数十秒〜1分
- RPO:0秒(同期レプリケーション)
- 【Aurora Global DB(クロスリージョン)】
- RTO:数分(リージョン昇格時)
- RPO:0秒〜数秒(リージョン間のレプリケーション遅延)
- 【マルチAZ・自動フェイルオーバー】
-
RDS MySQL:
- 【マルチAZ構成】
- RTO:1〜2分(DNS伝播含む)
- RPO:0秒(同期レプリケーション)
- 【クロスリージョンリードレプリカ】
- RTO:手動昇格・切替で数分〜十数分
- RPO:数秒〜数十秒(非同期レプリケーション)
- 【マルチAZ構成】
-
RDS SQL Server:
- 【マルチAZ/Always On可用性グループ】
- RTO:1〜2分
- RPO:0秒(同期レプリケーション)
- 【クロスリージョン(構成依存)】
- RTO:構成・手順による(数分〜十数分)
- RPO:同期/非同期設定や構成による
- 【マルチAZ/Always On可用性グループ】
6. ユースケース別おすすめパターン
- 高可用性・グローバル展開・RTO/RPO重視:Aurora
- OSS互換性やコスト重視:RDS MySQL
- サーバーレスで自動スケールしたい:Aurora Serverless
- 既存のSQL Server資産やWindows連携・商用機能重視:RDS SQL Server
7. まとめ
AWSのRDBサービスは、可用性・コスト・運用性・グローバル展開など、重視するポイントによって最適な選択肢が異なります。
Auroraは高可用性・自動化・グローバル対応に優れ、ミッションクリティカルな用途や世界規模のサービスに最適です。
RDS MySQLはコスト重視やOSS互換性を求める場合に有力で、RDS SQL Serverは既存の商用DB資産やWindows連携が必要な場合に適しています。
本記事の比較表や特記事項を参考に、要件や運用体制に合ったサービスを選定してください。設計時は公式ドキュメントや最新のAWSアップデートも必ず確認しましょう。