
目次
この記事ではAmazon Auroraについての特徴を独自の視点でまとめています。
Amazon_Auroraとは?
- クラウド用に構築された MySQL および PostgreSQL 互換のリレーショナルデータベース
Auroraの特徴
- Auroraはマルチマスター機能によって別AZにWriterのマスターをマルチ構成で生成できる
- DBインスタンスでは常に自動バックアップが有効になっている
- 自動バックアップを無効にすることができない
- バックアップの保持期間は DB クラスターによって管理される
- 標準の MySQL の最大の5倍のスループットを実現する
- postgresql の最大3倍のスループットを実現する
このシナリオでは、EC2インスタンスのWEBサーバーとOLTP処理を行うデータベースの両方をスケーラブルな構成によって可用性を高める必要があります。
したがって、複数のアベイラビリティーゾーンにまたがるEC2インスタンスにAuto ScalingグループとELBを設定することが基本対応となります。
これに加えて、データベースは、不規則なピーク処理が発生することからAuroraサーバレスを利用します。
Aurora Serverless では、DB インスタンスクラスのサイズを指定せずにデータベースエンドポイントを作成できます。最小と最大のキャパシティーを設定します。
Aurora Serverless では、データベースエンドポイントがプロキシフリートに接続されます。このプロキシフリートでは、ワークロードをルーティングする先のリソースのフリートがオートスケーリングされます。
プロキシフリートを使用すると、最小と最大のキャパシティー仕様に基づいて Aurora Serverless がリソースを自動的にスケールするため、接続が途切れることはありません。
Auroraはクラウド向けに構築され、MySQL や PostgreSQL と互換性のあるリレーショナルデータベースです。
通常のRDSよりも高速なパフォーマンスが実現できますが、ユーザー行動データの高速処理はElastiCacheの方が向いています。
Amazon Aurora (Aurora) は完全マネージド型のリレーショナルデータベースエンジンで、MySQL および PostgreSQL と互換性があります。
MySQL と PostgreSQL が、ハイエンドの商用データベースのスピードおよび信頼性と、オープンソースデータベースのシンプルさとコスト効率を併せ持っています。
既存の MySQL および PostgreSQL データベースで現在使用しているコード、ツール、アプリケーションを Aurora でも使用できます。Aurora では、既存のアプリケーションのほとんどを変更することなく、ほんの少しのワークロードで MySQL のスループットの 5 倍、PostgreSQL のスループットの 3 倍を実現します。
Amazon Aurora は 3 つのアベイラビリティーゾーンにわたってユーザーのデータを 6 個レプリケーションし、継続的に Amazon S3 にバックアップすることで、可用性が 99.99% を超えるように設計されています。物理ストレージの障害は透過的に復旧され、インスタンスのフェイルオーバーは通常 30 秒未満で完了します。また、数秒で過去のある時点にバックトラックして、ユーザーエラーから復旧することもできます。Global Database を使用すれば、単一の Aurora データベースを複数の AWS リージョンで利用できるため、ローカルで高速な読み取りと迅速な災害復旧が可能になります。
参考サイト
Auroraの可用性について
月間稼働率が99%以上で使用できるようにするSLAが設けられいる対策
AuroraはソースDBクラスターとは異なるリージョンにリードレプリカを作成することができます。 この方法を採用すると、障害回復機能を向上させ、読み取り操作をユーザーに近いリージョンに拡張しつつ、あるリージョンから別のリージョンへの移行を容易にすることができます。Amazon Aurora MySQL DB クラスターを、ソース DB クラスターとは異なる AWS リージョンにリードレプリカとして作成できます。このアプローチを使用すると、災害対策機能が向上し、ユーザーに近い AWS リージョンへの読み取りオペレーションをスケールして、AWS リージョン間の移行を容易にすることができます
Auroraサーバレスについて
ユースケース
システムはコールセンターのピーク時には非常に負荷が高まりますが、その負荷発生の周期が一定ではありません。データベースはオンライントランザクション処理(OLTP)が実施されており、この処理も同様にスケーラブルにする必要があります。
これらの要件を満たすためのAWSデータベース構成
複数のアベイラビリティーゾーンにまたがるEC2インスタンスにAuto ScalingグループとELBを設定することが基本対応となります。これに加えて、データベースは、不規則なピーク処理が発生することからAuroraサーバレスを利用します。
Aurora Serverless では、DB インスタンスクラスのサイズを指定せずにデータベースエンドポイントを作成できます。最小と最大のキャパシティーを設定します。 Aurora Serverless では、データベースエンドポイントがプロキシフリートに接続されます。このプロキシフリートでは、ワークロードをルーティングする先のリソースのフリートがオートスケーリングされます。プロキシフリートを使用すると、最小と最大のキャパシティー仕様に基づいて Aurora Serverless がリソースを自動的にスケールするため、接続が途切れることはありません。
オートスケールについて
AuroraやRDSはオートスケールによって自動で性能を拡張することができません。
オーロラ以外の AWS が提供しているデータベース
dynamo DB