「データベースって、自分でサーバーを立てて管理するもの?」「MySQLをAWSで使いたいけど、どうすればいいの?」
アプリケーション開発において、データベースは欠かせない存在です。でも、データベースサーバーの構築・運用は、初心者にとってハードルが高いですよね。
この記事では、AWSのRDS(アールディーエス)について、身近な例えを使いながらわかりやすく解説します。
RDSとは?一言でいうと「データベースのおまかせサービス」
RDS(Relational Database Service)とは、AWSが提供するフルマネージド型のリレーショナルデータベースサービスです。
もっと身近な例えで言うと、「データベースの賃貸マンション」のようなものです。
自分でデータベースサーバーを構築・運用するのは、一戸建てを建てて自分で管理するようなもの。土地の選定から建築、メンテナンス、セキュリティ対策まで、すべて自分でやる必要があります。
一方、RDSは管理人付きの賃貸マンション。入居(利用開始)すれば、建物のメンテナンスやセキュリティはマンション管理会社(AWS)がやってくれます。住人(開発者)は、部屋の中(データベースの中身)に集中できるのです。
RDSがやってくれること
RDSを使うと、以下のような面倒な作業をAWSに任せられます。
- インフラの構築:サーバーのセットアップ、OSのインストール
- パッチ適用:セキュリティアップデートの適用
- バックアップ:自動バックアップ、ポイントインタイムリカバリ
- 監視:メトリクスの収集、アラートの設定
- スケーリング:負荷に応じたリソースの増減
- 高可用性:マルチAZ構成による冗長化
開発者は、アプリケーションのロジックやデータ設計に集中できます。
RDSで使えるデータベースエンジン
RDSでは、複数のデータベースエンジンを選択できます。
| エンジン | 特徴 | こんな場合におすすめ |
|---|---|---|
| MySQL | 最も普及しているオープンソースDB | Webアプリ全般、WordPress |
| PostgreSQL | 高機能なオープンソースDB | 複雑なクエリ、地理情報システム |
| MariaDB | MySQLから派生したDB | MySQLの代替として |
| Oracle | エンタープライズ向けの商用DB | 既存のOracle資産がある場合 |
| SQL Server | Microsoft製の商用DB | .NET環境、Windows環境 |
| Amazon Aurora | AWS独自の高性能DB | 高いパフォーマンスと可用性が必要な場合 |
初心者の方には、MySQLまたはPostgreSQLがおすすめです。情報が豊富で、学習コストが低く、多くのWebアプリケーションで採用されています。
RDSの主要な機能
RDSには、データベース運用を楽にする機能が豊富に用意されています。
自動バックアップ
RDSは自動的にバックアップを取得してくれます。デフォルトで7日間(最大35日間)の自動バックアップが有効になっています。
さらに、ポイントインタイムリカバリという機能があり、過去の任意の時点の状態にデータベースを復元できます。「昨日の14時30分の状態に戻したい」といったことが可能です。
マルチAZ配置
マルチAZ(Multi-AZ)は、異なるアベイラビリティゾーンにスタンバイ用のレプリカを自動作成する機能です。
メインのデータベースに障害が発生した場合、自動的にスタンバイに切り替わります(フェイルオーバー)。これにより、システムの可用性が大幅に向上します。
本番環境では、マルチAZを有効にすることを強くおすすめします。
リードレプリカ
リードレプリカは、読み取り専用のコピーを作成する機能です。
データベースへのアクセスが増えてきたとき、読み取り処理をリードレプリカに分散させることで、メインのデータベースの負荷を軽減できます。
| 機能 | 目的 | 用途 |
|---|---|---|
| マルチAZ | 可用性の向上 | 障害時の自動フェイルオーバー |
| リードレプリカ | パフォーマンスの向上 | 読み取り負荷の分散 |
スケーリング
RDSでは、必要に応じてリソースを増減できます。
- 垂直スケーリング:インスタンスタイプを変更(CPUやメモリを増減)
- ストレージの拡張:ディスク容量を増加(縮小はできません)
- 水平スケーリング:リードレプリカを追加して読み取り性能を向上
RDSのインスタンスタイプ
RDSでは、用途に応じて様々なインスタンスタイプを選択できます。
| クラス | 特徴 | 用途 |
|---|---|---|
| db.t3 / db.t4g | バースト可能、低コスト | 開発環境、小規模サイト |
| db.m5 / db.m6g / db.m7g | バランス型 | 一般的な本番環境 |
| db.r5 / db.r6g / db.r7g | メモリ最適化 | 大量データ処理、キャッシュ |
| db.x2g | 超大容量メモリ | インメモリDB、大規模分析 |
「g」がつくインスタンス(db.t4g、db.m6gなど)は、AWS独自のGravitonプロセッサを使用しており、コストパフォーマンスに優れています。
初心者の方は、まずdb.t3.microやdb.t4g.microから始めるとよいでしょう。無料利用枠の対象にもなっています。
RDSのストレージタイプ
RDSでは、3種類のストレージタイプから選択できます。
| ストレージタイプ | 特徴 | 用途 |
|---|---|---|
| 汎用SSD(gp2/gp3) | コストとパフォーマンスのバランス | ほとんどのワークロード |
| プロビジョンドIOPS(io1/io2) | 高いI/O性能を保証 | 高負荷の本番環境 |
| マグネティック | 低コスト(旧世代) | アクセス頻度の低いデータ |
現在はgp3がおすすめです。gp2よりも低コストで、IOPSとスループットを個別に設定できます。
RDSの料金体系
RDSの料金は、主に以下の要素で決まります。
主な課金項目
- インスタンス料金:インスタンスタイプと稼働時間に応じた料金
- ストレージ料金:使用するストレージ容量に応じた料金
- I/O料金:データベースへの読み書き回数に応じた料金(一部のストレージタイプ)
- バックアップストレージ:自動バックアップの保存容量に応じた料金
- データ転送:AWSリージョン外へのデータ転送に応じた料金
コスト削減のヒント
- リザーブドインスタンス:1年または3年の契約で最大72%割引
- Gravitonインスタンス:同等性能で約20%コスト削減
- 開発環境は停止:使わない時間帯はインスタンスを停止
- 適切なサイズ選択:過剰なスペックを避ける
無料利用枠
AWSの無料利用枠では、以下のRDSリソースを12ヶ月間無料で使用できます。
- db.t2.micro または db.t3.micro インスタンス:750時間/月
- 汎用SSDストレージ:20GB
- バックアップストレージ:20GB
学習目的であれば、無料利用枠で十分に試すことができます。
RDSとAurora、どちらを選ぶ?
AWSには、RDSの他にAmazon Auroraというデータベースサービスもあります。
Auroraとは
AuroraはAWSが独自に開発した高性能データベースで、MySQLおよびPostgreSQLと互換性があります。
| 項目 | RDS | Aurora |
|---|---|---|
| パフォーマンス | 標準的 | MySQLの最大5倍、PostgreSQLの最大3倍 |
| 可用性 | マルチAZで99.95% | 99.99%(3つのAZに6つのコピー) |
| ストレージ | 最大64TB(エンジンによる) | 自動で最大128TBまで拡張 |
| 料金 | 比較的安価 | RDSより約20%高い |
| おすすめ | 小〜中規模、コスト重視 | 大規模、パフォーマンス重視 |
選び方の目安
- 学習目的・小規模サイト→ RDS(MySQL / PostgreSQL)
- 中規模の本番環境→ RDS または Aurora
- 大規模・高可用性が必要→ Aurora
- サーバーレスで使いたい→ Aurora Serverless
初心者の方は、まずRDSから始めて、必要に応じてAuroraへの移行を検討するとよいでしょう。
RDSを始める基本的な流れ
RDSでデータベースを作成する基本的な流れを紹介します。
- データベースエンジンを選択:MySQL、PostgreSQLなどから選ぶ
- テンプレートを選択:本番用、開発/テスト用、無料利用枠から選ぶ
- インスタンスの設定:インスタンスタイプ、ストレージを設定
- 接続設定:VPC、サブネット、セキュリティグループを設定
- データベースの認証情報:マスターユーザー名とパスワードを設定
- 追加設定:バックアップ、モニタリング、メンテナンスウィンドウを設定
AWSコンソールのウィザードに従えば、数分でデータベースを作成できます。
セキュリティのポイント
RDSを使う際に気をつけたいセキュリティのポイントを紹介します。
ネットワークの設定
- プライベートサブネットに配置:インターネットから直接アクセスできないようにする
- セキュリティグループで制限:必要なポート(MySQL:3306、PostgreSQL:5432など)のみ許可
- 接続元を限定:アプリケーションサーバーからのみ接続を許可
認証と暗号化
- 強力なパスワード:マスターパスワードは複雑なものを設定
- IAMデータベース認証:パスワードの代わりにIAMを使用(対応エンジンのみ)
- 保存時の暗号化:KMSを使用してデータを暗号化
- 転送中の暗号化:SSL/TLSで接続を暗号化
2025年のRDSトピック
RDSに関連する2025年の主なアップデートを紹介します。
Database Savings Plans
2025年12月、Database Savings Plansが発表されました。RDSとAuroraで利用でき、リザーブドインスタンスと同様にコスト削減が可能です。より柔軟な契約オプションとして注目されています。
RDS for PostgreSQL 18サポート
2025年11月、RDS for PostgreSQLがメジャーバージョン18をサポート開始しました。クエリパフォーマンスの向上、UUIDv7のサポート、可観測性の強化などが含まれています。
エンジンライフサイクルサポート日程の確認機能
2025年5月、API/CLIでデータベースエンジンのサポート期間を簡単に確認できる機能が追加されました。計画的なアップグレードに役立ちます。
まとめ
この記事で解説した内容をまとめます。
| 項目 | ポイント |
|---|---|
| RDSとは | フルマネージド型のリレーショナルデータベースサービス |
| 対応エンジン | MySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Aurora |
| 主要機能 | 自動バックアップ、マルチAZ、リードレプリカ、スケーリング |
| 初心者におすすめ | MySQL/PostgreSQL + db.t3.micro + gp3ストレージ |
| 無料利用枠 | db.t2/t3.micro 750時間/月、ストレージ20GB(12ヶ月間) |
| Aurora | 高性能が必要な場合の選択肢 |
| セキュリティ | プライベートサブネット配置、セキュリティグループ、暗号化 |
RDSを使えば、データベースの構築・運用の手間を大幅に削減できます。まずは無料利用枠で小さなデータベースを作成し、実際に触ってみることをおすすめします。
SKサービスでは未経験からのエンジニア転職をサポート
SKサービス株式会社では、完全未経験からエンジニアを目指す方を積極採用しています。
正社員として安定した環境で働きながら、さまざまなプロジェクトで実践経験を積むことができます。受託開発も手掛けており、スキルアップに応じてキャリアの幅を広げていける環境です。
「データベースを扱えるエンジニアになりたい」「インフラからアプリケーションまで幅広く学びたい」という方、まずはお気軽にご相談ください。