簡単!5分で分かる、AWSのDBサーバ ”RDS”

AWSサービス
スポンサーリンク

システムを作るときに、データベースサーバを使うことが多いのではないのでしょうか。

AWSのリレーショナルデータベースのサービスはRDSとなります。

RDSを使ってみよう、そんな方がAWSの公式HPを見てみると

コウト

専門用語が多すぎてわかりづらい。。。

よし!AWSは来世に覚えよう!

と思いたくなるところです。

私も公式HPを見てもさっぱり理解できないので、色々なサイトを見ながら徐々に理解していきました。

色々なサイトを見て理解していくのも大変なので、このページ1枚でRDSの内容を5分でわかるようにまとめたいと思います。

このページでは、AmazonRDSの内容が理解でき、どのようなRDSを立てれば良いかがわかるようになります!
まずは結論です。

  • 選ぶべきデータベースエンジン:Amazon Aurora(ミドルウェアなどで制限がなければ)
  • 選ぶべきスペック
    • インスタンスタイプ:規模をもとに次から選択「db.t3.large、db.r5.large、db.r5.xlarge
  • 概算費用 :月2万〜6万
コウト

それでは早速Amazon RDSをわかりやすく解説していきます!

スポンサーリンク

Amazon RDS概要

Amazon Relational Database Service(Amazon RDS) は、名前の通り、AWSのリレーショナル・データベースサービスです。

最大の特徴はフルマネージドのデータベースサービスという点です。

フルマネージドという用語はAWSでの頻出ワードなので解説します。
フルマネージドは「コンピュータ障害監視・バックアップ・ソフトウェアのバージョンアップ」など「運用に関わる作業」をクラウド業者が行ってくれる形態のサービスです。

コウト

フルマネージドは「使うサービス以外の細かい運用業務はAWS側で行いますよ」というイメージです。

RDSのフルマネージドは「データベースを使うところは提供するので、バックアップとかOSのバージョンアップとかはこっちでやりますね」といった感じです。

RDSのメリットは下記の通りです。

RDSのメリット

  1. 数分で簡単に構築できる
  2. 高い可用性を実現
  3. 高パフォーマンスを実現
  4. 低い運用負荷
  5. 高セキュリティ

RDSのメリットを詳細に解説します。

メリット① 数分で簡単に構築

AWSの管理画面上で数クリックするだけで、DBを起動することができます。
また、選択するだけで下記のような高度な機能を実装できます。

【高度な機能】
• マルチAZデプロイメント
• リードレプリカ
• バックアップ(スナップショット)
• 監視(CloudWatch)
• 拡張モニタリング etc..

これらの機能を活用することで、多数のメリットを享受できます。

メリット② 高い可用性

DBを複数のAZに置く、マルチAZデプロイメント(Multi-AZ)機能を使うことで、高い可用性を実現できます。

マルチAZデプロイメントを使うと、AZ1つをPrimary、もう一つのAZをStandbyとなります。
通常はPrimaryを利用し、StandbyはPrimaryの内容が自動でコピーされて、同期されています。Primaryに問題があった場合に、Standbyに自動切り替えが行われます。(フェイルオーバー)

さらに、アクセスするDBの名称は変わらないまま切り替えが行われるため、アプリ側での対応は不要です。

【Primaryからの自動フェイルオーバー条件】

  • OSパッチまたはセキュリティ更新プログラムのメンテナンス期間
  • DBインスタンス障害
  • ネットワーク障害
  • DBインスタンスの変更
  • DBインスタンスが応答しない
  • DBインスタンスのストレージ障害
  • DB インスタンスを手動フェイルオーバー [Reboot with failover]の実行
コウト

こういう機能は必要だけど実現するのは面倒。

これがはじめから用意されているのが素晴らしいですね!

メリット③ 高パフォーマンス

RDSでは、1.リードレプリカ、2.スケールアップ、3.プロビジョニングIOPSで高いパフォーマンスを実現します。

1.リードレプリカ

リードレプリカ機能を利用し、読み取り専用DBを簡単に用意できます。
読み取り処理が多いシステムでは、読み取り専用DBを用意することで、本DBの負担を軽減できます。

2.スケールアップ

CPUとメモリが不足している場合、インスタンスタイプを変更するだけで、スケールアップすることができます。また、CPUとメモリだけでなく ディスクI/O帯域やネットワーク帯域も変更することができます。

3.プロビジョンドIOPS

RDS ストレージタイプをプロビジョンドIOPSにすることで安定した性能を維持することができます。

プロビジョンドIOPSの用語をわかりやすく分割してご説明します。

プロビジョンドIOPS = プロビジョニング × IOPS

プロビジョニングとは、ネットワークやコンピューターの設備などのリソースを提供できるよう予測し、準備しておくことです。

IOPSは「Input Output Per Second」で、「1秒当たりにディスクが処理できるI/O」です。例えば40,000IOPSであれば、1秒間に40,000回I/Oが行なえます。

つまり、プロビジョンドIOPSは「1秒間のI/Oの値を提供できるようにAWS側で準備しておく」といういみとなります。

通常はAWSの込具合により、スピードを保証しない「ベストエフォート」でサービスを提供していますが、プロビジョンドIOPSはスピードを保証してくれる強みがあります。

メリット④ 低い運用負荷

RDSを利用すると、自動的にsnapshotとトランザクションログでバックアップが取得されます。

snapshotは1日一回指定した時刻に取得され、保存日数は最大35日間です。また、手動で取得することも可能です。

トランザクションログは5分に一回の頻度で取得されます。

snapshotとトランザクションログで5分以上前の情報に戻す(リストア)ことが可能です。

メリット⑤ 高セキュリティ

RDSのアクセス制御機能、暗号化機能を使って、簡単に高セキュリティを実現します。

アクセス制御

セキュリティグループを使って、IP/ポートを指定してアクセス制御を行います。

DBインスタンスの暗号化

RDS作成時に設定をONにするだけで自動で暗号化/復号化することが可能です。(クライアントアプリケーションの変更は不要)

DBインスタンス、自動バックアップ、リードレプリカ、スナップショットが対象となります

コウト

暗号化機能が設定一つでできるのは嬉しい!

ここまで読んでRDSを使ってみたくてウズウズしてきた頃かと思いますが、少々お待ち下さい。

RDSは利用するにあたって、OSとスペックを選ぶ必要があります。

特にスペックはどう選べば良いか悩むポイントなので、選び方をまとめていきます。

選ぶべきデータベースエンジン

RDSではOracle、PostgreSQL、MySQL、MariaDB、SQL Serverなどの標準的なデータベースエンジンをサポートしています。また、Amazon AuroraというAmazon独自のDBも用意されています。

アプリケーション、ミドルウェアなどでデータベースエンジンが決まっているケースもありますが、フラットに選びたい場合はこちらを参考にして下さい。

どんなデータベースエンジンを選べばよいの?

コウト

選ぶべきデータベースエンジンはこちらです!

おすすめデータベースエンジン

Amazon Aurora

Amazon Auroraを推すなんて、Amazonの回し者か!?

と思った方もいるでしょう。そんなことはありません!

Amazon AuroraはMySQLと互換性のあるバージョンと、PostgreSQLと互換性のあるバージョンがあります。MySQLの最大5倍、PostgreSQLの最大3倍高速です。

選ぶべきスペック

データベースエンジンを決めたところで、次はスペックです。

スペックはインスタンスタイプとストレージの2つを決める必要があります。

選ぶべきインスタンスタイプ

コウト

選ぶべきインスタンスタイプはこちらです!

選ぶべきインスタンスタイプ

小規模(3000PVまで):db.t3.large
中規模(3万PVまで):db.r5.large
中規模(30万PVまで):db.r5.xlarge

インスタンスタイプ説明

インスタンスタイプは下記の構成になっています。

■詳細
・インスタンスファミリー
インスタンスのカテゴリです。最初は汎用のtかmをおすすめします。

・インスタンス世代
インスタンスのバージョンで、数値が大きい方が最新です。最新が安くて性能が良いです。

・追加機能
追加機能です。基本は不要だと思います。

・インスタンスサイズ
スペックの高さを表します。「small>medium>large」のようにスペックが上がります。

インスタンスタイプ例

2021年11月時点ではインスタンスファミリーと世代はm6gが最新です。

システムの規模によって変わりますが、まずはdb.t3.large〜db.r5.xlargeを選べば問題ありません。

ストレージ

ストレージ容量

DBのストレージは100GB程度ではないでしょうか。もし不足するようであれば、あとから追加できるため、足りなかったらあとから追加しましょう。

概算費用

AWSは使った分だけ支払いが発生する従量課金です。

ここまでご紹介してきたOS、スペックを元に計算すると概算費用は下記の通りになります。

  • 選ぶべきデータベースエンジン:Amazon Aurora(ミドルウェアなどで制限がなければ)
  • 選ぶべきスペックインスタンスタイプ:規模をもとに次から選択「db.t3.large、db.r5.large、db.r5.xlarge
  • 概算費用 :月2万〜6万

概算費用

 

種類小規模
(3000PV想定)
中規模 – 小
(3万PV)
中規模 – 大
(30万PV)
インスタンス¥20,988¥29,383¥58,765
ストレージ¥1,454¥1,454¥1,454
合計¥22,441¥30,836¥60,219

終わりに

いかがでしたでしょうか。

RDSも多機能でAWSの奥が深すぎて驚かされます。

すべてを一気に覚えるのは難しいので、おすすめ構成を元に構築していただければと思います。

RDSを利用したおすすめ構成は別ページでまとめていますので、下記をご参照ください。

参考URL

本ページは下記のサイトを参照させて頂きました。

https://aws.amazon.com/jp/rds/aurora/pricing/