Amazon RDSというシステムはIT業界の他、大手企業などでも利用されています。これはAWSが提供しているデータベースサービスの一つで、システム構築の容易さと可用性の高さなどが特徴的であるといわれています。
Amazon RDSは具体的にどういうものか、利用できるデータベースの種類や料金例、そしてRDB on EC2との違い、可用性が高い理由などを基礎的な観点も交えながら紹介します。
Amazon RDSとは
Amazon RDSとは(Amazon Relational Database Service)の略称であり、AWS (Amazon Web Services) が提供するリレーショナル型のデータベース運用サービスのことです。多岐にわたるAWSのサービスの1つで情報統合性や効率性などの機能で優れています。Amazon RDSはAWS提供のサービスのためサーバが不要、そしてインストールやバックアップなど手間のかかる準備がなくてもデータベース環境を利用することが可能です。
Amazon RDSで利用できるデータベース
Amazon RDSで利用できる主なサービスには「PostgreSQL」「MySQL」「MariaDB」「Oracle」「SQL Server」「Amazon Aurora」の6つがあります。それぞれの特徴を紹介します。
PostgreSQL
PostgreSQLはオープンソースのリレーショナル型データベースです。オープンソース型ということもあり利用者も多く、世界で広く使われています。機能の豊富さや拡張性が高いなどの利点を持ち、それを活かしたバックエンド処理に適しているという特徴があります。
MySQL
MySQLもPostgreSQLと同じくオープンソースのリレーショナル型データベースです。基本的なデータベース管理にも適していてシンプルで使いやすいという特徴があるので世界的に最も広く利用されているデータベースソフトウェアの1つです。実際に数多くのWebサイトなどでも利用されています。
Amazon RDSはAWSのオプションからサービス利用することができます。MySQLの機能はAmazon RDSでもすべてが利用できるようになっており、既存で使用しているMySQLのツールなどは簡単にAmazon RDSへ適用できる強みがあります。そしてデータベースソフトウェアのアップデートやバックアップ管理などのメンテナンスに掛かるコストも抑えることが可能です。
MariaDB
MariaDBはMySQLがもとになって作られた比較的新しいデータベースで、これもオープンソース型のソフトウェアです。MariaDBはMySQLに近いものとなっていて操作性や使い方も似ているという特徴があります。他サービスとの特徴の違いは処理速度、セキュリティ性、拡張性の高さに優れている点です。MySQLとの互換性も高く、処理能力の高さから今後利用者が伸びることが予想されているソフトウェアです。
またPostgreSQL、MySQL、MariaDBはどれもオープンソースであるため、商用目的でなければ無料で利用できるという特徴もあります。
Oracle
OracleはOracle社が提供する世界で最初に採用されたRDBMSで、歴史あるデータベースソフトウェアです。それもあって世界でも広く利用されています。セキュリティ性が充実していることから信頼性も高く、多くの大手企業でも採用されるデータベースとなっています。例えば読み取りのタイミングで内容が異なることのないようにする読み取り一貫性、災害等によるデータ破損から守る堅牢性に優れた特徴があります。
Amazon RDS for Oracleについては下記の記事もご覧ください。
>>Amazon RDS Custom for Oracleで増えたOracle DBのAWS移行パス、それぞれの違いは?自社に最適な移行先は?
SQL Server
SQL ServerはMicrosoft社が提供するリレーショナル型データベースです。Windowsとの相性が良いという点が特徴的なソフトウェアで、WindowsサーバーやMicrosoft系の環境を使用している企業を中心に多く利用されています。
Amazon Aurora
Amazon Auroraは MySQL と PostgreSQL の完全な互換性を持つ、クラウド用に構築されたリレーショナル型データベースサービスです。他サービスとの違いとして、処理能力に優れているという特徴があります。公式サイトでは「Aurora は、商用グレードデータベースのパフォーマンスと可用性を 10 分の 1 のコストで提供します。」と記載があります。他にもAmazon VPCによるネットワーク分離や移動中データをSSL暗号化できるセキュリティ性の高さ、無停止のまま操作中にパッチ作業が行うことができるなどの利点があります。
機能と特徴(メリット)
Amazon RDSには、数多くのメリットといえる機能や特徴が存在します。本章では機能や特徴を具体的に解説します。
ソフトウェア自動パッチ作業
Amazon RDSでは、バックアップの実行やデータベースシステム強化のためのパッチ適用作業などが自動で行われます。パッチ作業とはバージョンアップのことで、主にプログラムの新機能追加や異常個所の修復などの作業です。クラウドシステムを使わず自社でサーバ管理している場合は、自分たちでパッチ作業の管理も行う必要性が発生します。
自動バックアップの実行
一般的にバックアップ作業は手間や時間の掛かる作業ですが、Amazon RDSはAWS側で自動的に実行させることができます。作業量の軽減に繋がるだけではなく、バックアップを忘れるなどのヒューマンエラーのリスクを防ぐ効果もあります。
リードレプリカ
リードレプリカとは、同じデータを別の場所に複製して読み込みのみ可能としたデータベースのことです。複数の同データを存在させることで安全性が高まり、データベースへの集中を防ぎ負荷を軽減させるなどの特徴もあります。また、大量の読み込みにも対応できるようになりパフォーマンスが低下せずに高速処理が可能です。
利用するだけ
オンプレミスでデータベースを構築する場合、サーバーラックの設置が必要となります。一方でAmazon RDSの場合、サーバー機が不要なので物理的な運用が不要でメンテナンスも設置作業も必要ありません。
スケーラビリティが高い
スケーラビリティとは拡張性のことです。データベースの容量を拡張したい場合、オンプレミス環境とは異なり物理的なものは特に必要ありません。データベースを停止することもなく必要量に応じたストレージなどの容量を購入するだけで追加することができます。
Multi-AZによる可用性
Multi-AZとはMulti – Availability Zoneの略称で、システムを正常に使い続けるための耐久性(AZ)を別々の場所に複数設けることです。Amazon RDSでオプションをONに設定すると、自動的にMulti-AZを構築してくれます。Multi-AZを設定することで可用性は格段に高まり、片側1つにトラブルが発生した場合も影響を受けずにAmazon RDSを利用することができます。Multi-AZオプションを設定した場合、SLAは99.99%となります。
料金は利用した分だけ
Amazon RDS の利用料金は実際に使用した分のみ(従量課金制)で、最低料金やセットアップ料金はありません。
インスタンスの種類と料金
インスタンスとはOS搭載の仮想サーバー環境のことを指します。Amazon EC2ではインスタンスが単位となりサーバー環境を複数構築することも可能です。Amazon RDSの料金体系は大きく2つ、従量課金制の「オンデマンドインスタンス」と、定額制の「リザーブドインスタンス」です。料金はインスタンスのスペック、データベースソフトウェアの種類、支払い方法によって変わります。Multi-AZ構成を利用する場合は、メインとスタンバイインスタンスの2つを構築するということなので単純に2倍の金額となります。その他、使用するストレージのデータ容量、データ通信料(転送量)に応じて料金が発生します。
EC2と同様、Amazon RDSには用途に合わせて様々なインスタンスが用意されています。インスタンスのタイプには、汎用性の高いタイプやメモリを多く使う場合に適したメモリ最適化タイプなどが存在します。AWSのサービスは使用量に応じて料金が発生する仕組みです。つまりシステムを使用しない場合、サーバーを削除しなくても停止するだけで料金の発生を止めることができます。AWSは多岐に渡りサービスが存在するため、必要なサービスのみ選定することでコストの節約に繋がります。
各データベースソフトウェアの利用可能なバージョンや料金例についての最新情報はAWSのウェブページを参照ください。
DB on EC2との違い
EC2とは(Elastic Compute Cloud)の略称で、AWSが提供するサービスの1つです。Amazonの仮想サーバを遠隔操作で利用して運用・構築できるサービスです。サーバの設定も細かく決められる特徴があり、OS選択、インスタンスタイプ、セキュリティーグループなども設定可能です。環境構築時間が短いというメリットから多くの企業が利用するAWSサービスです。例えば企業で別々のデータベースのサーバーが2つ必要な場合、インスタンスタイプの設定で簡単に2つ作成できるのがEC2の強みです。
Amazon EC2(DataBase on EC2)の特徴
- システム構築時間が短い
- バージョンや機能的な制限がない(基本的にオンプレミスや仮想化環境と同じ運用が可能)
- インスタンス、ストレージなど柔軟なスペック対応ができる
- OSにログインすることが可能
一方でAmazon RDSの特徴は、上記「機能と特徴」にある通りです。
Amazon RDSの特徴
- システム構築時間が非常に短い
- スナップショットで簡単にバックアップが取得できる
- システム管理の自動パッチ設定が可能
- Multi-AZ構成の設定により高可用性が維持できる
Amazon RDSの制限事項
とても便利なRDSですが、利用する際には気を付けておくべき点もあります。
- 利用できるバージョンに制限がある
- グローバルIPアドレスが固定できない
- キャパシティに上限がある
- ファイルへアクセスできない
- OSへのログインはできない
- すべての機能が利用できるわけではない
- 個別パッチの適用ができない
上記のような制限があり、データベースを利用するアプリケーション側でバージョンの制限がある場合やOSの管理やセキュリティーパッチの適用など自社で運用したい場合にはDB on EC2での運用を選択することになります。
まとめ
Amazon RDSは構築や運用の手間を大幅に削減することができるとても強力なサービスです。可用性に関してもMulti-AZで構築することで高い可用性を維持することが可能です。
Amazon RDSのマルチ AZ構成のSLAは99.99%を目標に設計されています。
先述の制限が許容できる場合はDB on EC2ではなくAmazon RDSを選択される場合が多いと思いますが、システムによっては制限が許容できずEC2にDataBaseをインストールして利用することになります。その際にRDSと同等の99.99%の可用性を確保するためにはMulti-AZ構成で冗長化されたEC2のDBサーバーを構築する必要があります。
構築にはサードパーティーの製品を利用することで、Multi-AZ構成で冗長化したHAクラスターを比較的容易に構築でき、構築や運用の工数を削減します。サイオステクノロジーが提供するHAクラスターソフトウェア LifeKeeperもその一つとなりますのでDB on EC2での構築・運用をご検討の際には是非合わせてご利用をご検討ください。
関連記事
>>Amazon RDS Custom for Oracleで増えたOracle DBのAWS移行パス、それぞれの違いは?自社に最適な移行先は?