- データベース›
- Amazon RDS›
- Amazon RDS の特徴
Amazon RDS リードレプリカ
Amazon RDS がレプリカをリードする理由
Amazon RDS リードレプリカによって、Amazon RDS データベース (DB) インスタンスのパフォーマンスと耐久性が向上します。これを使用すれば、読み取り頻度の高いデータベースのワークロードに対して、単一 DB インスタンスキャパシティーの制約を超えて伸縮自在にスケールアウトできます。ソース DB インスタンスのレプリカを複数作成し、アプリケーションの大容量読み取りトラフィックをデータの複数のコピーから提供することにより、全体の読み込みスループットを向上させることができます。必要な場合は、リードレプリカをスタンドアロンの DB インスタンスに昇格させることも可能です。リードレプリカは、Amazon Auroraだけでなく、 MySQL用Amazon RDS 、 MariaDB用Amazon RDS、 PostgreSQL用Amazon RDS、オラクル用Amazon RDS 、SQL Server用Amazon RDS、Db2用Amazon RDS(Amazon RDS)でもご利用いただけます。
MySQL、MariaDB、PostgreSQL、Oracle、SQL Server のデータベースエンジンの場合、Amazon RDS ではソース DB インスタンスのスナップショットを使用して、2 番目の DB インスタンスを作成します。その後、ソース DB インスタンスが変更されるたびに、エンジンのネイティブ非同期レプリケーションを使用して、リードレプリカを更新します。リードレプリカは、読み取り専用接続のみ許可される DB インスタンスとして動作します。アプリケーションは、DB インスタンスの場合と同じ方法でリードレプリカに接続できます。Amazon RDS は、ソース DB インスタンスのすべてのデータベースを複製します。
Amazon Aurora は、データベースワークロード専用に構築された SSD ベースの仮想化ストレージレイヤーを採用することで、リードレプリカの利点をさらに拡大します。Amazon Aurora レプリカはソースインスタンスと同じ基盤となるストレージを共有するので、コストが抑えられ、データをレプリカノードにコピーする必要がありません。Amazon Aurora でのレプリケーションの詳細については、オンラインドキュメントを参照してください。
Amazon RDS リードレプリカの利点
セットアップ
AWS マネジメントコンソールを使用して、リードレプリカを既存の DB インスタンスに簡単に追加できます。AWS マネジメントコンソールの DB インスタンスに対応する [Create Read Replica] (リードレプリカを作成) オプションを使用します。Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon RDS for MariaDB、および Amazon RDS for SQL Server では、各 DB インスタンスに最大 15 個のリードレプリカを追加できます。Amazon RDS for Oracle では、各 DB インスタンスに最大 5 個のリードレプリカを追加できます。
Amazon RDS for MySQL、Amazon RDS for PostgreSQL、Amazon RDS for MariaDB、および Amazon RDS for Oracle では、データベースストレージに SSD ベースの 2 つの選択肢を提供しています。つまり汎用とプロビジョンド IOPS です。これらのエンジンのリードレプリカについては、プライマリ DB インスタンスと同じストレージタイプを使用する必要がありません。パフォーマンスや支出を最適化するため、リードレプリカには別のストレージタイプを選択できます。 詳細については、Amazon RDS for MySQL、MariaDB 用 Amazon RDS 、 PostgreSQL 用 Amazon RDS、Oracle 用 Amazon RDS、SQL Server 用 Amazon RDS、Amazon Aurora のレプリカドキュメントを参照してください。
リードレプリカ、マルチ AZ 配置、およびマルチリージョン配置
Amazon RDS リードレプリカはマルチ AZ 配置を補完します。どちらの機能もデータのセカンドコピーを維持しますが、2 つの間には以下の違いがあります。
|
Multi-AZ deployments
|
Multi-Region deployments
|
Read replicas
|
|---|---|---|
|
主な目的は高可用性です
|
主な目的は災害復旧とローカルパフォーマンスです |
主な目的はスケーラビリティです |
|
Aurora 以外: 同期レプリケーション、Aurora: 同期レプリケーション
|
非同期レプリケーション |
非同期レプリケーション |
|
Aurora 以外: プライマリインスタンスのみがアクティブです。Aurora: すべてのインスタンスがアクティブです。
|
すべてのリージョンにアクセスでき、読み取りに使用できます |
すべてのリードレプリカにアクセス可能で、読み込みのスケーリングに使用可能 |
|
Aurora 以外: 自動バックアップはスタンバイから取得されます。Aurora: 自動バックアップは共有ストレージレイヤーから取得されます。
|
各リージョンで自動バックアップを取得できます |
デフォルトではバックアップは構成されない |
|
1 つのリージョン内に常に 2 つ以上のアベイラビリティーゾーンを展開
|
各リージョンに対してマルチ AZ 配置が可能 |
アベイラビリティーゾーン内、AZ 間、またはリージョン間に配置可能 |
|
Aurora 以外: データベースエンジンのバージョンアップグレードはプライマリで実施されます。Aurora: すべてのインスタンスが一緒に更新されます。
|
Aurora 以外: データベースエンジンのバージョンアップグレードは各リージョンで独立しています。Aurora: すべてのインスタンスが一緒に更新されます。 |
Aurora 以外: データベースエンジンのバージョンアップグレードは、ソースインスタンスから独立しています。Aurora: すべてのインスタンスが一緒に更新されます。 |
|
問題が検出された場合のスタンバイ (Aurora 以外) またはリードレプリカ (Aurora) への自動フェイルオーバー
|
Aurora は、セカンダリリージョンのプロモーションをプライマリにすることができます |
手動でスタンドアロンのデータベースインスタンス (Aurora 以外) またはプライマリインスタンス (Aurora) に昇格できます |
リードレプリカを他の Amazon RDS 機能と組み合わせて、それぞれの利点を享受できます。たとえば、ソースデータベースをマルチ AZ として高可用性で構成し、リードレプリカをリードスケーラビリティで (シングル AZ に) 作成できます。または、 Aurora グローバルデータベースを使用して、マルチ AZ Aurora 配置のデータを他のリージョンに複製することもできます。
MySQL 用 RDS、MariaDB 用の RDS、PostgreSQL 用の RDS、および Oracle 用の RDS を使用すると、リードレプリカをマルチ AZ として設定して、リードレプリカを DR ターゲットとして使用することもできます。スタンドアロンデータベースにリードレプリカをプロモートさせると、もうマルチ AZ は有効になっています。