Amazon RDS(Relational Database Service)って何?
- AWSのマネージド型のリレーショナルデータベースサービス
- 6種類(Amazon Aurora、MySQL、MariaDB、Oracle、Microsoft SQL Server、PostgreSQL)のデータベースエンジンから選択可能
参考・リンクまとめ
Amazon Auroraって何?
- Amazonが開発したRDSファミリーの1種
- MySQL互換、PostgreSQL互換
- MySQLに比べて5倍のパフォーマンス、PostgreSQLに比べて3倍のパフォーマンス。また、3つのAZに跨って6つのレプリケーションを自動的に作成。ほかにも他のRDSが持っていない性能、機能あり。(後述)
参考・リンクまとめ
出題傾向
RDSはS3、EC2と並ぶ最頻出事項の一つとして、必ず、正確に理解した上で、傾向も把握しましょう。
そもそも、Amazon AuroraはRDSとは異なるロゴマークを持っていたりするので、Amazon RDSとは別物かと最初は思ってしまいますが、AuroraもRDSの一部です。Amazonによって開発されたものなので、Aurora以外のRDSよりも目立つように打ち出されており、性能もAuroraがその他RDSのデータベースに勝っています。
後述するとおりRDSファミリーはOracle、SQL Server、Maria DB(MySQL)等、複数のデータベースから構成されています。ただ、その全てのデータベースの特性を詳細に至るまで、抑える必要はありません。
「Amazon Auroraか、それ以外のデータベースか?」あるいは、「RDS全般(SQL) or DynamoDB(No SQL) or Redshift?」という形での出題になることがほとんどなので、学習時もその前提で、Amazon Aurora以外のサービス間での差異はほとんど意識する必要はありません。問題は「Auroraか否か」もしくは「RDSかRDS以外か」です。
また、RDSが持つ、様々な機能についても出題ポイントになりますので、確りと把握する必要があります。特に、リードレプリカやマルチAZ構成といった、性能や可用性に関する内容の出題は非常に多いです。
出題ポイント
RDSの種類
- 6種類(Amazon Aurora、MySQL、MariaDB、Oracle、Microsoft SQL Server、PostgreSQL)のデータベースエンジンから選択可能なリレーショナルデータベースのサービス
- マネージド型なので、データベースエンジンが乗るサーバーの構築、運用は必要ありません。
絶対暗記!!
-
リードレプリカのAuto Scaling
※1Storage Auto Scaling
※1リードレプリカ数 Amazon Aurora以外
・MariaDB
・MySQL
・Oracle
・PostgreSQL
・SQL Server✕ ○ 最大5個 Amazon Aurora ○ ○ 最大15個 - ※1:ややこしいのですが、RDSの場合、Auto Scalingは2種類あります。「Auto Scaling」と「Storage Auto Scaling」です。前者は負荷に応じてリードレプリカの数を増減(スケールアウト or スケールイン)させます。後者は、ディスク容量を自動的に増減させます。
リードレプリカ
- 読み取り専用のレプリケーション
このあたりが問われます!!
高いデータベースの負荷を緩和する場合の解決策の一つとして、問題文に登場することが非常に多いです。問題文で「現状は読み込みのパフォーマンスに問題がある」という内容であれば、リードレプリカがその解決策になるでしょう。
また、可用性(いかに稼働を止めないか)を高める解決策と混同させる問題も多いです。「リードレプリカ+マルチAZ」であれば「読み取りパフォーマンスと可用性向上の解決策」ですが、「リードレプリカ単体」であれば、これは「読み取りパフォーマンスのみの解決策」にしかならないことを理解しましょう。
なお、DBへの書き込みの処理はプライマリDBに行い、読み取りの処理はリードレプリカのDBで行う、といった形です。ただし、プライマリDBからリードレプリカへのレプリケーションは非同期に行われます。つまり、プライマリDBからリードレプリカへのレプリケーションには多少のラグが存在します。
RDSは最大5台、Auroraは最大15台のリードレプリカDBを構築することができます。
マルチAZ
- 異なるAZのDBにデータを複製し、可用性を向上させる
参考・リンクまとめ
このあたりが問われます!!
RDSの可用性を高めるための問いとして、出題されます。(前述するリードレプリカでも説明しているように、「パフォーマンス」の問題なのか、「可用性」の問題なのかははっきりと、区別しましょう。)
マルチAZ構成のDBは、プライマリとセカンダリのDBが同期レプリケーションを行っています。つまり、プライマリで更新された内容は即時、セカンダリのDBに反映されます。プライマリDBの障害が発生した場合は、即座にセカンダリにフェールオーバーします。
なお、RDSのメンテナンス(DBのバージョンアップなど)はセカンダリDBから開始され、セカンダリDBがプライマリに昇格後、旧プライマリDBでメンテナンス、という順序で行われます。順序についても、SAAやSAPを受験する際にはぜひ覚えておきましょう。
また、上記のリードレプリカとマルチAZは併用することが可能です。つまり、プライマリDBとは異なるAZにリードレプリカを配置することが可能です。
手動・自動バックアップ
- RDSでは自動・手動のバックアップを行うことが可能。
- 自動バックアップも(DB)スナップショットも、バックアップしたデータ(スナップショット)はS3に保存される。
このあたりが問われます!!
バックアップ先はS3になり、かつ、そのS3上のバックアップデータには保存期間を設定することができ、その設定期間以上時間が経過すると自動的に、データが削除されることも問われることがあります。
バックアップの保存期間はデフォルト7日間、最大35日間です。期間について出題されることがあります。
なお、自動で作成されたスナップショットは、RDS削除と同時に削除されます。一方で、手動で作成したスナップショットはRDS削除と同時に削除されないので、覚えておいてください。
メンテナンスウインドウ
- RDSでは自動でパッチの適用等を行うメンテナンスウインドウが設定される
- メンテナンスウインドウ中はRDSは読み書きができない
参考・リンクまとめ
このあたりが問われます!!
メンテナンスウインドウ中のRDSの挙動については抑えておく必要があります。
メンテナンスウインドウ中のメンテナンスは、場合によっては必ず実行され、回避ができません。例えば、セキュリティやRDSの信頼性にかかわるパッチの適用については、必ず実行されます。
メンテナンスウインドウの設定は、システムが利用されない夜間帯などに設定しておくか、マルチAZ構成にしておくか、対策をしましょう。
RDSのストレージタイプ
- RDSには、3種類(汎用SSD、プロビジョンドIOPS、マグネティック)の3種類のストレージタイプが選択できる
参考・リンクまとめ
- AWS公式:RDSインスタンスストレージ
このあたりが問われます!!
EBS同様、各ストレージタイプの用途について抑えておきましょう。種類もEBSと似ていますが、RDSでは種類が少なくなっています。
絶対暗記!!
ボリュームタイプの種類は以下の通り。
種類 | ディスクの種類 | 特徴 | 課金の特徴 |
汎用SSD | SSD | 安定したI/O性能が利用できる | 特になし |
プロビジョンドIOPS | SSD | gp2(汎用SSD)では対応できないI/O性能が求められる場合に利用する | 設定したI/O性能によって追加課金 |
マグネティック | HDD | 上記2種類よりも低コストだが、性能は低い | I/Oリクエストによって課金 |
AuroraとRDS
- AuroraはRDSと比べて、高度なマルチAZ構成と高可用性を備えている
参考・リンクまとめ
このあたりが問われます!!
RDSとAuroraは、AWSが提供するマネージドのDBという点では同じですが、性能や可用性、ディスク容量などに大きな違いがあります。『高い性能を維持したい場合』など、問題文で指定があったときにはAuroraを選択できるようにしておきましょう。
絶対暗記!!
AuroraとRDSの違いです。
「最大~」といった、上限について覚えておくと、RDSとAuroraで迷ったときには機械的に回答することができます。
特徴 | Aurora | RDS |
ストレージサイズ | 最大64TB | 最大32TB |
リードレプリカ数 | 最大15 | 最大5 |
レプリケーション | すべて非同期 | リードレプリカは非同期、マルチAZは同期 |
マルチAZ構成 | 3つのAZに2つずつのレプリケーションを構成する。 自動的にマルチAZ構成で起動する。 |
2つのAZを使用する。 |