AWS認定クラウドプラクティショナー向け Amazon RDS入門|Multi-AZ・リードレプリカ・バックアップの違いをやさしく整理
Amazon RDS(Amazon Relational Database Service)は、AWSでリレーショナルデータベースを運用するときの代表的なマネージドサービスです。AWS Certified Cloud Practitioner(CLF-C02)では、RDSの細かな構築手順よりも、「RDSとは何か」「EC2上のDBとの違い」「Multi-AZとリードレプリカの違い」「バックアップの考え方」を理解しているかが重要になります。
この記事では、初学者が混同しやすい点を中心に、試験対策に必要な範囲へ絞って分かりやすく整理します。
Amazon RDSとは何か
Amazon RDSは、AWSがデータベース基盤の多くを管理してくれるマネージド型のリレーショナルデータベースサービスです。利用者は主に、アプリケーションから使うデータベースの作成、接続、テーブル設計、SQLの最適化などに集中できます。
リレーショナルデータベースとは、表形式でデータを管理し、SQLで検索・追加・更新を行うデータベースです。例えば、次のような業務データに向いています。
- ECサイトの会員情報、注文情報、在庫情報
- 予約システムの顧客情報、予約履歴
- 社内システムの社員情報、申請情報
RDSで使える主なデータベースエンジン
Amazon RDSでは、Db2、MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Server、Amazon Auroraがサポートされています。
RDSが便利な理由
RDSの大きな利点は、データベース運用で負担になりやすい作業をAWS側が多く肩代わりしてくれることです。
- データベース基盤の用意:サーバーを一から組み立てなくてよい
- バックアップ機能:自動バックアップやスナップショットを利用できる
- 高可用性:Multi-AZ構成で障害に強くできる
- 読み取り性能の拡張:リードレプリカを作成できる
- メンテナンス負荷の軽減:基盤やソフトウェアの運用負担を減らせる
例えば、EC2に自分でMySQLを入れて運用する場合、OSやDBソフトの保守、バックアップ設計、障害時の復旧設計などを広く自分で考える必要があります。RDSを使うと、その一部をAWSの仕組みに乗せやすくなります。
ただし「全部AWS任せ」ではない
Cloud Practitionerでは、マネージドサービスでも責任が完全になくなるわけではないことを理解しておくことが重要です。AWSの共有責任モデルでは、AWSと利用者の責任範囲が分かれています。
RDSでは、AWSがデータベース基盤やインフラの多くを管理しますが、利用者は次のような点を引き続き考える必要があります。
- どんなテーブル設計にするか
- どの列にインデックスを付けるか
- SQLをどう改善するか
- 誰にどの接続権限を与えるか
- どの程度の可用性・性能が必要か
たとえば、RDSを使っていても、遅いSQLが自動的に高速になるわけではありません。クエリチューニングは利用者側の責任です。
試験で重要:Multi-AZとリードレプリカの違い
Cloud Practitionerで非常に重要なのが、「Multi-AZは高可用性のための仕組み」「リードレプリカは読み取り性能向上のための仕組み」という違いです。ここを逆に覚えると失点しやすくなります。
| 項目 | Multi-AZ | リードレプリカ |
|---|---|---|
| 主目的 | 高可用性・障害対策 | 読み取り負荷の分散・性能向上 |
| 複製方式 | 同期レプリケーション | 非同期レプリケーション |
| 読み取りに使えるか | 通常のMulti-AZ DBインスタンスのスタンバイは使えない | 読み取り専用として使える |
| 障害時 | 自動フェイルオーバー | 必要に応じて手動で昇格(Promote) |
| 覚え方 | 止まりにくくするための仕組み | 読む処理をさばくための仕組み |
Multi-AZとは
Multi-AZは、別のアベイラビリティーゾーン(AZ)にスタンバイDBを持ち、障害時に自動で切り替えられるようにする仕組みです。通常のMulti-AZ DBインスタンスでは、スタンバイはフェイルオーバー用であり、読み取りトラフィックの処理には使いません。
例えるなら、本番機の隣に、すぐ交代できる予備機を待機させておくイメージです。普段は予備機が表に出ませんが、本番側で障害が起きたときに自動で役割を引き継ぎます。
例えば、注文が止まると困る業務システムでは、読み取り性能よりも「落ちにくさ」が重要です。その場合は、まずMulti-AZを考えるのが自然です。
リードレプリカとは
リードレプリカは、プライマリDBの内容を別DBへ複製し、読み取り専用の接続先として使う仕組みです。更新内容は非同期で反映されるため、タイミングによってはレプリカ側のデータが少し古い可能性があります。
例えるなら、原本を1つ持ちつつ、閲覧専用コピーを増やして、参照処理を分散するイメージです。
例えば、商品検索、ランキング、集計画面など、読む処理が多いアプリケーションでは、プライマリに書き込みを集中させつつ、読み取りをリードレプリカへ逃がすことで負荷を分散できます。
試験での判断ポイント
- 障害対策・可用性向上が主題なら、まずMulti-AZを疑う
- 読み取りが多くてDBが重いなら、まずリードレプリカを疑う
- スタンバイは読み取り用ではないという点を混同しない
バックアップと復元
RDSでは、自動バックアップと手動スナップショットを使えます。Cloud Practitionerでは、次の2点を押さえると理解しやすくなります。
自動バックアップ
RDSのDBインスタンスでは、自動バックアップの保持期間を0日〜35日で設定できます。0日にすると自動バックアップは無効です。保持期間内であれば、ポイントインタイムリカバリ(PITR)により、過去の特定時点へ復元できます。
たとえば、朝10時に誤って重要データを削除してしまった場合、バックアップ保持期間内であれば「9時59分ごろ」の状態へ戻す、といった復元方法が可能です。
手動スナップショット
手動スナップショットは、必要なタイミングで明示的に保存しておくバックアップです。例えば、システム更新前や大きな変更前に取得しておくと、万一の切り戻し計画に役立ちます。
RDSとEC2上のDBの違いを初心者向けに整理
試験では、Amazon EC2に自分でDBを入れる方法と、Amazon RDSを使う方法の違いを問われることがあります。
| 観点 | EC2上でDBを自前構築 | Amazon RDS |
|---|---|---|
| OS管理 | 自分で考える範囲が広い | AWSに任せられる範囲が広い |
| DB基盤運用 | 自前で設計・運用 | マネージドで負担を軽減 |
| バックアップ | 自前設計が基本 | 仕組みを利用しやすい |
| 高可用性 | 自前設計が必要 | Multi-AZなどを使いやすい |
| SQL最適化 | 利用者の責任 | 利用者の責任 |
要するに、RDSは「データベースそのものを使わなくてよい」のではなく、「データベースを運用する基盤作業を減らせる」サービスです。
試験直前に覚えたい要点
- Amazon RDSは、AWSのマネージドなリレーショナルデータベースサービス
- RDSではDb2、MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Server、Amazon Auroraを扱える
- Multi-AZは高可用性のための仕組み
- リードレプリカは読み取り性能向上のための仕組み
- 通常のMulti-AZ DBインスタンスのスタンバイは、読み取りに使わない
- リードレプリカは非同期複製なので、少し古いデータになる可能性がある
- 自動バックアップとポイントインタイムリカバリを利用できる
- RDSでも、テーブル設計やSQL最適化は利用者側の責任
不確かな点の扱い
(1) 確実に言えること
- Amazon RDSはAWSのマネージドなリレーショナルデータベースサービスです。
- 通常のMulti-AZ DBインスタンスは同期スタンバイを持ち、障害時にフェイルオーバーします。
- 通常のMulti-AZ DBインスタンスのスタンバイは読み取りトラフィックには使えません。
- リードレプリカは非同期レプリケーションで、読み取り専用として利用できます。
- RDSのDBインスタンスでは、自動バックアップ保持期間を0〜35日で設定できます。
(2) 推測
- 初学者向け参考書や図解では、分かりやすさを優先して、RDSの構成図が簡略化されている場合があります。そのため、実際のドキュメント上の用語区分(Multi-AZ DBインスタンス、Multi-AZ DBクラスター、リードレプリカなど)よりも、図の表現が少し大まかになっている可能性があります。
- ただし、Cloud Practitioner対策としては、まず「高可用性はMulti-AZ」「読み取り性能はリードレプリカ」と整理する理解で十分な場合が多いです。
(3) 不明点
- 特定の参考書の図が、通常のRDS DBインスタンスを示しているのか、AuroraやMulti-AZ DBクラスターの要素を含めているのかは、その前後ページや注釈を確認しないと断定できません。
公式参照
- AWS Certified Cloud Practitioner 試験ガイド:https://docs.aws.amazon.com/pdfs/aws-certification/latest/cloud-practitioner-02/cloud-practitioner-02.pdf
- Amazon RDS の概要:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html
- Amazon RDS DBインスタンスと対応DBエンジン:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html
- Multi-AZ DBインスタンス:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZSingleStandby.html
- Multi-AZの概要:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
- RDSのフェイルオーバー:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.Failover.html
- リードレプリカ:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
- リードレプリカの昇格:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.Promote.html
- 自動バックアップの概要:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html
- バックアップ保持期間:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.BackupRetention.html
- ポイントインタイムリカバリ:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
- AWSの共有責任モデル:https://aws.amazon.com/compliance/shared-responsibility-model/
