データベース構成、バックアップ、フェイルオーバー
多くのウェブアプリケーションには、通常はリレーショナルまたは非リレーショナルデータベース
表 1 - リレーショナルデータベースソリューションと非リレーショナルデータベースソリューション
リレーショナルデータベースソリューション | NoSQL ソリューション | |
---|---|---|
マネージドデータベースサービス |
Amazon RDS for MySQL |
Amazon DynamoDB |
セルフマネージド | Amazon EC2 |
EC2 インスタンス上での非リレーショナルデータベースソリューションのホスティング |
Amazon RDS
Amazon Relational Database Service
Amazon RDS マルチ AZ 配置により、データベースの可用性が向上し、予期しない停止からデータベースが保護されます。Amazon RDS リードレプリカは、データベースの読み取り専用のレプリカを提供するため、読み取りの多いデータベースワークロードに単一のデータベースデプロイの容量が対応できない場合に、スケールアウトできます。AWS のすべてのサービスと同様に、先行投資は必要なく、お支払いいただくのは使用したリソース分のみです。
Amazon EC2 インスタンス上でのリレーショナルデータベース管理システム (RDBMS、relational database management system) のホスティング
マネージド型 Amazon RDS サービスに加えて、お好みの RDBMS (MySQL、Oracle、SQL Server、DB2 など) を EC2 インスタンスにインストールし、ご自身で管理できます。Amazon EC2 上でデータベースをホストする AWS のお客様は、読み取り専用コピーのミラリング、常時対応のパッシブスレーブのログシッピングなど、さまざまなプライマリ/スタンバイとレプリケーションモデルをうまく使用しています。
Amazon EC2 で独自のデータベースソフトウェアを直接管理している場合、耐障害があり永続的なストレージの可用性も考える必要があります。このため、Amazon EC2 で実行されているデータベースは、ネットワーク接続ストレージに似た Amazon Elastic Block Store
データベースを実行する EC2 インスタンスでは、データベースのすべてのデータとログを EBS ボリュームに配置する必要があります。これらは、データベースのホストに障害が発生した場合でも引き続き利用できます。この設定では、ホストに障害が発生した場合に新しい EC2 インスタンスを開始でき、既存の EBS ボリュームを新しいインスタンスに添付できる単純なフェイルオーバーシナリオに対して使用できます。その後、データベースは中断したところから再開できます。
EBS ボリュームは、アベイラビリティーゾーン内で自動的に冗長性を提供します。1 つの EBS ボリュームのパフォーマンスが、データベースニーズに対して十分でない場合、ボリュームをストライピングしてデータベースの 1 秒あたりの入出力オペレーション (IOPS) パフォーマンスを向上させることができます。
ワークロードの要求が厳しい場合は、EBS プロビジョンド IOPS を使用して、必要な IOPS を指定することもできます。Amazon RDS を使用する場合、サービスが独自のストレージを管理するため、お客様はデータの管理に集中できます。
非リレーショナルデータベース
AWS では、リレーショナルデータベースのサポートに加えて、マネージド型の非リレーショナルデータベースも多数提供しています。
-
Amazon DynamoDB
は、フルマネージド型の NoSQL データベースサービスであり、高速で予測可能なパフォーマンスとシームレスなスケーラビリティが特長です。AWS Management Console または DynamoDB API を使用すると、ダウンタイムやパフォーマンス低下を発生させずに容量をスケールできます。DynamoDB では、分散データベースの運用とスケーリングに伴う管理作業を AWS に任せることができるため、ハードウェアのプロビジョニング、設定と構成、レプリケーション、ソフトウェアパッチ適用、クラスターのスケーリングなどを気にする必要はなくなります。 -
Amazon DocumentDB
(MongoDB 互換) は、大規模な JSON データ管理のためのデータベースサービスで、AWS 上で完全に管理実行されており、高い耐久性を備えたエンタープライズ対応のサービスとなっています。 -
Amazon Keyspaces
(Apache Cassandra 用) は、スケーラブルで可用性の高い、Apache Cassandra 互換のマネージドデータベースサービスです。Amazon Keyspaces では、現在使用しているのと同じ Cassandra アプリケーションコードとデベロッパーツールを使用して、AWS で Cassandra ワークロードを実行できます。 -
Amazon Neptune
は、高速かつ信頼性の高いフルマネージドグラフデータベースサービスです。このサービスでは、高度に接続されたデータセットと連携するアプリケーションを簡単に構築および実行できます。Amazon Neptune の核となるのは、数十億のリレーションシップの保存とミリ秒台のレイテンシーでのグラフのクエリに最適化された、専用の高パフォーマンスグラフデータベースエンジンです。 -
Amazon Quantum Ledger Database (Amazon QLDB)
(QLDB) は、信頼された機関によって所有されている透過的でイミュータブル、かつ暗号的に検証可能なトランザクションログを提供する、フルマネージド型台帳データベースです。QLDB を使用すると、アプリケーションデータの全変更を追跡し、完全で検証可能な変更履歴を長期間維持できます。 -
Amazon Timestream
は、IoT および運用アプリケーションに適した、高速かつスケーラブルなサーバーレス時系列データベースサービスです。リレーショナルデータベースの最大 1,000 倍の速度と 10 分の 1 のコストで、1 日あたり数兆ものイベントを、簡単に保存し、分析できます。
さらに、Amazon EC2 を使用して、使用している他の非リレーショナルデータベーステクノロジーをホストすることもできます。