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

Amazon Aurora では、データベースワークロード専用に構築された、SSD でバックアップされた仮想化ストレージレイヤーが採用されています。Amazon Aurora では、6 つの方法によって、ストレージを 3 つのアベイラビリティーゾーンに自動的にレプリケートします。Amazon Aurora ストレージは耐障害性を備え、最大 2 つまでのデータのコピー損失をデータベースの書き込み能力に影響せずに透過的に処理し、最大 3 つまでのコピー損失を読み込み能力に影響せずに処理します。また、Amazon Aurora ストレージは自己修復機能を備えています。データブロックおよびディスクはエラー検出のために継続的にスキャンされ、自動的に置き換えられます。Amazon Aurora による高可用性の詳細については、オンラインドキュメントを参照してください。

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

AWS を無料でお試しください

まずは無料で始める »
またはコンソールにサインイン

AWS 無料利用枠には、Amazon Relational Database Service (RDS)について、1 年間毎月 750 時間の Micro DB Instance、20 GB のストレージ、バックアップ用に 20 GB のストレージが含まれます。

AWS アカウント作成の流れはこちら »

日本担当チームへお問い合わせ »

MySQLMariaDBOracle、および PostgreSQL エンジンのマルチ AZ 配置は、同期物理レプリケーションを活用して、スタンバイしているデータをプライマリに合わせて最新の状態に維持します。SQL Server エンジンのマルチ AZ 配置は、同期論理レプリケーションを使用し、SQL Server ネイティブのミラーリングテクノロジーを採用して、同じ結果を達成しています。両方のアプローチによって、DB インスタンスの障害が発生したときや、アベイラビリティーゾーンが利用できなくなったような場合でも、データの安全が守られます。

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

データベース可用性の向上も、Multi-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 アクティビティは停止しません。ただし、Multi-AZ 配置のバックアップ中に、数分間、レイテンシーが増加する可能性があります。 

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

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

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

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

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

詳細については、Amazon RDS 料金表のページをご参照ください。

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

Amazon RDS マルチ AZ 配置は、Amazon RDS for MySQL、MariaDB、および PostgreSQL のリードレプリカを補完します。どちらの機能もデータのセカンドコピーを維持しますが、2 つの間には以下の違いがあります。

マルチ AZ 配置 リードレプリカ
同期レプリケーション – 高い耐久性 非同期レプリケーション – 高い拡張性
プライマリインスタンスのデータベースエンジンのみがアクティブ すべてのリードレプリカにアクセス可能で、読み込みのスケーリングに使用可能
スタンバイから自動バックアップを実行 デフォルトではバックアップは構成されない
1 つのリージョン内に常に 2 つのアベイラビリティーゾーンを展開 アベイラビリティーゾーン内、AZ 間、またはクロスリージョンに配置可能
データベースエンジンのバージョンアップグレードはプライマリで実施 データベースエンジンのバージョンアップグレードはソースインスタンスから独立
問題が検出されると、スタンバイに自動フェールオーバー スタンドアロンのデータベースインスタンスに手動で昇格可能

マルチ AZ 配置とリードレプリカを組み合わせると、それぞれの特長の相乗効果が得られます。例えば、ソースデータベースをマルチ AZ として高可用性で構成し、リードレプリカをリードスケーラビリティで (シングル AZ に) 作成できます。

RDS for MySQL および MariaDB を使用して、リードレプリカをマルチ AZ として設定し、リードレプリカを DR ターゲットとして使用することもできます。スタンドアロンデータベースにリードレプリカを昇格させると、マルチ AZ が有効になっています。RDS for PostgreSQL ではまだこの機能はサポートされていません。