私達は2009年に、クラウド環境でMySQLのセットアップ・運用・スケーリングをサポートするためにAmazon Relational Database Service (RDS)をリリースしました。それ以来、マネージメントコンソールへの統合や、Oracle, SQL Server、そして、PostgreSQLの3つのデータベースエンジンのサポート、multi Availability Zone配置機能による高可用性など様々な機能追加を行ってきました。
我々は、5年間で多くの改善と改良を行ってきました、しかし、機能を改善していく余地は常にあるのです!例えば、私が先ほど上げたデータベースエンジンは、制約のあるネットワークや性能が高くないCPU、HDDなどのシンプルなハードウェアや限定用途の並列処理、多くの並列度の高いI/O処理向けに設計されています。
RDSチームは、現状存在しているリレーショナルデータベースの様々な問題を見直し、解決し、さらにクラウドに適したリレーショナルデータベースを自ら作ることを決意しました。このプロジェクトは、RDSチームがまっさらなホワイトボードに、RDSの拡張性と信頼性を維持しながらも価格性能比を向上させるゴールを描くところからスタートしました。
そして、現在あるデータベースへの要求を満たすために効率的な、ストレージ・ネットワーク・コンピューティング・システムソフトやデータベースソフトウェアを作るチャンスだとRDSチームは気づきました。そして、この新しいシステムは、現在の新しいハードウェアの対応やI/Oウェイト、データベースプロセス間のロック競合を解消するように設計されました。さらに、スループットを大きく改善しつつ、可用性も向上させました。
Amazon Aurora – 新しいMySQL互換データベースの登場です!
本日、Amazon Auroraを発表します。Auroraはフルマネージドで、速度とオープンソースデータベースのシンプルさと費用対効果、さらにハイエンドの商用データベースの可用性を兼ね備えたMySQL互換のリレーショナルデータベースエンジンです。
Amazon RDS for Auroraを使っていただくことで、データベースを管理・チューニングする時間を最小限にし、ビジネスやアプリケーションの作成に注力することが出来ます。皆さんのビジネスの成長に合わせてAmazon Auroraも一緒にスケールしていきます。
もう、ストレージを追加するためにアプリケーションを止める必要は ありません。代わりに、Amazon Auroraが10GBから必要に応じて64TBまで自動でストレージを拡張していきます。
ストレージのベースパフォーマンスは高速で信頼性があり、予測可能なものになっています。ストレージ性能は保存されているデータ量に応じて線形に増加しますが、予測より高頻度のアクセスがあった場合はバーストも行われます。また、インスタンスサイズの変更も数分で行われ、リードレプリカの作成もほんの数クリックで完了します。
信頼性と高可用性のために、ストレージは自動的に3つのAWS アベイラビリティゾーン (AZs)内に複製され、さらに各AZ内で2つのコピーを作成します。これらの2種類(アベイラビリティゾーン内と他のアベイラビリティゾーンを使用)の冗長化機能によって、Amazon Auroraは一定数のディスクへ書き込みが行われた場合に書き込みが完了したと判断します。具体的には、 Amazon Auroraは6本全てのディスクへの書き込みを待たずに、6つのディスクの内少なくとも4つのディスクに書き込みが完了するとすぐに次の処理を実行します 。加えて、ストレージはSSDベースのディスクアレイに10GBずつのブロックで分散して書き込まれます。
これらの最適化によって、ホットスポットの影響を取り除き、非常に高い並列度を実現します。その一方で、自己修復機能も持っています。事実、Amazon Auroraは2つのディスク障害までは書き込みは継続し、3つのディスクが障害を起こしても読み込み処理を続けることが可能です。
この分散書き込みモデルはとても効率的で高速なAmazon Simple Storage Service (S3)へのバックアップを可能にします。なぜなら、書き込みは空き領域を使用し、バックアップはデータベースインスタンスへ負荷を与えずに高並列で行われます。
もし、インスタンス障害が発生した場合、Amazon Auroraはデータの欠損なしに障害の発生していないAZへリカバリを行うように設計されています。
また、Amazon Auroraは継続的で高速なバックアップを行います。皆様はこのバックアップを使用して1秒の粒度で過去の状態に復元することが出来ます(リストアはどのアベイラビリティゾーンにもリードレプリカが存在しない場合のみ必要です)
Amazon Auroraは99.99%の可用性を実現するように設計されました。インスタンスやディスクの障害が発生した場合、自動で復旧処理が行われます。
Amazon Auroraは、読み込みスループットの向上やフェイルオーバー先として15個のリードレプリカを作成することが可能です。これらのリードレプリカはプライマリインスタンスとストレージを共有しており、軽量で粒度の高いほぼ同期型のレプリケーションを行います (これらは、リードレプリカのページキャッシュにより、10-20ミリ秒オーダーの少ないラグで行われます)。
皆様のほとんどのMySQLを使用したアプリケーションは、変更なしに使用することが出来ます。もし、Amazon RDS for MySQLをお使いでしたら、数クリックでAmazon Auroraにマイグレーションすることが可能です。Amazon Auroraは MySQL5.6.10と機能面で互換性があり、今後のMySQLのリリースとも互換性を保っていく予定です。
Auroraデータベースインスタンスを起動しよう!
AWS Management Consoleから起動する手順をご紹介します。(Limited Previewの間はAWS Management Consoleからの起動のみサポートされます) AWS Command Line Interface (CLI), AWS CloudFormation template, and API support は現在開発中です。
Amazon AuroraはAmazon Virtual Private Cloud中に起動する必要があります。
まずは、Auroraエンジンを選択することから始めます
次に、データベースを稼働させるインスタンスタイプ、データベース名、DBAのアカウントを設定します:
最後に、いくつかの詳細設定を行います:
Amazon Auoraはストレージ容量を設定する必要がありません。ストレージは最初10GBで作製され、テーブルの容量が増加するにつれて自動で透過的にディスクサイズが拡張されます。Amazon AuroraではテーブルをInnoDBで作成する必要があります。そして、利用したストレージ容量のみ課金されます。
インスタンスが準備出来れば(約10分以内で完了します)接続先がコンソールに表示されます。
RDSコンソールアップデート
今回、RDSのコンソールもアップデートされました。利用可能なRDSインスタンスそれぞれについて、タブ内に詳細情報が表示されます。(警告やイベント、設定そしてDBクラスタの詳細情報)
こちらが最初の画面です
また、コンソールにいくつかのモニタリングのオプションが追加されました
フルスクリーンにモニタリングページを拡大することが出来ます (オペレーションルームの大型モニタに表示するのに適してますね)
価格と利用について
Amazon Auroraは今までのデータベースよりも約4倍のパフォーマンスとコスト比を実現するために設計されました。今お使いのRDS for MySQLをAmazon Auroraに移行することで今までよりも小さいサイズのインスタンスで今まで同様の性能が出ることに気づくと思います。そして、Amazon Auroraでは実際に使用しているストレージ容量で課金されます。
Amazon Auroraを、US East (Northern Virginia)にてLimited Previewで公開します!Amazon Auror を体験してみたいと思ったら、こちらから Limited Previewにご応募下さい!
-- Jeff; (日本語版は星野が担当しました)