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

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 分以内)後に発生したデータの更新は利用できません。

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

データベース可用性の向上も、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 for MySQL、および PostgreSQL では、これらのエンジンの組み込みレプリケーション機能をリードレプリカで使用することにより、単一の DB インスタンスのキャパシティ制限を超えてスケーリングできます(読み取りの多いデータベースワークロードの場合)。Multi-AZ 配置とリードレプリカを組み合わせると、それぞれの特長の相乗効果が得られます。与えられた Multi-AZ 配備がお客様のリードレプリカのソース DB インスタンスであることを指定するだけです。この方法により、Multi-AZ 配備のデータ耐久性と可用性、およびリードレプリカの読込み能力の拡大という両面の利点を得ることができます。

Multi-AZ 配備の場合、冗長性を向上するために、プライマリやスタンバイとは異なる AZ にリードレプリカを作成することもできます。スタンバイに対応する AZ を特定するには、AWS マネジメントコンソールで、DB インスタンスの [セカンダリゾーン] フィールドを確認します。