クラウド特捜部
新しいサービスを提案するAmazon Web Services
(2014/12/18 06:00)
11月に米国ラスベガスで開催されたAmazon Web Services(以下AWS)の年次カンファレンス「Re:Invent 2014」では、クラウドをベースとする新たなサービスの発表があった。今回は、Re:Invent 2014で発表されたサービスを紹介していこう。
クラウドを前提としたデータベースのAurora
AWSではRDBMSとして、MySQL、PostgreSQL、Oracle Database、SQL Serverなどを用意している。これ以外にも、ビッグデータ時代を考えたペタスケールのデータウェアハウス(DWH)のRedshift、NoSQLのDynamoDBなどが用意されている(データベースの性能をアップするMemchachedやReditなども用意されている)。
しかし現在提供されているRDBMSは、もともとオンプレミスサーバーでの動作を前提にして開発されているため、絶大なクラウドパワーを使っても、データベースのパフォーマンスを効率的に向上させることはできなかった。
確かに、クラウドを高速なプロセッサと大容量メモリを持つコンピュート部を物理的に配置したり、フルフラッシュを前提としたストレージ、高速なネットワークなどを用意すれば、ある程度のパフォーマンスを出すことはできるだろう。しかし、これではインフラに対するランニングコストがかかりすぎる。
そこで、AWSではクラウドパワーを前提としたRDBMSの「Amazon Aurora」を開発した。このAuroraは、MySQL互換でありながら、秒間50万Selectと10万Updateのパフォーマンスをたたき出している。
Auroraでは、RDBMSの中核と言えるストレージやキャッシュ、ネットワークは、AWSが持つハイパフォーマンスなインフラの上に用意され、ユーザーアプリケーションとのインターフェイスとしてはMySQLがそのまま利用できる。つまり、MySQLベースで構築したアプリケーションは、MySQLの部分をそのままAuroraに変更すれば利用可能だ。
またコストに関しても、Auroraを使用するコンピュート部の時間課金、ストレージ容量課金、IO課金などとなっているため、データセンターに専用のハードウェアを構築するよりも安い金額でサービスが受けられる。
さらに、複雑なデータベース構成などもAurora側で自動的に行ってくれる。例えば、リード向けのノードを用意したり、データベースの暗号化を自動的に行ったり、といったことが可能だ。
また、データベースのデータを10GBごとに分け、3つのアベイラビリティゾーンにまたがって複製する、といったことができるし、データベースがクラッシュした時のために、自己修復機能も用意されている。
ストレージについては、SSDで構成された仮想ストレージを使用しながら、最大64TBまで自動的に容量を拡張してくれるので、データベースのデータ容量とSSDの容量を気にしながら運用する、といった心配もなくなる。多くのデータベースなら64TBで十分な容量だろう。
このように、パフォーマンス面だけでなく、さまざまなバックアップやシステム構成が簡単にできてしまう、運用面も魅力的だ。
そして、前述したようにMySQL互換ということも大きなメリットになる。開発者にとっては、全く新たなデータベースエンジンを利用しなくても、MySQLを使用していればそのままAuroraを使用できる。多くのMySQLベースのアプリケーションは、簡単にAuroraへ移行可能だろう。
なおAuroraは、内部的には、RDBMSをフロントのSQLアプリケーションとトランザクション、バックエンドのストレージやネットワーク、RDBMSのシステム構成などに分かれている。フロント部分に関してはMySQL互換となっているが、バックエンド部分はAWSのクラウドパワーを前面に打ち出している(Auroraのバックエンドに使用されている各パーツは、今までのAWSでサービスされていたインフラサービスが使われていたり、パフォーマンスをアップするために専用のSSDが用意されたりしている)。
現在Auroraは、リミテッドプレビューとしてUS East(Northern Virginia)だけで提供されている。本運用に入れば、各地のデータセンターで利用できるようになるだろう。