勝手にAWS教室 7時間目:RDS
情報が古い場合があります。間違っている箇所がありましたらご教授いただけると幸いです。
AWSでデータベースを使うなら必ず出てくるのが Amazon RDS(Relational Database Service)です。
「EC2でMySQLを自分で立てればよくない?」と思った方、それとの違いこそがRDSの本質です。
先にまとめ
- RDSとは何か:データベース専用のマネージドサービス
- マルチAZ:自動でバックアップ機能付きの二重化
- リードレプリカ:読み取り専用のコピーを作って負荷分散
- リレーショナルDB:Excelの表のように行と列でデータを管理する
RDSとは何か
RDSとは、データベースの構築・運用をAWSに任せられるサービスです。
対応しているデータベースエンジンは以下の通りです。
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- SQL Server
- Amazon Aurora(AWS独自のエンジン)
EC2+自前DBとの違い
EC2にMySQLを自分でインストールする場合、次のことを自分でやる必要があります。
- OSとDBのアップデート・パッチ適用
- バックアップの設定と管理
- 障害時のフェイルオーバー対応
- スケールアップの作業
RDSではこれらを すべてAWSが管理 してくれます。開発者はSQL操作に集中できます。
自前DBは「自炊(材料の調達・調理・後片付けまで全部自分)」、RDSは「定食屋(注文するだけ・後片付けも店がやる)」のイメージです。
1. マルチAZ:壊れても自動で切り替わる
マルチAZ(Multi-AZ) は、別のアベイラビリティゾーンに自動でスタンバイ(予備機)を作る機能です。
仕組み
メインのDBが動いている間、別のAZにスタンバイDBが常に同期しています。メインが障害でダウンしても、自動でスタンバイに切り替わります(フェイルオーバー)。
飛行機のエンジンに例えると、マルチAZは「左右どちらかのエンジンが止まっても飛び続けられる」状態です。
| 項目 | シングルAZ | マルチAZ |
|---|---|---|
| 可用性 | 低い | 高い |
| コスト | 安い | 約2倍 |
| フェイルオーバー | 手動 | 自動 |
| 用途 | 開発・検証 | 本番環境 |
2. リードレプリカ:読み取り専用コピーで負荷分散
リードレプリカ は、読み取り専用のDBのコピーを別に作る機能です。
なぜ必要か
アクセスが集中すると、1台のDBに読み取りリクエストが殺到してパフォーマンスが落ちます。リードレプリカを作ると、アプリケーションの「読み取り」クエリをそちらに分散させられます。
レストランに例えると、プライマリDB(メイン)は「注文を受けて料理を作るシェフ」です。お客さんが増えると、シェフが注文対応とメニューの質問に追われてパンクします。
そこで「メニュー表(リードレプリカ)」を複数置いておけば、メニューの確認はお客さんが自分でできる。シェフは注文(書き込み)に集中できる、という仕組みです。
| 項目 | マルチAZ | リードレプリカ |
|---|---|---|
| 目的 | 可用性向上(障害対策) | 性能向上(負荷分散) |
| 読み取り利用 | 不可(スタンバイは待機のみ) | 可能 |
| 同期 | 同期(ほぼリアルタイム) | 非同期(わずかな遅延あり) |
3. RDSは「リレーショナルDB」
RDSが扱うのはリレーショナルデータベース(RDB)、つまりExcelの表のようにデータを行と列で整理して、テーブル同士を結びつけて管理するタイプのデータベースです。
一方で、AWSにはNoSQLと呼ばれる、テーブルの結合を使わずにシンプルに高速でデータを読み書きするタイプのデータベースサービス(DynamoDBなど)もあります。
今回は「RDSはリレーショナルDB(表形式で複雑な検索が得意)」ということだけ押さえておけばOKです。NoSQL系のサービスについては今後の回で詳しく紹介します。
まとめ
| 概念 | 比喩 | 一言ポイント |
|---|---|---|
| RDS | 定食屋 | DB運用をAWSに丸投げできる |
| マルチAZ | 飛行機の二重エンジン | 別AZに予備機・障害時に自動切替 |
| リードレプリカ | 閲覧カウンター | 読み取り専用コピーで負荷分散 |
| リレーショナルDB | Excelの表 | 複雑なSQL・結合クエリが得意 |
最後に
RDSは「DB運用をAWSに任せられるサービス」です。マルチAZで障害に備え、リードレプリカで読み取り負荷を分散する。この2つを押さえておけば、RDSは語れると思います。
現在までに投稿してきた「勝手にAWS教室」はこちらにまとめてあります。
興味がある方はご覧ください。



