Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

AWSのAuroraについてまとめています。

AWS Auroraは高性能なRDBサービス

AWS Auroraとは、Amazon RDS(データベースサービス)で選べるDBエンジンの一つです。

関連)Amazon Aurora(高性能マネージドリレーショナルデータベース)| AWS

AWS Auroraには、MySQL互換エディションと、PostgreSQL互換エディションがあります。DBMS部分とストレージ部分が完全に切り離されているのが特徴。

Auroraには、データの読み書きをおこなうMaster(プライマリDBインスタンス)と、Masterと同じストレージボリュームに接続して読み取りオペレーションのみをサポートするRead Replicaで構成されます。

関連)Amazon Aurora DB クラスター – Amazon Aurora

このため、変更をおこなうMasterとデータ読み込み時に使われるRead Replicaが同一のストレージにアクセスできます。データベースのレプリケーションのための「Masterでおこなった変更をレプリカに反映させる」という手順が不要になります。結果として、Read Replicaを増やすことで読み込み速度を上げることが可能になります。

参考)Amazon Auroraがなぜ高速か解説する – OthloBlog – オスロブログ –

このため、Amazon Aurora は、エンタープライズデータベースのパフォーマンスと可用性に加えて、OSSベースのデータベースのシンプルさとコストの安さを兼ね備えていることになります。

具体的には、どの程度のパフォーマンスやコストの安さが実現できるのでしょうか?

公式サイトによれば、Amazon Aurora は、標準的な MySQL データベースと比較して最大 5 倍、PostgreSQL データベースと比較して最大で 3 倍高速となっています。それでいて、商用データベースと同等のセキュリティ、可用性、信頼性を実現するためのコストが10 分の 1で済みます。Amazon Aurora は Amazon Relational Database Service (RDS) を使った完全マネージド型サービスなので、ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップといった時間のかかる管理タスクが自動化することができます。

ストレージ容量に関してもDBインスタンスごとに最大128TBまで自動的にスケールされます。Amazon Aurora のストレージシステムは、分散型。耐障害性と自己修復機能を備えています。Amazon Aurora は、最大15個まで持てるリードレプリカにより特にデータ読み出し時のパフォーマンスを発揮します。また、ポイントインタイムリカバリ(スナップショット)、Amazon S3 へのバックアップ、3 つのAZ間でのレプリケーションにより障害発生時の可用性についても期待できます。

AWS auroraのメリット

OSSベースのデータベースである、MySQLやPostgreSQLと互換性を持ち、クラウドならではのパフォーマンス(性能)と、高可用性、安全性を備えている点がメリットです。

このため、既存のMySQLやPostgreSQLの移行先として注目されています。既存のデータベースサーバのパッチ適用や障害時の運用などのコストを大幅に削減できる上、「データベース容量が足りなくなってきた…」という場合でも新規にハードウェアを調達してシステム更改することなく自動的に容量をスケール(最大128TB)できるんですね。

AWSならではのセキュリティの高さもポイントです。Amazon VPC によるネットワーク分離、AWS Key Management Service (KMS) のキーによる保管時の暗号化、転送中データの SSL による暗号化など、安全性についても安心。Amazon Auroraインスタンスでは、基盤ストレージが暗号化され、クラスター内にある自動化バックアップ、スナップショット、レプリカも暗号化されます。

【関連記事】
MySQLやPostgreSQLをお使いの方へおススメ!Amazon Aurora

AWS Auroraの料金

AWS Auroraは従量課金制で、初期費用や最低料金設定はありません。

関連)料金 – Amazon Aurora | AWS

DBインスタンス料金に加え、ストレージ料金とI/O料金がかかります。

DBインスタンスは、スタンダートインスタンスとメモリ最適化インスタンスがあり、インスタンスの種類とリージョンによって料金が異なります。また、インスタンスを用意せずにデータベースクエリをおまかせ実行できるAmazon Aurora Serverlessは、アプリケーションのニーズに沿ってDB容量を自動調整するオンデマンドの Auto Scaling 構成となっていて、別の料金体系が用意されています。

AuroraキャパシティーユニットのACU時間料金がかかるんですね。

AWS auroraとRDSの違い

AWS AuroraはAmazon RDSのサービスの一部です。データベースエンジンを選択する箇所で、選択肢としてMySQLやPostgreSQLと同列にAmazon auroraが出てくるんですね。


参考)DB インスタンスを作成する – Amazon Relational Database Service

RDSでMySQLを選ぶのと、RDSでAmazon Auroraを選びMySQL互換エディションを使うのとでは何が違うのでしょうか? データベースとしてMySQLやPostgreSQLを使う場合、何を基準にRDSかAmazon Auroraかを選べばよいのでしょう?

【関連記事】
Amazon RDSでデータベースを簡単に構築できます! 

まず、Amazon Auroraは並列クエリによる高性能な点、バックアップ、リストア、リカバリーが早い点がメリットとして挙げられます。デメリットは、対応バージョンが異なる点。RDSでは比較的古いバージョンのMySQLやPostgreSQLにも対応していますが、Auroraでは、最新バージョンか準最新バージョンのみ。アプリケーション等の仕様でデータベースのバージョンが決まっている場合、ケースによってはRDSしか選べないということもあります。

もうひとつはコスト面。インスタンス料金はAmazon Auroraの方が高めです。単純にDBインスタンス1個、他は最低限で良いという場合にはRDSが安くなります。しかし、可用性を持たせるために複数構成にしたり、災害対策で異なる拠点にインスタンスやストレージを起きたい(Multi-AZ)の場合、Auroraの方が安くなるケースがあります。負荷を分散するためにレプリケーションをおこなう場合でも、RDSではレプリケーションのインスタンスを増やすごとにストレージ容量も増えますが、Auroraではリードレプリカのインスタンス料金はかかりませんし、ストレージもプライマリ領域を共有するためストレージ料金もかかりません。

コストを検討する場合には、構成をある程度詰めてから見積もる必要があるんですね。

AWS Auroraのまとめ

ポテパンダの一言メモ
  • AWS Auroraは、RDSで選べるデータベースエンジンでMySQLとPostgreSQL互換バージョンあり
  • Auroraはオリジナルと比べて、MySQLで最大5倍、PostgreSQLで最大3倍高速
  • 要件によって、RDS上のMySQLやPostgreSQLと、Auroraとでコストの優位性が逆転する可能性あり

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。