クラウド図鑑 Vol.28

AWSによるRDBのマネージドサービス「RDS (Amazon Relational Database Service)」は、MySQLやOracleなど複数のDBエンジンを提供しているが(参照:クラウド図鑑 AWSのデータベースサービス)、2014年11月に発表された第5のエンジン「Amazon Aurora」は、商用のRDBに勝るとも劣らない高性能と高可用性を実現したデータベースサービスである。米国の2リージョン、ヨーロッパの1リージョンに続いて2015年10月から東京リージョンでも利用可能になった。AuroraはオープンソースのMySQL5.6互換で、最大5倍の性能でありながら、3つのデータセンターで6重化したストレージにデータを保持し、64TBまでデータ容量を自動拡張し、継続的な差分バックアップが行われ、レプリカからの高速なフェールオーバーを可能にする。このような高機能を実装しながら、単体のインスタンス料金はOracleよりも割安な「戦略的な価格」で設定されている。Auroraの機能や性能を引き出すにはリソースを冗長化するための費用が発生し単純比較は難しいが、AWSによれば、「同様の機能や可用性を提供している商用データベースの 10 分の 1 の価格」とのことである。なお、AWSは、2015年10月にAuroraに続く第6のDBエンジンとして、MySQL互換のオープンソースDBの「MariaDB」も発表している。

Amazon Auroraの設定画面
Screenshot 2015-10-14 at 14.09.15 - Display 1
(クリックで拡大)

https://aws.amazon.com/jp/rds/aurora/
2015年10月15日 株式会社クラウディット 中井雅也

機能

リレーショナルデータベースのマネージドサービスであるので、MySQL互換のDBソフトウェア、および、サーバーやストレージなどのインフラとソフトウェアの導入作業、バックアップ、パッチ管理、レプリケーションなど、一般的に手間のかかるデータベースの導入や管理タスクがマネージドサービスとして提供される。データベースエンジンはMySQL5.6互換であり、既存のMySQL5.6アプリケーションやツールは変更なしで使える。MySQLをAWSのデータセンターアーキテクチャーやストレージの利点を活用するよう独自拡張し、後述するような高い拡張性や高可用性を実現している。

使いやすさ

他のAWSのサービスと同様に日本語化されたAWSコンソールから設定や構成ができる。高度な機能を意識することなく数分程度でAuroraのクラスターを立ち上げることができる。ドキュメントも多く用意されている。AWSに慣れたユーザーであれば、ほぼ違和感なく利用開始し運用もできると思われる。しかしながら、AWSの高機能なインフラを使いこなすには独自の設計思想や用語を習得する必要がある。

マニュアルや書籍など

AWSによってマニュアルやチュートリアル、リファレンスアーキテクチャなどのドキュメントが用意されている。

拡張性

Auroraは、従来のAWSのマネージドデータベースサービスであるRDSの他DBエンジンより高いスケーラビリティを提供できるように設計されており、通常のMySQLの5倍のスループットが得られる。さらに、3 つのAZ(Availability Zone、すなわちデータセンター)に最大 15 個のレプリカを追加しリード処理をスケール可能。レプリカが同じストレージを参照するため遅延が少ない(ミリ秒単位)。データを格納するストレージも 10 GB から 64 TB まで、必要に応じて自動で拡張する。 データベースインスタンスは、最大 32 vCPU および 244 GiB メモリまでスケールアップが可能。

可用性

Auroraは、インスタンスに障害が発生した場合、3つのAZ(Availability Zone、すなわちデータセンター)に配置した最大 15 個のレプリカのうちの 1 つから通常1分以内に自動でフェイルオーバーする。または、レプリカが 1 つもない場合はDB インスタンスを通常15分以内に自動で再作成する。データ保護に関しては、3つのAZごとに2つのデータのコピーを持ち、合計6ヶ所のSSDストレージにデータコピーを保持する。これにより、6ヶ所のストレージのうち2つのストレージがアクセス不能でもデータの読み書きが可能、読み込みだけなら3つのストレージがアクセス不能でも処理を継続する。つまり。1箇所のデータセンターに大規模な障害が発生してもサービスは継続され、データは失われない仕様となっている。ストレージノードやディスク障害があった場合にデータは自動修復される。データのバックアップは定期的なスナップショットと差分データの継続的な取得(ストリーミングバックアップ)により、任意の指定日時の状態(直近で 5 分前まで)に戻す「ポイントインタイムリカバリー」が可能。バックアップはマネージドサービスの一環として自動で行われる。バックアップの保持期間は、最大 35 日間までで99.999999999% の耐久性を持つAWSのオブジェクトストレージ 「S3」に保存される。ユニークな機能として、ノードやディスクの障害をシミュレートし検証することができる。

SLA

これまでのRDSと同様にマルチAZインスタンスにおけるSLAを月間稼働率99.95%以上として、達成できなかった場合は請求金額が割り引かれる。

自動化機能

DBの起動やリソースの追加や拡張など、さまざまな操作をAPIで自動化が可能。マネージドサービスとしてインフラの運用、ソフトウェアのアップデートやバックアップなどのタスクは自動的に行われる。

セキュリティ

Auroraは、Amazon VPC(Virtual Private Cloud)で実行され、ネットワークを論理的に隔離することができる AWS Identity and Access Management (IAM) と統合されており、インフラ管理者のアクセスや権限を制御できる。SSL(AES-256)を使用して通信中のデータを保護する。保存データの暗号化は今後のリリースで利用可能になる予定。

データセンターの場所

2015年10月時点では、東京、バージニア、オレゴン、アイルランドのリージョンで使用可能。

実績・シェアなど

AWSのWebで、Alfresco、Earth Networks、ISCS、Pacific Gas and Electric (PG&E)、国際連合などが紹介されている。

エコシステム

基本的にMySQLのエコシステムを踏襲できる。またTableau Softwareなどが積極的な対応姿勢を示している。

価格および支払い方法

DBインスタンスごとに時間課金で使用料が発生。ストレージは実使用したデータ量に応じて課金される。エントリーレベルのdb.r3.largeインスタンス(2VCPU/15GBメモリー)の場合で、オレゴン、バージニアでは$0.29/時間、東京で$0.35/時間。