Amazon Auroraについてまとめてみる。
今回は、Amazon Auroraに関してまとめてみようと思います。
新規開発でAmazon Aurora Serverlessを使用するので、基本から改めてまとめてみようと思います。
Amazon Auroraとは
Amazon AuroraはAWSが開発したMySQLおよびPostgreSQLと互換性のあるクラウド向けRDBのことです。
従来のMySQLおよびPostgreSQLは、OSSで安価であるのがメリットの一つですが、一方で性能を十分なものにするには別途スキルが必要になります。こちらをカバーするため、性能面や拡張機能を充実させたものがAmazon Auroraです。
AmazonRDSとAuroraの違い
1. コスト面
- AmazonRDS: コスト低。
- Aurora: (RDSに比べると)かかる傾向にある。
2. データベースエンジン
- AmazonRDS: MySQL・PostgreSQL・Oracle等多くのエンジンを選択可能。
- Aurora: MySQL・PostgreSQLのみ。
3. データベースバージョン
- AmazonRDS: あらゆるバージョンを選択できる。
- Aurora: 選択できるバージョンが限定されている。
(例)PostgreSQLは10・11・12・13・14のみ。
Auroraのアーキテクチャ
Auroraはクラスタという単位で構成されています。
クラスタは、1つ以上のDBサーバーで構成されるインスタンス層とデータを管理するストレージ層で構成されています。
データを保存するストレージ層は2.3AZにわたりコピーされるため障害が起きた際もデータベースの稼働に影響が出ないようになっています。

Auroraの特徴
1. バックトラック
より高速にデータベースの状態をリカバリする機能で、データを巻き戻したり進めたりすることができます。
2. クラスタキャッシュ管理
プライマリインスタンスが持っているキャッシュを特定のAuroraレプリカと共有することができる機能。
障害発生でフェールオーバーが行われた際に、キャッシュがフェールオーバーされないと一時的にDBの処理能力が下がってしまいます。クラスタキャッシュ管理を使用することで、フェールオーバー時のDB処理能力を抑えることが可能となります。
3. 並行クエリ
インスタンス層が実行するクエリ実行等の処理をストレージ層のリソースにオフロードして実行させる機能で、クエリの実行高速化が実現できます。
4. マルチマスター
従来のRDSはシングルマスター構成だが、Auroraは複数のプライマリDBを使用することができます。
よって片方のプライマリDBで障害が発生しても、もう片方のプライマリDBで継続的な書き込みができます。
特徴はまだたくさんあるのですが長くなってしまうため、一部のみの紹介とさせてください。
AmazonRDSかAuroraかの判断基準
1. AmazonRDSを選ぶ理由
- 最新バージョンを使用したい。
- Auroraでは利用できないサービスを利用したい。
2. Auroraを選ぶ理由
- Aurora独自の機能を使用したい。
- 運用面・性能面で最適化されたサービスを利用したい。
- 信頼性のあるサービスを利用したい。
Auroraについて改めてまとめてみました。
一つの記事にまとめようとするともっと大きくなってしまうため、一つ一つの機能にフォーカスしてまとめてみようと思います。
最後まで読んでいただきありがとうございました。