のびしろ

AWSのRDSのMulti-AZ/Multiリージョン アーキテクチャ

AWSのRDSでサポートされている、サーバ障害、アベイラビリティーゾーン(AZ)障害、リージョン障害の対応アーキテクチャをご紹介します。

RDSのMulti-AZ アクティブ/スタンバイ

RDSのインスタンスの高可用性およびフェイルオーバーを実現するには、Multi-AZを指定してデプロイします。
これにより、異なるアベイラビリティーゾーン(AZ)で同期スタンバイレプリカを自動的に構築し維持されます。

障害前
これによりプライマリRDSは、AZ間でスタンバイRDSに同期レプリケーションされ、データの冗長性を提供します。RDS障害やAZ障害からデータベースを保護する可能性を高めることができますし、計画メンテの際にも可用性を向上させることができます。


RDSのMulti-AZ アクティブ/スタンバイ(障害前)

障害発生時
計画的な停止または障害を検知すると、Multi-AZ構成のプライマリRDSは別のAZのスタンバイRDSに自動的に切り替わります。


RDSのMulti-AZ アクティブ/スタンバイ(障害発生時)

障害後
スタンバイRDSが起動されプライマリRDSとなると、元のAZで、新たにスタンバイRDSが⾃動的に再構築されます。


RDSのMulti-AZ アクティブ/スタンバイ(障害後)

Multi-AZ アクティブ/スタンバイは、MariaDB、Microsoft SQL Server、MySQL、Oracle、PostgreSQL DB エンジンによりサポートされています。

RDSのリードレプリカ

RDSリードレプリカで、読み取りクエリをアプリケーションからリードレプリカにルーティングすることで、読み取り負荷をプライマリRDSからオフロードできます。読み取り高いデータベースワークロードに適しています。


RDSのリードレプリカ

ソースデータベースごとに最⼤5つのリードレプリカを作成可能です。

プライマリRDSに対して行った更新は、リードレプリカに非同期レプリケーションされます。非同期処理のため遅延が発生しますので、プライマリには更新処理とリアルタイムに参照が必要な参照処理を実⾏し、リードレプリカにはリアルタイムが不要な参照処理を実行させましょう。

障害後
障害のレベルがサーバ障害であれば、同一のアベイラビリティーゾーン(AZ)内のリードレプリカをスタンドアロンインスタンスに昇格させることで読み書き可能となりますので、これにより障害のフェールオーバーを行います。


RDSのリードレプリカ(サーバ障害後)

障害のレベルがアベイラビリティーゾーン(AZ)全体の障害であれば、別のアベイラビリティーゾーン(AZ)内のリードレプリカをスタンドアロンインスタンスに昇格させることで読み書き可能となりますので、これにより障害のフェールオーバーを行います。


RDSのリードレプリカ(AZ障害後)

リードレプリカは、MariaDB、Microsoft SQL Server、MySQL、Oracle、PostgreSQL DB エンジンによりサポートされています。
Oracle レプリカは、Oracle Enterprise Edition (EE) エンジンでのみ使用することができ、かつActive Data Guard ライセンスが必要となります。
SQL Serverリードレプリカは、SQL Server Enterprise Edition (EE) エンジンでのみ使用することができます。

RDSのクロスリージョンリードレプリカ

災害発⽣時⽤に異なるリージョンにクロスリージョンリードレプリカを作成しておくことで災害対策にもなります。


RDSのクロスリージョンリードレプリカ

障害後
障害のレベルがリージョン全体の障害であれば、別のリージョンのリードレプリカをスタンドアロンインスタンスに昇格させることで読み書き可能となりますので、これにより障害のフェールオーバーを行います。


RDSのクロスリージョンリードレプリカ(災害時)

クロスリージョンリードレプリカは、MariaDB、MySQL、Oracle、PostgreSQLエンジンによりサポートされています。
Oracle レプリカは、Oracle Enterprise Edition (EE) エンジンでのみ使用することができ、かつActive Data Guard ライセンスが必要となります。

RDSのクロスリージョン自動バックアップ

RDSのバックアップを自動的に別のリージョンにレプリケーションすることが出来ます。
プライマリ AWS リージョンからセカンダリ AWS リージョンへのシステムスナップショットとトランザクションログの自動レプリケーションが可能ですので、災害対策機能を向上させることができます。


RDSのクロスリージョン自動バックアップ

クロスリージョン自動バックアップは、Oracle、PostgreSQL、Microsoft SQL Server エンジンによりサポートされています。
バックアップレプリケーションは、暗号化された SQL Server DB インスタンスではサポートされていません。

AWSのRDSのMulti-AZ/Multiリージョン アーキテクチャまとめ


RDSのバックアップ&レプリカまとめ

参考情報

単一のスタンバイ DB インスタンスでマルチ AZ デプロイを使用して、Amazon RDS で DB インスタンスの高可用性およびフェイルオーバーサポートを取得します。
マルチAZ DB インスタンスのデプロイ - Amazon Relational Database Service - docs.aws.amazon.com
ソース Amazon RDS DB インスタンスからリードレプリカを作成して、読み取り操作をスケールアウトします。
リードレプリカの使用 - Amazon Relational Database Service - docs.aws.amazon.com
別の AWS リージョンに、DB インスタンスの自動バックアップをレプリケーションします。
別の AWS リージョンへの自動バックアップのレプリケーション - Amazon Relational... - docs.aws.amazon.com