「Amazon RDS for Aurora」(以下Aurora )は、米Amazon Web ServicesがMySQL 5.6をベースに独自開発したRDBサービスだ。「SQL、トランザクション処理」「キャッシング」「ストレージ(およびロギング)」の3層に、高い独立性を保って分離することで、5秒程度のフェールオーバー/再起動、性能劣化のない容量拡張を実現。さらに、三つのアベイラビリティーゾーン(AZ)にストレージを合計6個配置して同期を取る。ストレージの容量は、格納したデータサイズに応じて、10GBから64TBまで自動で拡張する。

 今号では、Auroraの性能評価を行う。アーキテクチャーの特性を知るために、RDS for MySQLと比較する。

 性能評価に入る前に、Auroraの料金に触れる。性能はコストと一体で考える必要があるからだ。

 Auroraでは、主に三つの要素で料金が決まる。インスタンスクラス、ストレージ容量、リクエスト件数である。さらに、バックアップに用いるAmazon S3の料金も必要だ。

 筆者の試算では、Multi-AZ構成の本番環境を想定して、AuroraとRDS for MySQLの料金を比べると、大半のケースでAuroraのほうが安くなる。Auroraには、コスト面で有利な点が多いからだ(図1)。例えば、プライマリーインスタンスと全リードレプリカでストレージを共有するので、リードレプリカを追加してもストレージ料金は変わらない。

図1 AuroraとRDS for MySQLの料金体系の優劣
図1 AuroraとRDS for MySQLの料金体系の優劣
[画像のクリックで拡大表示]

 注意点は、Auroraにdb.r3.largeより小さなインスタンスクラスがないことだ。それ以上のインスタンスなら、AuroraはRDS for MySQL Multi- AZ構成より安いと考えてよい。

 この前提に立ち、インスタンスクラスごとに、AuroraとRDS for MySQLの性能を比べる。同一のインスタンスクラスでAuroraの性能が上回れば、さらにコストパフォーマンスが高いといえる。