Amazon Relational Database Service (またはAmazon RDS)は、Amazon Web Services(AWS)の分散リレーショナルデータベースサービス。 RDSは、アプリケーションで使用するリレーショナルデータベースの設定、操作、およびスケーリングを簡素化するように設計された「クラウド内」で動作するWebサービスである[1]。 データベースソフトウェアのパッチ、データベースのバックアップ、ポイントインタイムリカバリなどの複雑な管理プロセスは自動的に管理される[2]。ストレージのスケーリングとリソースの計算は、単一のAPI呼び出しで実行できる。
Amazon RDSは2009年10月22日に最初にリリースされ、MySQLデータベースをサポートしている[3][4]。 これに続いて、2011年6月にOracle Database[5][6]、2012年5月にMicrosoft SQL Server[7]、2013年11月にPostgreSQL[8]、2015年10月にMariaDB(MySQLのフォーク)がサポートされた[9]。
2014年11月、AWSは高可用性とパフォーマンスを強化したMySQL互換データベースAmazon Auroraを発表した。 [10]
新しいDBインスタンスは、AWS Management ConsoleまたはAmazon RDS APIを使用して起動できる。 [11]
Amazon RDSは、様々なユースケースをサポートする様々な機能を提供する。 主な機能の一部は次の通り
マルチアベイラビリティゾーンの展開は、運用環境を対象としている。 マルチAZの展開は、MySQLインスタンスの可用性とデータ耐久性の向上を目的としている[12]。 複数のAZ配備として実行するようにデータベースインスタンスを作成または変更すると、Amazon RDSは、異なる「可用性ゾーン」(物理的に別の場所にある独立したインフラストラクチャ)に同期型の「待機」レプリカを自動的に準備し、維持する[13]。 計画されたデータベース保守または計画外のサービス中断が発生した場合、Amazon RDSは自動的に最新のスタンバイにフェイルオーバーされ、データベースの操作が管理上の介入なしに自動的に再開される。
Multi-AZ RDSインスタンスはオプションで、コストが発生する。 RDSインスタンスを作成する際に、Multi-AZ RDSインスタンスを使用するかどうかを問われる。
MySQL、MariaDB、およびPostgreSQLインスタンスのレプリカの読み取りは、それぞれのデータベースエンジンネイティブの非同期レプリケーション機能を使用する [14]
Amazon RDSのパフォーマンスメトリックは、AWS Management ConsoleまたはAmazon CloudWatch APIから入手できる。 2015年12月、Amazonはオプションの拡張監視機能を発表し、MySQL、MariaDB、およびAuroraデータベースエンジンの拡張された一連の測定基準を提供した。 [15]
Amazon RDSインスタンスはAmazon Elastic Compute Cloud(EC2)と非常によく似ている。 RDSは1時間単位で課金され、オンデマンドDBインスタンス[16]とリザーブドDBインスタンス[17]の2つのパッケージで提供される。 オンデマンドインスタンスは、使用した分のみ料金が発生する。 リザーブドDBインスタンスは、1回限りの初期費用を必要とし、所定の期間までの使用契約が必要だが、そのインスタンスの1時間当たりの料金がオンデマンドよりも割安になる。
RDSインスタンスを実行する時間単位のコストとは別に、プロビジョニングされたストレージの量、データ転送、実行された入力と出力の操作がユーザーに課金される。 AWSはプロビジョンドIOPS(Input and Output Operations per second)を導入した。IOPSでユーザーはアプリケーションで必要な秒あたりのIO数を定義できる。 IOPSを使用することで、RDSインスタンスを実行するための総コストが大きく増える [18]
2016年7月現在、Amazon RDSは27種類のDBインスタンスタイプをサポートしている。そのうち18種類は最新の世代で、さまざまなタイプのワークロードをサポートしている [19] [20] [21]
Amazon RDSに類似したクラウドデータベースサービスを提供する他のベンダーも複数存在する。 オラクルは、オラクルのデータベース・テクノロジーをサポートするデータベース・サービスであるOracle Cloudを提供している[22]。 マイクロソフトは、Microsoft SQLデータベースをサポートするサービスであるWindows Azure SQLを提供している[23]。 MySQLをサポートする競合企業には、RackSpaceクラウドデータベース[24]、Google Cloud SQL[25]、HP Cloud for MySQL[26]、Xeround Cloud Database[27]、ClearDBなどがある。 [28]