Amazon RDSとAuroraの違いをまとめてみた

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

はじめに

今回は、Amazon RDSとAuroraの違いをまとめました。

比較表

Excelに違いをまとめてみました。

f:id:swx-fukushima:20210919203511p:plain

※可能と記載している場合でも、バージョンによってサポートされている/いないがあるため、ご注意ください。

補足

グローバルデータベース(表のNo.14)

プライマリのクラスターを異なるリージョンに読み取り専用のクラスタ(最大5つ)として、作成できる機能です。 書き込みは、プライマリのクラスターに直接発行します。 Aurora は、専用インフラストラクチャを使用しながら、通常 1 秒未満のレイテンシーで、データをセカンダリの AWS リージョンにレプリケートします。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-databases-conceptual-illo.png

以下から引用

Amazon Aurora グローバルデータベースの使用 - Amazon Aurora

マルチマスタークラスター(表のNo.15)

マルチマスタークラスターでは、すべての DB インスタンスで書き込みが可能です。 単一の読み書きプライマリインスタンスと、複数の読み取り専用 Aurora レプリカの概念は適用されません。 別の書き込み DB インスタンスを使用して、失敗したインスタンスの作業を引き継ぐことができるため、 書き込み DB インスタンスが利用できなくなっても、フェイルオーバーが発生することのない、継続的な可用性を実現可能です。

https://d2908q01vomqb2.cloudfront.net/887309d048beef83ad3eabf2a79a64a389ab1c9f/2019/06/11/A.jpg

以下から引用

Amazon Aurora マルチマスタークラスターが東京リージョンに対応しました | Amazon Web Services ブログ

クロスリージョンリードレプリカ(表のNo.10)

プライマリのクラスターとは異なる AWS リージョンに、リードレプリカとして作成できる機能です。 あくまでリードレプリカだけ、ソース DB クラスターとは異なる AWS リージョンに作成されるため、グローバルデータベースのようにクラスタは作成されません。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/read-replica-cross-region.png

以下から引用

別の AWS リージョンでのリードレプリカの作成 - Amazon Relational Database Service

データベースアクティビティストリーム(表のNo.16)

DB クラスター内のアクティビティのほぼリアルタイムのストリームを提供します。 アクティビティの種類は以下の通りです。

SQL コマンド – すべての SQL コマンドに加えて、準備済みステートメント、組み込み関数、および PL/SQL の関数も監査されます。ストアドプロシージャへの呼び出しが監査されます。ストアドプロシージャまたは関数内で発行された SQL ステートメントも監査されます。

他のデータベース情報 – モニタリングされるアクティビティには、完全な SQL ステートメント、DML コマンドから影響を受ける行の行数、アクセスされたオブジェクト、および一意のデータベース名が含まれます。Aurora PostgreSQL の場合、データベースアクティビティストリームは、バインド変数とストアドプロシージャパラメータもモニタリングします。

接続情報 – モニタリングされるアクティビティには、セッションとネットワークの情報、サーバープロセス ID、および終了コードなどがあります。

データベースアクティビティストリームのモニタリング - Amazon Aurora

バックトラック(表のNo.17)

バックトラックは、指定した時間まで DB クラスターを「巻き戻す」ことが可能です。 復元やポイントインタイムリカバリと違い、DBクラスターがオリジナルと別で作成されない(オリジナルのDBのデータを巻き戻す)ため、迅速に復元が可能です。 ただし、この機能を使うために、別途コストがかかるため、要注意です。

クローン(表のNo.18)

同じ Aurora クラスターボリュームを使用し、元のクラスターと同じデータを持つ新しいクラスターをすばやくコスト効率よく作成できます。 関連付けられたデータボリュームを持つ新しいクラスターは、クローンと呼ばれます。 クローンの作成は、スナップショットの復元など、他の手法を使用してデータを物理的にコピーするよりも、高速かつスペース効率に優れています。 Aurora のクローン作成は、データを破損の危険にさらすことなく、本番データを使用してテスト環境を迅速にセットアップする場合に特に役立ちます。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/aurora-cloning-copy-on-write-protocol-3.png

◆画像の補足
最初は、AもBも1,2,3,4のポインターを持っています。 ただし、AまたはBがそれぞれのデータを更新すると、1[A],4[B]のように別の領域をデータを保持し、ポインターを張ります。

以下から引用

Aurora DB クラスターのボリュームのクローン作成 - Amazon Aurora

Serverless (表のNo.19)

Aurora Serverless を使用すると、データベース容量を管理せずにクラウド内でデータベースを実行できます。 アプリケーションニーズに応じて、自動的に起動、シャットダウン、および容量を拡大または縮小します。

まとめ

Amazon RDSとAuroraに多く違いがあることは認識していたのですが、混乱することが多かったため、まとめました。

どなたかのお役に立てれれば幸いです。

福島 和弥 (記事一覧)

SRE3課

2019/10 入社

AWS CLIが好きです。