Amazon Auroraでクラウド活用!その特徴と機能について解説
はじめに
近年、クラウドサービスが広く普及しており、その中でもAmazon社が提供するAWS(Amazon Web Services)は特に有名です。提供されるサービスもコンピューティングやストレージ、データベースなど、160種類を超えるほど様々なサービスがあるそうです。
今回は、そんな多種多様なAWSのサービスのひとつであるAmazon Auroraについてご紹介します。
Amazon Auroraとは
Amazon Auroraとは、Amazon社によってクラウド向けに開発されたリレーショナルデータベースであり、商用データベースの性能や可用性と、オープンソースデータベースのシンプルさとコストパフォーマンスを兼ね備えています。
また、Amazon Auroraは、AWSのAmazon Relational Database Service(RDS)のうちのひとつです。そこで、まずはAmazon RDSについて解説をしていきます。
Amazon RDSとは
Amazon RDSとは、AWSが提供する完全マネージド型のリレーショナルデータベースサービスです。マネージド型であるため、データベースのセットアップ、モニタリング、バックアップなどのデータベース運用における管理タスクが自動化され、ユーザーの運用に対する負荷が大幅に軽減されます。
Amazon RDSのデータベースエンジン
Amazon RDSでは、データベースエンジンを以下の6つの中から選択できます。
・Amazon Aurora
・PostgreSQL
・MySQL
・MariaDB
・Oracle データベース
・SQL Server
また、AWS Database Migration Serviceを使用すると、既存のデータベースをAmazon RDSに簡単に移行することも可能です。
Amazon AuroraはAWS専用
Amazon RDSで利用できるデータベースエンジンの内、Amazon Aurora以外はオンプレミスでも利用されているデータベースです。それに対してAmazon Auroraはオンプレミスでは利用できず、AWS専用のサービスす。そのため、クラウド上での利用を前提とし、クラウド環境に最適になるよう開発されており、優れたパフォーマンスと拡張性を実現しています。
Amazon Auroraの主な特徴
次に、Amazon Auroraの主な特徴について簡単にご紹介します。
優れたパフォーマンス
My SQLの5倍、PostgreSQLの3倍のスループットを実現します。また、商業用データベースと同等のパフォーマンスを10分の1のコストで実現します。
拡張性
メモリ及びコンピューティングリソースは、データベースインスタンスのクラスを変更することで調整できます。またデータベースのストレージは、必要に応じて10GBから最大64TBまで自動的に拡張されます。
安全性
データベース保護のための各種セキュリティが用意されており、Amazon VPCによるネットワーク分離、AWS Key Management Serviceの制御キーによる暗号化、移動中データのSSLによる暗号化などがあります。
互換性
MySQL及びPostgreSQLと完全互換性があり、新しいリリースとの互換性も定期的に追加されています。そのため、MySQLデータベースやPostgreSQLデータベースを簡単にAmazon Auroraに移行できます。
高可用性と耐久性
可用性が99.99%を超えるように設計されており、物理ストレージの障害は透過的に復旧し、インスタンスのフェイルオーバーは30秒未満で完了します。
完全マネージド型
先述したように各種データベース運用管理タスクが自動化されます。
Amazon Auroraの機能
Amazon Auroraには独自の機能をいろいろと持っていますが、その内のいくつかをご紹介します。
Protection Group
Amazon Auroraのストレージは、10GBごとに3つのAZ(Availability Zone:物理的、ソフトウェア的に自律しているデータセンターの集合の単位)にわたって6つのコピーを持っている構成になっています。この10GB分のデータのことをProtection Groupと言います。
この構成によって、リカバリ処理やバックアップ取得をする際に、直近のスナップショットから各Protection Groupが並列でログ適用を行うことができ、各Protection Groupは最大10GBなので、処理時間が長期化することはありません。
BackTrack
BackTrackは、バックアップやリカバリなどとは別の方法でデータを巻き戻すことができる機能です。また、巻き戻したデータを進めることもできます。
この機能によって、重要なデータを削除してしまったときなどに削除前の状態に回復することができたり、データを巻き戻したり進めたりしてデータの変更されてタイミングを探したりすることができます。
クラスタキャッシュ管理
プライマリインスタンスが持つキャッシュを、特定のレプリカとの共有を可能にする機能です。プライマリがクラッシュし、フェールオーバーによりレプリカがプライマリに昇格したとき、この昇格したプライマリインスタンスはクラッシュしたインスタンスが持っていたキャッシュをそのまま使用できるので、すぐに元の水準のパフォーマンスに回復することが可能となります。
並列クエリ
クエリ実行やトランザクション処理などはデータベースインスタンスの仕事です。しかし、実はストレージ層にもCPUが大量に存在しています。これらのCPUは普段はディスクの読み書きの用途に使用されていますが、データベースインスタンスがやっているクエリ実行などの処理をストレージ側で処理するという機能が並列クエリです。
並列クエリは得手不得手があり、全てのクエリを高速にするものではありませんが、適するものだと処理が何倍にも高速化されます。
Amazon Auroraのユースケース
Amazon Auroraがどのようなことに利用できるのかご紹介します。
エンタープライズアプリケーション
リレーショナルデータベースを使用するエンタープライズアプリケーションにとって、Amazon Auroraを利用することは、データベースコストを90%以上削減し、データベースの信頼性と可用性を向上させ、また、完全マネージド型サービスによって、データベース運用を自動化し、それらの時間を節約するなどのメリットがあります。
SaaSアプリケーション
マルチテナントのアーキテクチャを使用するSaaSアプリケーションでは、インスタンスとストレージのスケーリングに柔軟性、及び、高パフォーマンスと高信頼性も求められます。Amazon Auroraでは、マネージド型データベースサービスによりこれらの機能を全て提供するため、データベースの構築に悩まされずに、アプリケーションの開発に専念することができます。
ウェブゲームやモバイルゲーム
大規模なスケールで構築されているウェブゲームやモバイルゲームは、高スループット、大規模ストレージスケーラビリティ、高可用性を持つデータベースが必要です。
Amazon Auroraでは、このようなニーズを満たし、様々な使用パターンに適合できます。
まとめ
Amazon Auroraについて、その特徴や機能についてご紹介させていただきました。
マネージド型であったり、並列処理をしたりなど、クラウドサービスであることを活用した高機能なサービスであることがおわかりいただけたのではないでしょうか。
この記事を通じてAWSやAmazon Auroraに興味を持っていただければ幸いです。