Amazon RDS マルチ AZ 配置では、RDS データベース (DB) インスタンスの可用性と耐久性が強化され、プロダクションデータベースのワークロードに適しています。マルチ AZ DB インスタンスをプロビジョニングすると、Amazon RDS によってプライマリ DB インスタンスが自動的に作成されると同時に、異なるアベイラビリティーゾーン (AZ) のスタンバイインスタンスにデータが複製されます。各アベイラビリティーゾーンは、その独自の、物理的にはっきりと独立したインフラストラクチャ上で稼働しています。また高い信頼性を保つように設計されています。インフラストラクチャ障害の場合、Amazon RDS はスタンバイ (Amazon Aurora の場合はリードレプリカ) に自動的にフェイルオーバーするので、フェイルオーバーが完了するとすぐにデータベースの動作を再開できます。フェイルオーバー後も DB インスタンスのエンドポイントは変わらないため、お客様のアプリケーションは、手動で管理の介入を行うことなくデータベースオペレーションを再開できます。

複数の Amazon RDS エンジンを使用すると、リードレプリカを追加してスケーラビリティを向上させ、AZ に障害が発生した場合にデータベースの可用性を維持できます。Amazon RDS リードレプリカは、異なる AZ の独自のスタンバイインスタンスでセットアップできます。Aurora の場合、複数のアベイラビリティーゾーンにリードレプリカを配置することを選択できます。

Amazon Aurora は、データベースワークロード専用の SSD でバックアップされた仮想化ストレージレイヤーを採用することにより、マルチ AZ の利点をさらに拡張します。6 つの方法によって、ストレージを 3 つのアベイラビリティーゾーンに自動的にレプリケートします。Amazon Aurora ストレージは耐障害性を備えており、データベースの書き込み性能に影響を与えることなく最大 2 つ、読み込み性能に影響を与えることなく最大 3 つのデータコピーの損失を透過的に処理します。Aurora は、データベースがリードレプリカを使用しているかどうかに関係なく、常に 3 つのアベイラビリティーゾーンにデータを複製します。

Amazon RDS インスタンスをマルチ AZ に変換する (3:01)

利点

耐久性の向上

MySQL、MariaDB、Oracle、PostgreSQL のエンジンのマルチ AZ 配置では、同期物理レプリケーションを活用して、スタンバイ状態のデータをプライマリに合わせて最新の状態に維持します。SQL Server エンジンのマルチ AZ 配置では、同期論理レプリケーションを使用し、SQL Server ネイティブのミラーリングテクノロジーを採用することで同じ結果を実現しています。Amazon Aurora は、データベースワークロード専用に構築された、SSD でバックアップされた仮想化ストレージレイヤーを使用します。すべてのアプローチによって、DB インスタンスの障害が発生したときや、アベイラビリティーゾーンが利用できなくなったような場合でも、データの安全が守られます。

可用性の向上

データベース可用性の向上は、マルチ AZ 配置を運用するときのメリットの 1 つです。アベイラビリティーゾーンまたは DB インスタンスの障害が発生した場合、可用性への影響が現れるのは、自動フェイルオーバーが完了するまでの間のみで、Amazon Aurora の場合 1 分間以内 (Maria DB Connector/J を使用する場合わずか 30 秒)、その他のデータベースエンジンでは 1~2 分間です (詳細については、RDS のよくある質問を参照してください)。

マルチ AZ 配置の可用性は、計画されたメンテナンスとバックアップにも役立ちます。OS のパッチ処理または DB インスタンスの拡張のようなシステムアップグレードの場合、このような処理は、まずスタンバイに適用されてから、自動フェイルオーバーが行われます。したがって、可用性への影響が現れるのは自動フェイルオーバーを完了するのに必要な時間までとなります。

データベースパフォーマンスの保護

シングル AZ 配置とは異なり、MySQL、MariaDB、Oracle、および PostgreSQL エンジンのマルチ AZ 配置のバックアップ中は、スタンバイからバックアップが実行されるため、プライマリの I/O アクティビティは停止しません。ただし、マルチ AZ 配置のバックアップ中に、数分間、レイテンシーが増加する可能性があります。

Amazon Aurora デプロイでのインスタンスの障害に対して、Amazon RDS は RDS Multi-AZ テクノロジーを使用して、3 つのアベイラビリティーゾーンのいずれかに作成された Amazon Aurora レプリカの 1 つ(最大 15 個まで)にフェイルオーバーを自動化します。Amazon Aurora レプリカがプロビジョンされていない場合、障害が発生した場合には Amazon RDS によって新しい Amazon Aurora DB インスタンスの作成が自動的に試行されます。

自動フェイルオーバー

マルチ AZ 配置でプライマリインスタンスのストレージボリュームに障害が発生すると、Amazon RDS では最新のスタンバイ (Amazon Aurora の場合はレプリカ) へのフェイルオーバーを自動的に開始します。これをシングル AZ 配置と比較します。Single-AZ データベースに障害が発生すると、ユーザーが開始するポイントインタイム復元操作が必要になります。この操作が完了するには数時間かかる可能性があります。また、最新の復元可能な時刻(一般的には直近 5 分以内)後に発生したデータの更新は利用できません。

DB インスタンスのフェイルオーバーは完全に自動であり、管理を中断する必要はありません。Amazon RDS はプライマリとスタンバイの状態を監視し、多様な障害条件に応じて自動的にフェイルオーバーを開始します。

フェイルオーバーの条件

Amazon RDS では、マルチ AZ 配置における一般的な障害シナリオの検出とリカバリが自動的に行われるので、管理者の介入は不要でデータベース操作を可能な限りすみやかに再開できます。Amazon RDS によって自動的にフェイルオーバーが実行されるのは、次のことが発生したときです。

  • プライマリ利用可能ゾーンの可用性損失
  • プライマリに対するネットワーク接続の喪失
  • プライマリ上でのコンピューティングユニット障害
  • プライマリへのストレージ不良

注: DB インスタンスのスケーリングやシステムアップグレード (OS パッチ適用など) がマルチ AZ 配置に対して行われるときは、可用性を高めるために、これらが最初にスタンバイに適用されて、その後で自動フェイルオーバーが実行されます (アップデートされた動作に関する詳細は、Aurora に関するドキュメントを参照してください)。したがって、可用性への影響が現れるのは自動フェイルオーバーを完了するのに必要な時間までとなります。なお、Amazon RDS マルチ AZ 配置での自動フェイルオーバーは、データベース操作におけるエラー(長時間実行クエリ、デッドロック、データベース破損など)の発生に対しては行われません。

複数のデータセンターにわたる耐障害性

設定

AWS マネジメントコンソールを使用すると、新しいマルチ AZ 配置の作成や既存のシングル AZ インスタンスをマルチ AZ 配置に変更する操作が簡単になります。AWS マネジメントコンソールを使用して新しいマルチ AZ 配置を作成するには、DB インスタンスを起動する際に、[マルチ AZ 配置] で [はい] オプションをクリックします。既存の Single-AZ DB インスタンスをマルチ AZ 配置に変換するには、AWS マネジメントコンソールで DB インスタンスに対応する [変更] オプションを使用します。

マルチ AZ 配置、マルチリージョン配置、およびリードレプリカ

Amazon RDS マルチ AZ 配置は、マルチリージョン配置とリードレプリカを補完します。3 つの機能はすべて、データの追加コピーを保持することで可用性と耐久性を向上させますが、それらの間には違いがあります。

マルチ AZ 配置

マルチリージョン配置

リードレプリカ

主な目的は高可用性です

主な目的は災害復旧とローカルパフォーマンスです

主な目的はスケーラビリティです

Aurora 以外: 同期レプリケーション、Aurora: 非同期レプリケーション

非同期レプリケーション

非同期レプリケーション

Aurora 以外: プライマリインスタンスのみがアクティブです。Aurora: すべてのインスタンスがアクティブです。

すべてのリージョンにアクセスでき、読み取りに使用できます

すべてのリードレプリカにアクセス可能で、読み込みのスケーリングに使用可能

Aurora 以外: 自動バックアップはスタンバイから取得されます。Aurora: 自動バックアップは共有ストレージレイヤーから取得されます。

各リージョンで自動バックアップを取得できます

デフォルトではバックアップは構成されない

1 つのリージョン内に常に 2 つ以上のアベイラビリティーゾーンを展開

各リージョンに対してマルチ AZ 配置が可能

アベイラビリティーゾーン内、AZ 間、またはリージョン間に配置可能

Aurora 以外: データベースエンジンのバージョンアップグレードはプライマリで実施されます。Aurora: すべてのインスタンスが一緒に更新されます。

Aurora 以外: データベースエンジンのバージョンアップグレードは各リージョンで独立しています。Aurora: すべてのインスタンスが一緒に更新されます。

Aurora 以外: データベースエンジンのバージョンアップグレードは、ソースインスタンスから独立しています。Aurora: すべてのインスタンスが一緒に更新されます。

問題が検出された場合のスタンバイ (Aurora 以外) またはリードレプリカ (Aurora) への自動フェイルオーバー

Aurora は、セカンダリリージョンのプロモーションをマスターにすることができます

手動でスタンドアロンのデータベースインスタンス (Aurora 以外) またはプライマリインスタンス (Aurora) に昇格できます

マルチ AZ 配置を他の Amazon RDS 機能と組み合わせて、それぞれの利点を享受できます。たとえば、ソースデータベースをマルチ AZ として高可用性で構成し、リードレプリカをリードスケーラビリティで (シングル AZ に) 作成できます。または、Aurora Global Database を使用して、マルチ AZ Aurora 配置から追加のリージョンにデータを複製できます。

RDS for MySQL、MariaDB、PostgreSQL、Oracle を使用して、リードレプリカをマルチ AZ として設定し、またリードレプリカを DR ターゲットとして使用することもできます。スタンドアロンデータベースにリードレプリカを昇格させると、マルチ AZ が有効になっています。

Amazon RDS 機能の詳細
RDS 機能の詳細

Amazon RDS の主な特徴を調べます。 

詳細 
AWS アカウントにサインアップする
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールの Amazon RDS で構築を開始する
コンソールで構築を開始する

Amazon RDS マネジメントコンソールで使用を開始する

サインイン