AWS・Google Cloud コラム

  • よくわかるクラウド
  • 請求
  • AWS
  • コスト削減

Amazon RDSとは?AWSデータベース管理サービスの料金や特徴を解説

データの効果的な使い方が、ビジネスの成否を左右する時代です。しかし、日々増えるデータを考えると、常に使いやすいように保管するのは難しく、都度データベース用のサーバーの増設などの対応に追われることになります。Amazon RDSは、利用中のデータベースサーバーと連携させつつ、自社で設備投資することなく、クラウド上でRDB(リレーショナルデータベース)が構築できます。さらに既存のオンプレミスのデータベースとも連携させ、より拡張性と安全性を確保したコストパフォーマンスの高いデータベースシステムにすることができるのです。
本記事では、Amazon RDSのサービスの特徴を主に料金やプランなども含めて解説していきます。

Amazon RDS(リレ-ショナルデータベースサービス)とは?

Amazon RDS(Amazon Relational Database Service)は、クラウド上で運用されるマネージド型のRDBMS(リレーショナルデータベース管理システム)サービスです。

リレーショナルデータベース管理システムRDBMSとは?

RDBMS(Relational DataBase Management System)とは、SQLを使用して、リレーショナルデータベース(RDB)を管理するためのソフトウェアを指します。
RDBは、データを複数の表形式で管理し、それぞれの表間の関係を定義することにより、データ間の関連性を扱うことができるデータベースのことです。多くの企業では、その規模に関わらず、日常的にRDBが使用されています。
RDBMSサービスの代表的な製品には、オラクルの「Oracle Database」、IBMの「IBM Db2」、マイクロソフトの「Microsoft SQL Server」があります。オープンソースとして無料で公開されているものではMySQLやPostgreSQLがあります。

AWS RDSは運用管理の負担低減がメリットのマネージド型サービス

Amazon RDSはマネージド型のサービスで、データベースの利用に必要な環境構築や運用管理をAWS側で行ってくれます。Amazon RDSの利用開始時は以下の作業が自動化されており、ユーザーは自社で設備投資することなく、クラウド上でデータベース構築ができます。

  • ハードウェアなどインフラの準備
  • OSインストール
  • ミドルウェアインストール
  • データベースの作成

利用開始後は以下のような運用作業が自動化されます。

  • 日次バックアップ
  • 障害時のスタンバイ機への切り替え(マルチアベイラビリティーゾーン利用の場合)
  • OS、ミドルウェアのパッチ適用

データベース利用に伴うのハードウェアの設定と構築、運用管理をAWSに任せられる「マネージド型サービス」はユーザーの運用負荷やコスト低減が図れます。自社のシステムリソースだけでなく、人材リソースも少なくてすむような運用も可能となります。

Amazon RDSで利用可能なRDBMSと特徴(Aurora、MySQL、PostgreSQLなど)

Amazon RDSでは、Aurora、MySQL、PostgreSQL、MariaDB、Oracle、Microsoft SQL Server など複数のデータベースエンジンを利用できます。対応エンジンは追加・更新されるため、最新情報はAWS公式ページをご確認ください。
利用できるRDBMSとそれぞれの特徴を簡単に紹介します。

オススメ!RDSで利用可能なRDBMS 1.Amazon Aurora

AWSが提供しているリレーショナルデータベースです。MySQL および PostgreSQL と互換性があり、商用利用も可能なパフォーマンスを低コストで利用できます。

以下の特徴があります。

  • MySQL互換エディション/PostgreSQL互換エディションを選択でき、既存アプリの変更を最小限に導入できます。
  • 性能面では、ワークロードによっては標準のMySQLと比べて最大5倍、標準のPostgreSQLと比べて最大3倍のスループットを実現できるとされています。
  • リードレプリカ(Aurora Replicas)を最大15個まで追加でき、障害時にはリードレプリカを昇格させてフェイルオーバー先として利用できます。
    ※Aurora以外のRDSでもリードレプリカは作成できますが、障害時の自動フェイルオーバーは主にMulti-AZ構成(スタンバイ)で担保します。リードレプリカ数の上限はエンジンにより異なり、例としてMySQL/PostgreSQL/MariaDB/SQL Serverは最大15、Oracleは最大5です。
  • ストレージは利用量に応じて自動的に拡張され、最大容量はエンジン/バージョンにより異なります(最大256TiB)。
    ※Aurora以外のRDSのストレージ上限もエンジンにより異なり、例としてDb2/MySQL/MariaDB/PostgreSQLは最大64TiB、Oracle/SQL Serverは追加ボリュームにより最大256TiBまで拡張可能です。

RDSで利用可能なRDBMS 2.PostgreSQL

オープンソースのリレーショナルデータベースとして多くの企業に選ばれてきました。オブジェクトリレーショナルデータベースのため、大規模なデータベースで複雑なクエリを利用する場合にオススメで、多くの機能と高い拡張性を備えています。

RDSで利用可能なRDBMS 3.MySQL

世界で最も人気が高く、広く利用されているオープンソースのリレーショナルデータベースであるMySQLはナレッジも多く、初心者が利用しやすいデータベースです。

RDSで利用可能なRDBMS 4.MariaDB

MySQL のデベロッパーがMySQLをベースに作成した人気の高いオープンソースのリレーショナルデータベースです。

RDSで利用可能なRDBMS 5.Oracle

Oracle社が開発・リリースしている商用のリレーショナルデータベースで、高機能、高性能で堅牢性が高く、世界的に高いシェアを持っています。Amazon RDSではライセンス込みのインスタンスを利用する。もしくは、ライセンスを持ち込むBring–Your–Own–License (BYOL)も選択できます。

RDSで利用可能なRDBMS 6.Microsoft SQL Server

Microsoft が開発したリレーショナルデータベース管理システムで、Windowsとの親和性が高く、Windows Server で利用されることが多い。別名「SQL Server」や「MS SQL」とも呼ばれています。

Amazon RDSのメリットと特徴・機能

AWSによるマネージドサービスだからメンテナンスが不要で構築も簡単

Amazon RDSはアプリケーションレイヤー以上はユーザー側が、それ以外はAWSが責任範囲となるマネージドサービスのため、電源、ネットワーク、サーバーメンテナンスなどの物理的な管理だけでなく、OSやミドルウェア、バックアップなどの領域もAWSが管理します。そのためオンプレミスと比較するとデータベースの導入・運用の負担が大幅に削減されます。

Amazon RDSのストレージ容量を変更できる「スケーラビリティ」でオンプレミスより手軽

オンプレミスでは、データの増加に合わせてサーバーを追加する、また、ピークに合わせて設備を用意するとコスト高になるなど、キャパシティプランニングは重要なテーマであると同時に、難しく厄介なものでした。

Amazon RDSは、ストレージ容量の拡張(増やす)を比較的手軽に行えるのが大きな特長です。事前に負荷増加が見込まれる場合は、ストレージの増設を計画的に適用できます。また、空き容量が一定の基準を下回ったら自動的に拡張する、といった自動スケールの設定も可能です。一方で、割り当て済みストレージの縮小(減らす)は原則できない点に注意が必要です。ストレージ容量を小さくしたい場合は、スナップショットから新しいインスタンスを作成するなど、移行を伴う手順で対応します。

このようにAmazon RDSは「増やす方向」のスケーラビリティに強みがあるため、将来の増加を見越した過剰サイジングを減らし、運用負荷を下げやすくなります。

データベース管理に重要な自動/手動バックアップ(スナップショット)と復元機能

自動バックアップは1日1回、最大35日間まで取得でき、バックアップの開始時刻も指定でできるので、ワークロードの少ない時間帯を設定することも可能です。初回はフルバックアップを行いますが、2回目以降は差分のみのバックアップとなります。

マルチアベイラビリティーゾーン(AZ)配置の場合、バックアップはスタンバイインスタンスから取得するので、バックアッププロセスにより負荷がかかった場合も、プライマリインスタンスへの影響はありません。

自動バックアップでは、トランザクションログが一定間隔でAmazon S3にアップロードされるため、保持期間内の時点にポイントインタイムリカバリが可能です。なお、復元できる最新時刻(Latest restorable time)は通常「現在時刻の数分前(おおむね5分前)」になります。

手動で任意のバックアップ(スナップショット)を作成することもできます。スナップショットは意図的に削除するまで保持されます。

データベース負荷分散のリードレプリカ機能で読み取り処理パフォーマンスを向上

プライマリーのデータベースを複製して、リードレプリカを作成し、読み込みの要求はリードレプリカに誘導します。これにより、プライマリーデータベースの負荷を下げ、読み取り処理のパフォーマンスを向上させることができます。更新に比べて参照頻度の高いデータベースの運用に向いています。

障害発生時もマルチAZ配置による冗長化とフェイルオーバーによる高可用性

普段利用するプライマリのデータベースインスタンスと物理的にも論理的にも独立した異なる別の領域であるAZにスタンバイインスタンスを複製するマルチAZ配置では、障害発生時に自動でスタンバイインスタンスがアクティブに切り替わりるフェイルオーバーが行われます。これにより、短いダウンタイムでサービスを利用し続けることができます。

Amazon RDSのデメリットをカバーするには?AWS運用代行サービスの活用もおすすめ

自社のオンプレミスのOSやミドルウェアで制約がある場合は、RDSとの連携の範囲がある程度限定されることがあります。また、IPアドレスの固定機能はなく、データベースへの接続にはDNSエンドポイントを使用して接続する必要があります。

こうした利用者のさまざまなOSやミドルウェアの環境下でも、AWSの別のサービスで補完や代替ができることもRDSを使ううえでの安心材料のひとつです。また、「マネージドサービス型」であることから、日常的なメンテナンスは不要ではありますが、AWS側での基盤に関わるメンテナンスがある場合は、利用者側に一部の操作や設定などの協力を依頼することになります。

RDSにはPostgreSQLの機能制限がある

PostgreSQLを利用する場合には以下の制限があるので注意が必要です。

  • PostgreSQLの同期レプリケーション機能が使用できない
  • 導入できるPostgreSQLの拡張機能に制限がある

RDSの運用や監視にお困りな方必見!

マンガでわかるAWS運用代行サービス

<マンガでわかる>
AWS運用代行サービスをわかりやすく解説!

こんなことを感じていませんか?

  • AWS運用のために社内のリソースが足りずに困っている
  • 障害発生時の対応に不安がある
  • 運用だけでなく構成のアドバイスもあると嬉しい

Amazon RDSのインスタンスタイプの比較と選び方

インスタンスを構成するCPU、メモリ、ストレージ、ネットワークキャパシティの組み合わせにより、さまざまなインスタンスタイプが用意されています。各種インスタンスタイプのスペック等の詳細につきましては、AWSサイトの「Amazon RDS インスタンスタイプ」をご確認ください。

ここでは、各インスタンスタイプの特徴やユースケースについて簡単に記します。

Amazon RDSのインスタンスを選択しようとすると例えば「db . t4g . micro」の文字列が出てきます。「db」はデータベースインスタンスであることを指し「t4」の「t」は用途別に命名された「インスタンスファミリー」、その数字「4」は「世代」を表していて、数が大きくなるほど新しく、「micro」はスペックの大きさを表してます。

RDSの命名ルール

Amazon RDSのインスタンスは大きく、汎用(一般用途向け)とメモリ最適化にわかれており、さらにその中でインスタンスタイプが細分化されています。

RDSの汎用インスタンスタイプ(一般用途向け)

T系(バーストパフォーマンス)インスタンス(T3/T4g など)

CPUクレジットにより、ベースラインレベルのCPU性能を維持しつつ、必要なときに一時的にCPU使用率をバーストできるインスタンスタイプです。開発・検証環境や、通常はCPU使用率が低〜中程度で、ときどきスパイクが発生するデータベースワークロードに向いています。
Amazon RDSでは、T3(db.t3.*)に加えて、Graviton2 ベースの T4g(db.t4g.*)も利用できます。T4g もベースライン未満のときにCPUクレジットを獲得し、必要に応じてバーストできます(長時間ベースラインを超えてバーストする場合は追加料金が発生する可能性があるため、継続的に高CPUになる用途では上位クラスも検討します)。
※AWS無料枠でRDSを試す場合は、Single-AZ の db.t3.micro / db.t4g.micro(MySQL/MariaDB/PostgreSQL)合計 750時間/月、SQL Server Express は Single-AZ の db.t3.micro 750時間/月などが例として案内されています。最新条件はAWS公式ページをご確認ください。

M6g、M5、M5d、M4ファミリー

提供される各リソース(コンピューティング、メモリ、ネットワーク)のバランスがとれており、さまざまなデータベースワークロードに適しています。

RDSのメモリ最適化のインスタンスタイプ

R6g、R5、R5b、R5d、R4ファミリー

汎用と比較して、搭載メモリサイズが増えており、メモリ負荷の高いデータベースワークロードに適しています。

X1e、X1ファミリー

高性能データベース、大規模アプリケーション、エンタープライズクラスのアプリケーション、およびインメモリアプリケーション用に最適です。

Z1dファミリー

インスタンスの中で最も高速で、高いコンピューティング性能と大容量メモリの組み合わせにより、電子回路設計のオートメーション、金融業における大容量コンピューティングやRDBに適しています。

Amazon RDSのストレージタイプと容量

データベース運用の効率化に影響するデータの転送速度は、以下の3種類のストレージタイプが用意されており、利用環境に適したものを選択できます。

RDSストレージタイプ 汎用SSD(gp3 / gp2)

汎用SSD(gp2)は、プロビジョニング容量 1GiB あたり 3 IOPS のベースライン(最小100 IOPS)で、条件により最大 16,000 IOPS まで拡大(バースト)できます。なお、現在は性能(IOPS/スループット)を容量と独立に設定できる gp3 も選択できます。

RDSストレージタイプ プロビジョンド IOPS SSD

SSD タイプのストレージの選択肢の 1 つ。I /O レイテンシーおよび継続する I/O スループットが必要となる I/O 重視のワークロードの要件を満たすように設計されています。データベースインスタンスごとに最大 256,000 IOPSを実現します。

RDSストレージタイプ マグネティック

ストレージの追加利用の場合は、汎用 SSD またはプロビジョンド IOPS を使うことが推奨されますが、下位互換性のためにマグネティックストレージもサポートしています。マグネティックストレージでの DB インスタンスのストレージ量の上限は、他のストレージタイプより少なくなります。HDDタイプのストレージで、データのアクセス頻度が低い場合や、高パフォーマンスの必要性がない場合など、比較的小さいワークロードに適しています。

Amazon RDSの料金体系 費用は利用分のみ

Amazon RDSは、基本的には利用しただけの料金の請求となります。料金体系についてはリーズナブルで、利用者を第一に考えている点を見てみましょう。

RDSの料金は従量課金制

Amazon RDSの課金は、インスタンスの起動時間、ストレージの使用料、データ転送量に対して行われます。マルチAZ配置の場合、スタンバイインスタンスの費用も発生するので、シングルAZに比べ料金はおおよそ倍になります。
また、バックアップはデータベースサイズを超えない部分については無料です。

インスタンス料金の詳細は AWSサイトの「Amazon RDS の料金」でご確認ください。

RDSで使用するRDBMSのライセンス費用

OracleやSQL Serverといった商用製品は、ライセンスを持ち込むことができて、その場合料金が安くなります。もちろん、ライセンスを持っていなくても、ライセンス込みでインスタンスを利用することも可能で、ライセンス費用も時間単位となるため、ユーザーはいつでも利用を停止することができます

インスタンスの停止中の時間単位の料金はなし(最大7日間)

Amazon RDSでは、インスタンスを1回に最大7日間停止することができます。
停止中、割り当てたストレージ、バックアップデータは課金されますが、インスタンスの時間単位の請求はされません。
※7日間を過ぎると自動で起動します。

RDS評価のための無償利用枠(お試し)あり

AWS無料枠(AWS Free Tier)は、アカウント作成時期やプランにより条件が異なります。以下は無料枠の例です。
※AWS無料枠(AWS Free Tier)の条件は、アカウント作成時期やプラン(Free Plan / Paid Plan)により異なる場合があります。最新条件はAWS公式の無料枠ページをご確認ください。

(例:RDSの無料枠)
・Single-AZ の db.t3.micro / db.t4g.micro(MySQL/MariaDB/PostgreSQL)合計 750時間/月
・Single-AZ の db.t3.micro(SQL Server Express)750時間/月
・汎用SSD(gp2)20GB/月
・バックアップストレージ:リージョン内のアクティブDBインスタンスのプロビジョニングストレージ合計の100%まで

どちらがお得?Amazon RDSのインスタンスタイプによる課金の特徴

AWSは、サービス全体で、2006年のサービス提供開始から129回以上の値下げをしており、Amazon RDSもそのような方針の下にあります。Amazon RDSにはオンデマンドインスタンスとリザーブドインスタンスの2つのインスタンスタイプがあり、長期で利用するシステムの場合は1年間や3年間の契約(予約)をすることで、大幅な割引が受けられる「リザーブドインスタンス」を利用することで費用を抑えることができます。リザーブドインスタンスを利用すると、使用状況が一定であれば、使用料金を最大69%削減できます。

オンデマンドインスタンスの特徴 契約期間の縛りなし

通常の料金形態での提供で契約期間のしばりはありません。初めて利用する場合や短期や急な利用などリソースの変動が大きくある場合にはこちらのインスタンスタイプの利用をオススメします。

リザーブドインスタンスの特徴 長期契約で割引も

1年もしくは3年の契約期間のしばりがあるかわりに、オンデマンドインスタンスと比較して安価に利用できるインスタンスタイプです。前払いなし、一部前払い、全前払いと支払い方法があり、前払いの割合が多いほどオンデマンドインスタンスからの割引率も高くなります。ただし途中でリソースを利用しなくなった場合にも利用期間中は料金を支払う必要があるため、長期利用が想定され、リソースに変動が少ない場合の利用がおすすめです。
例えば常時稼働する場合はベースのリソースにリザーブドインスタンスをあて、増減のある部分はオンデマンドインスタンスを利用するなどの使い分けが必要です。
割引オプションを利用時のオンデマンドインスタンスとリザーブドインスタンスの使い分け

Amazon RDSのストレージオプションの料金

汎用ストレージ(SSD)

プロビジョニングしたストレージ容量に対して課金されます。

プロビジョンド IOPS (SSD) ストレージ

ストレージの使用料とIOPSに対して課金されます。

Amazon RDSは拡張性とそのスピード対応が重要

オンプレミスでは機器の購入やソフトウェアの開発という工程を必ず経なければなりません。構築してみないと、最終的な確定機能や使いやすさを評価できないオンプレミスに比べると、Amazon RDSのようなクラウドシステムの利便性は大きいといえます。

IoTやAIが注目されるようになり、データはビジネス上の重要な要素となってきています。高まるデータの価値とその蓄積規模の拡大に、ストレージシステムが後手に回らないようにすることが大切です。
データを備蓄し活用するために、Amazon RDSで運用の負担を低減し、なおかつスケーラビリティと安全性を兼ね備えたデータベース開発環境を確保することが重要であるといえるでしょう。

RDS料金が安くなる!請求代行サービス

マンガでわかるAWS運用代行サービス

<マンガでわかる>
AWSリセール(請求代行)サービスを解説!

こんなお悩みや疑問はありませんか?
・AWSコストを削減しなければならない
・AWS請求代行を使いたいけれど複雑でわかりにくい
・どうしてAWSが割引になるのかわからないため不安

おすすめの記事

おすすめのカテゴリ