1. ホーム
  2. 記事一覧
  3. 【AWS】リレーショナルデータベースAmazon RDSの利点

2022.12.29

【AWS】リレーショナルデータベースAmazon RDSの利点

AWS RDSとは

Amazon RDS(Relational Database Service)とは、AWS(Amazon Web Services)で使用できるリレーショナルデータベースサービスのことです。セットアップ、スケーリングなど保守・運用をAWS側が機能として提供しています。データベースはシステムにおいて可用性・耐障害性・高セキュリティが求められる非常に重要な要素ですが、開発者にとってその構築や運用、管理は容易ではありません。そんなデータベースの管理に必要な機能をAWSは提供しています。

特徴・利点

RDSには以下のような特徴があります。

  • 構築、管理が簡単
  • 可用性・耐久性
  • 高速化・パフォーマンスの向上
  • スケーラビリティ
  • コスト効率の高さ
  • セキュリティ

構築、管理が簡単

従来のオンプレミス環境でデータベースを構築しようとすると場所や機材の選定・確保やセキュリティの構築など莫大なコストがかかります。RDSを利用することで、MySQLやOracleといったDBエンジンの選択や保存容量などの必要な設定を行うだけで数分でデータベースを起動することができます。

可用性・耐久性

マルチAZ構成を選択することでマスター(プライマリ)DBスレーブ(セカンダリ)DBが作成されます。スレーブDBとはマスターDBのバックアップのようなもので、マスターDBの変更を即座に反映(同期レプリケーション)することができます。万が一障害が起きた時はスレーブDBがマスターDBに昇格するフェイルオーバーを自動で行ってくれる機能がRDSにはあり、データベースの稼働を継続させることができます。また、スナップショットやトランザクションログの自動バックアップ機能もあります。このようにRDSは可用性・耐久性に優れています。

高速化・パフォーマンスの向上

RDSはリードレプリカを作成できます。リードレプリカとは読み取り専用のデータベースのことです。マスターからレプリケーションされた読み取り専用DBを用意することで、大量に読み込みが行われるサービスにおいて負荷を軽減し、パフォーマンスを高めることができます。

スケーラビリティ

RDSは必要に応じてストレージを選ぶことができますが、もしも保存容量が足りなくなった際にはインスタンスタイプを変更するだけで簡単にスケールアップすることができます。また空き容量が少なくなってくると自動で増やしてくれるオートスケーリングを設定することもできます。

コスト効率の高さ

RDSの料金体系は、使用した分だけ料金が発生する従量課金制です。さらに初期費用は無料で、使わなくなったデータベースは削除することで料金は発生しません。一年または三年で契約することで大幅な割引を受けられるリザーブドインスタンスという制度もあります。またデータベースの停止・起動が可能で常にデータベースを実行する必要がないため、開発・テスト用途でのデータベース使用もより経済的に行うことができます。サービスに最適な料金体系を選択できるコスト効率の高さはRDSの特徴です。

高いセキュリティ

RDSではアクセス制御や暗号化機能により指定されたユーザーのみがDBにアクセスできるようにすることが可能で、高セキュリティを実現しています。

料金の仕組み

RDSの料金体系はインスタンスの起動時間保存データ容量データ転送量に応じて決まります。起動時間料金はインスタンスタイプ・DBエンジンにより異なります。オートスケーリングを設定している場合はスケールアップにより料金が上がるため注意が必要です。保存しているデータ容量にかかる料金もストレージの種類・DBエンジンにより異なります。例えばMySQLの場合は以下のようになります。(※2022/12現在)インスタンスタイプの変更、AZ配置により時間料金が変動、ストレージタイプにより1GBあたりの料金が変動、さらにDBエンジンによっても料金が異なります。

料金タイプ
起動時間ごとの料金1時間あたり0.208USDdb.t3.medium、マルチAZ
保存データ容量ごとの料金1ヶ月あたり0.276USD/GB汎用SSDストレージ、マルチAZ

こちらの料金は定期的に変更されます。各DBエンジンの正確な料金はAmazonRDSの公式サイトにて確認してみましょう。

また、すでにOracleやSQL Serverなどの商用データベースを使用している場合はBYOL(Bring Your Own License)という自前のライセンスを持ち込むことができるプランも利用することができます。

種類

RDSで選ぶことができるデータベースエンジンは以下の通りです。

  • Oracle
  • MySQL
  • MariaDB
  • SQL Server
  • PostgreSQL
  • Amazon Aurora

Oracle

Oracleはフルマネージド型のDBエンジンです。セットアップから運用、スケーリングまでRDSが管理できます。ライセンス込みもしくはBYOLRDSで実行可能です。RDSでは以下のバージョンに対応しています。(2022/12現在)

  • Oracle Database 21c (21.0.0.0)
  • Oracle Database 19c (19.0.0.0)
  • Oracle Database 12c Release 2 (12.2.0.1)(サポート終了のため非推奨)
  • Oracle Database 12c Release 1 (12.1.0.2)(サポート終了のため非推奨)

MySQL

MySQLは世界で最も人気のあるオープンソースのDBエンジンです。操作がシンプルで開発規模の大小問わず幅広い場面で使用されています。RDSでは以下のバージョンに対応しています。(2022/12現在)

  • MySQL 8.0
  • MySQL 5.7

MariaDB

MariaDBはMySQL5.5から派生したDBエンジンです。MySQLとの互換性の高さはもちろん、MySQLにはない新機能の追加や改善が行われているという特徴があります。RDSでは以下のバージョンに対応しています。(2022/12現在)

  • MariaDB 10.6
  • MariaDB 10.5
  • MariaDB 10.4
  • MariaDB 10.3(サポート終了予定のため非推奨)
  • MariaDB 10.2(サポート終了のため非推奨)

SQL Server

SQL Serverはフルマネージド型のDBエンジンです。Microsoft社開発でWindowsとの相性が良く、Windows環境でよく使われています。RDSでは以下のバージョンに対応しています(2022/12現在)

  • SQL Server 2019 CU16 15.0.4236.7
  • SQL Server 2017 CU30 14.0.3451.2
  • SQL Server 2016 SP3 GDR 13.0.6419.1
  • SQL Server 2014 SP3 CU4 12.0.6439.10

PostgreSQL

PostgreSQLはMySQLに次いで人気の高いオープンソースのDBエンジンで、オブジェクト指向が取り入れられたオブジェクトリレーショナルデータベースです。RDSでは以下のバージョンに対応しています。(2022/12現在)

  • PostgreSQL 14
  • PostgreSQL 13
  • PostgreSQL 12
  • PostgreSQL 11
  • PostgreSQL 10(サポート終了予定のため非推奨)

Amazon Aurora

Amazon AuroraはAmazonが開発・提供するMySQLおよびPostgreSQLと互換性のあるRDS向け独自のDBエンジンです。標準的なMySQLに比べて5倍、標準的なPostgreSQLに比べて3倍の処理能力があります。また、リードレプリカを最大15個設置することができます。MySQLやPostgreSQLのリレーショナルデータベースとしての一貫性を持ちながら、リードレプリカ等クラウド向けに最適化された特徴があります。

無料枠

RDSには無料利用枠があります。AWSのアカウントを新規で作成した日から12ヶ月間、以下の条件で無料でRDSを利用することができます。

  • MySQL、MariaDB、PostgreSQLの場合: Single-AZ db.t2.micro、db.t3.micro、db.t4g.micro インスタンスで750 時間/月
  • SQL Server Express Editionの場合: Single-AZ db.t2.micro インスタンスで750 時間/月
  • 20 GB の汎用 (SSD) DB ストレージ
  • 20GBのスナップショットと自動バックアップ

RDS proxy

Amazon RDS Proxyとは、RDS向けの高可用性フルマネージド型データベースプロキシです。プロキシとは「代理」という意味があり、RDS proxyはアプリケーションとRDSの中間に配置されてデータベースへの接続を効率化してくれます。特徴の一つとして、コネクションプールを確立・管理することで既存の接続を利用することができ、多数の同時接続による負荷の軽減を実現しています。またフェイルオーバー高速化によりデータベース障害に対する回復力と安全性が高くなっています。RDS proxyが対応しているDBエンジンはMySQL、PostgreSQL、SQL Serverです。

まとめ

Amazon RDSはデータベースの運用負荷を軽減できるサービスです。RDSを利用することでデータベース管理の負担は大幅に減ります。データベースエンジンの種類ごとの特徴を押さえ、またサービス・目的に応じたインスタンスタイプやストレージタイプ、オプションを選択することも必要です。マルチAZ構成、リードレプリカなどによる障害対策、性能対策を講じることも重要になってきます。AWSが提供する機能の内容や仕組みをしっかり押さえて最適なアーキテクチャを検討できるといいでしょう。

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事