RDSとAuroraの違いとは?それぞれの特徴を徹底比較してみた
RDSとAuroraは似ている部分も多く、これまで何度調べてもすぐ忘れていたため、noteにまとめてみました!
本記事では、「コスト、メンテナンス、高可用性、バックアップ、フェイルオーバー、レプリカ、AZ、ストレージサイズ、デプロイオプション」といった観点で徹底比較しています。
そもそも「RDS」「Aurora」とは?
「RDS」「Aurora」はどちらも「リレーショナルデータベース」であり、データを表形式で管理するデータベースを表しています。
「Amazon Relational Database Service (Amazon RDS) 」は、AWSが提供するマネージドサービスです。様々なデータベースエンジンに対応しており、Oracle/MySQL/MariaDB/PostgreSQL/SQL Serverなどを選択できます。実はAmazon AuroraもRDSのうちの1つです。
「Amazon Aurora」は、MySQLおよびPostgreSQLと互換性があり、高い耐久性と優れたパフォーマンスを持つ高性能なデータベースです。それぞれのパフォーマンスはMySQLの最大5倍、PostgreSQLの最大3倍高速であるといわれています。
また、Aurora DBクラスターは、1つ以上のDBインスタンスと、データを管理するクラスターボリュームで構成されており、インスタンスとストレージとボリュームが分離している点が特徴的である。
本記事では、それぞれの細かな違いについて次の項目から見ていきます。
①維持にかかる費用
Amazon RDS:
- 時間単価がやや低い。
- 主に「インスタンス」と「ストレージ」の稼働時間による従量課金で料金が設定される。
- マルチAZ展開およびリードレプリカに追加料金が発生する。
Amazon Aurora:
- RDSよりも時間単価がやや高い。
- 「インスタンス」と「ストレージ」の稼働時間による従量課金に加え、I/Oリクエスト数による従量課金も設定される。
- 読み取り負荷が高いワークロードに対してコスト効果が高い。
- リードレプリカをAuto Scalingすることができ、必要な分だけレプリカを建てることで、無駄な課金を抑えることができる。
②メンテナンスコスト
Amazon RDS:
- 自動バックアップ、ソフトウェアパッチ適用、マイナーバージョンアップグレードが提供されている。
- メジャーバージョンアップグレードには一部手動の介入が必要。
Amazon Aurora:
- 完全管理型で、自動バックアップ、パッチ適用、アップグレードが提供されている。
- 管理オーバーヘッドが最小限で、ほとんどの管理タスクを自動で処理可能。
- レプリカをAutoScalingできるので初期見積もりにかける時間が削減可能。
- インスタンスタイプを指定せずに自動的にCPUやメモリをスケーリングするオプション(Aurora Serverless)があり、容量プロビジョニングやスケーリングに関する運用負荷が軽減される。
③高可用性
Amazon RDS:
- マルチAZ展開により高可用性と自動フェイルオーバーが提供されている。
- データについては、別々のAZで動作している。
Amazon Aurora:
- データについては、3つのAZにわたってコピーを最大6個保持することで高可用性を実現している。
- インスタンスについては、3 つのAZに最大 15 個のレプリカが作成可能。
④バックアップ
Amazon RDS:
- 自動バックアップは最大35日間保持可能。
- 手動スナップショットは無期限に保持可能。
- ポイントインタイムリカバリをサポート。(直近で5 分前まで、保持期間内の任意の時点にデータベースを復元させることが可能)
Amazon Aurora:
- 自動バックアップは最大35日間保持可能。
- 手動スナップショットは無期限に保持可能。
- ポイントインタイムリカバリに加え、指定した時間まで DB クラスターを「巻き戻し」できる「バックトラック」が使用可能。(ポイントインタイムリカバリは新規DBを作成して復元するが、バックトラックは新規でDBを作成しないためより短い時間で対処できる)
⑤フェイルオーバー
Amazon RDS:
- マルチAZ展開により自動フェイルオーバーを提供している。
- フェイルオーバーは通常1〜2分かかる。
Amazon Aurora:
- 3つのAZに作成した最大15個のレプリカの1つに自動でフェイルオーバーする。
- フェイルオーバーは通常30秒未満で完了する。
- フェイルオーバー中のアプリケーション性能には影響なし。
⑥レプリカ
mazon RDS:
- 同一または異なるリージョンでのリードレプリカをサポートしている。
- 最大5個までのリードレプリカが作成できる。
Amazon Aurora:
- 最大15個までのリードレプリカが作成できる。
- 読み取り負荷が高いアプリケーションに対して低遅延のリードレプリカを提供している。
⑦アベイラビリティゾーン(AZ)
Amazon RDS:
- マルチAZ展開により高可用性が確保できる。
- 各AZは独立して動作し、耐障害性を向上している。
Amazon Aurora:
- デフォルトで3つのAZにわたって動作している。
- Global Databse 機能があり、複数のリージョンにまたがったレプリケーションを構成することが可能。(クロスリージョンレプリケーションに比べ、レイテンシーは通常1秒未満)
⑧ストレージサイズ
Amazon RDS:
- 最大64TBまでのストレージが提供可能。
- ストレージオプションでは主に「プロビジョンド IOPS SSD」と「汎用 SSD」から選択が可能。
Amazon Aurora:
- 自動的にスケールし、最大128TBまで提供可能。
- ストレージオプションでは、「Aurora Standard」と「Aurora I/O 最適化」から選択が可能。
⑨デプロイオプション
Amazon RDS:
- MySQL、PostgreSQL、MariaDB、Oracle、SQL Serverなど、複数のデータベースエンジンから選択できる。
Amazon Aurora:
- MySQLとPostgreSQLに互換性がある。
- Serverless展開オプションを提供しており、自動起動、シャットダウン、スケールアップまたはスケールダウンすることが可能。
まとめ
Amazon AuroraはAmazon RDSのサービスの1つですが、その構成や機能の違いから、それぞれ異なるニーズに応じて優れた選択肢を提供しています。
データベースを選択する際には、これらの特徴の差分を踏まえ、アプリケーションの特定の要件を考慮しながら、最適なソリューションを選ぶことが重要となります。
【覚えるポイント】
Amazon RDS :複数のデータベースの種類から選択できる柔軟なデプロイオプションがあるが、Auroraに比べると管理コストが高めである。
Amazon Aurora :MySQLとPostgreSQLのみ選択可能であるが、高い可用性や高速なフェイルオーバー、自動管理してくれる点が特徴である。Global DatabseやバックトラックなどAurora特有の機能がある。
ALHについて知る
↓ ↓ ↓ 採用サイトはこちら ↓ ↓ ↓
↓ ↓ ↓ コーポレートサイトはこちら ↓ ↓ ↓
↓ ↓ ↓ もっとALHについて知りたい? ↓ ↓ ↓