- Amazon Auroraの特徴や使い所を知りたい
- 他のRDSのデータベースとAmazon Auroraはどう違うの?
このように考えている方は、この記事をぜひ最後までお読みください。
この記事では、Amazon Auroraの特徴や使うメリット・デメリットについて解説します。
Amazon AuroraはAWSが提供するデータベースの1つで、クラウドが提供するデータベースに求められる機能が多く備わっています。
この記事を読むとAurora以外のデータベースとの使い分けについても分かります。
DB選択に迷っている方は、これから紹介する内容を参考にしてみてください。
Amazon Auroraとは
Amazon AuroraはAWSが提供するRDBMS(リレーショナルデータベースマネジメントシステム)です。
Amazon Auroraでは、アプリケーションに必要なデータを管理するデータベースをクラウドで操作・管理できます。
フルマネージドサービスで、MySQLまたはPostgreSQLと互換性のあるインターフェースです。
そして通常は作業に手間がかかるデータベースのクラスター化やレプリケーションを自動で行ってくれます。
またハイパフォーマンスでありながら商用データベースの約10分の1の価格で提供する、高機能で低コストなデータベースです。
Amazon RDSとは
Amazon RDS(アマゾンリレーショナルデータベースサービス)は、リレーショナルデータベースを提供するAWSのクラウドサービスです。
Amazon AuroraはAmazon RDSが提供するRDBMSのうちの1つです。
Amazon RDSでは、データベースを構築する際に以下の6種類のデータベースから選択できます。
- Amazon Aurora
- MySQL
- MariaDB
- SQL Server
- PostgreSQL
- Oracle
またAmazon Auroraを含めてAmazon RDSはフルマネージドサービスのデータベースです。
フルマネージドサービスとは、ほぼすべてのサーバー管理を開発者に代わってAWSが行うサービスです。
例えば以下のような運用管理をAWS側が行ってくれます。
- 1日1回バックアップ(スナップショット)を自動で取得してくれる
- 各種メトリクスを一定間隔で取得・記録して、コンソール画面で確認できる
- 24時間の障害対応をしてくれる
- 自動的にソフトウェアのアップデートをしてくれる
そのため開発者はデータベースのサーバー監視や障害対応などの業務から解放され、DBのテーブル設計などの開発業務に専念できます。
その他にもAmazon RDSには以下のような特徴があります。
- セットアップが簡単ですぐに利用開始が可能
- 高可用性、高耐久性
- コストが低く従量課金制
- 暗号化が可能でセキュリティが高い
- バックアップの自動化が可能
- コンソール画面で簡単にスペックを変更できる
Amazon Auroraのメリット
Amazon RDSにはAmazon Auroraを含めて6種類のデータベースを選択できると説明しました。
そのなかでもAmazon Auroraを使うメリットは、主に次の5つです。
- リードレプリカを最大15個設置でき高速化と高可用性を実現
- 使用量に応じたオートスケーリング
- 高性能で高速なスループット
- MySQL・PostgreSQLと互換性のあるインターフェイス
- AZを利用した高可用性・高耐久性を実現
順番に解説します。
リードレプリカを最大15個設置でき高速化と高可用性を実現
Amazon Auroraではリードレプリカを最大15個設置することが可能です。
Aurora以外のRDSのデータベースでは、リードレプリカは最大5つになります。
リードレプリカとは、大元(マスター)のデータベースから複製された参照(読み込み)専用のデータベースです。
データ更新用のデータベースと読み込み用のデータベースを分けることで、大量の読み込みアクセスに耐えられるようになります。
Amazon Auroraで用いられるリードレプリカは他のRDSとは異なり『Auroraレプリカ』というものです。
Auroraレプリカには自動フェイルオーバー機能があり、セカンダリデータベースとして読み書き可能なDBへ昇格させることができます。
フェイルオーバーとは、稼働中のシステムが障害で停止したときに自動的に待機しているシステムに切り替える機能のことです。
Amazon Aurora以外のRDSデータベースでは、リードレプリカを使ったフェイルオーバーができません。
そのためAmazon Aurora以外のデータベースでは、待機用DB(セカンダリデータベース)を別に設置することが必要です。
使用量に応じたオートスケーリング
Amazon Auroraはデータ量に応じて10GBから最大128TB(テラバイト)までオートスケーリング(自動で拡張・縮小)が可能です。
Amazon Aurora以外のRDSもオートスケーリングされますが、容量は20GBから最大64TBという違いがあります。
DB容量128TBは十分なことも多く、Amazon Auroraを使えばアプリの規模によってはDBのデータ量をほぼ気にする必要がありません。
高性能で高速なスループット
Amazon Auroraは高い並列処理で大量の読み書きを実行するのに最適なデータベースです。
MySQLのスループットの約5倍、PostgreSQLのスループットの約3倍を実現します。
スループットとは、単位時間あたりに処理できるデータ量のことで、多いほど処理速度が早くなります。
またアプリケーションに求められる性能に応じて、コンソール画面からインスタンスタイプ(DBの性能)をいつでも変更可能です。
MySQL・PostgreSQLと互換性のあるインターフェイス
Amazon AuroraはMySQLとPostgreSQLのどちらかのデータベースエンジンに互換性があるものから選択できます。
元々AWS RDSを利用していないMySQLやPostgreSQLのDBをAmazon Auroraへの移行も可能です。
RDSではAurora以外のデータベースエンジンとしてMySQLやPostgreSQLも選択できます。
しかしAmazon Auroraを使えない事情がない限り、Amazon Auroraの方を選択するのが良いでしょう。
AZを利用した高可用性・高耐久性を実現
Amazon Auroraは最低3つのアベイラビリティーゾーン (AZ)にまたがってDBクラスターに6個データをレプリケーションします。
プライマリDBインスタンスにデータが書き込まれると、AZ全体で付随するストレージノードにデータが自動的に複製されます。
S3(Simple Storage Service)へのバックアップを組み合わせた設計で、可用性・耐久性は99.99%以上です。
Amazon Auroraのデメリット
他のRDSデータベースと比較したとき、Amazon Auroraのデメリットは主に次の2つです。
- 互換性がないデータベースエンジンがある
- 他のデータベースよりコストがかかりやすい
順番に解説します
互換性がないデータベースエンジンがある
先ほども解説しましたが、Amazon AuroraはMySQLとPostgreSQLに互換性があります。
しかしOracle、SQL Server、MariaDBなどのデータベースエンジンには互換性がありません。
またMySQLとPostgreSQLでも、中には互換性がないバージョンもあります。
既存のDBをAmazon Auroraへ移行を考えている場合は、事前にAmazon Auroraとの互換性を確認しておきましょう。
他のデータベースよりコストがかかりやすい
Amazon Auroraは他のRDSのデータベースと比べて高性能です。
一方で、他のデータベースよりコストが割高になる場合が多くなります。
Amazon Auroraは他のRDSの料金体系に加えI/Oリクエストによる課金があり、料金を気にする際は注意が必要です。
Amazon Aurora Serverlessとは
Amazon Auroraのオートスケーリング設定の1つに、Amazon Aurora Serverless(以下Serverless)があります。
通常のAmazon Auroraも含めて一般的なDBは、インスタンスの起動とシャットダウンは手動での操作が必要です。
また通常のAmazon Auroraはインスタンスタイプを自分で選択します。
一方ServerlessではAWS側が使用量に応じて自動でインスタンスサイズを調整してくれるため選択が不要です。
Serverlessは自動的に起動、シャットダウン、容量のスケールアップやスケールダウンをしてくれます。
Serverlessはコスト面で最も利用価値が高く、データベースのコストを最大約90%程度節約することが可能です。
DBが使用されていない時間は自動でDBインスタンスが停止するため、その点でコストが抑えられます。
そのため、Serverlessは特にDBの利用機会が少ないアプリ等に向いています。
クエリを処理している間はスケーリングできないため、利用頻度が高いDBはAmazon Auroraを利用する方が良いでしょう。
まとめ
今回はAmazon Auroraについて、他のDBと比べたときのメリットやデメリットなどを紹介しました。
Amazon RDSのデータベースエンジンには6つの選択肢があり、その中の1つにAmazon Auroraがあります。
Amazon Auroraは高い性能と低いランニングコストを兼ね備えた、非常に使い勝手の良いクラウドデータベースです。
オートスケーリング機能が高く、高可用性と高耐久性も兼ね備えています。
デフォルトで最低3つのマルチAZ構成となり、Auroraのリードレプリカによりパフォーマンスと可用性が上がります。
MySQLとPostgreSQLに互換性がありますが、それ以外のデータベースエンジンと互換性がない点には注意が必要です。
DBの性能より低コストでの運用を重要視する場合は、Amazon Auroraではなく他のRDSのDBを選択することも検討しましょう。
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
Lambdaを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する