web-dev-qa-db-ja.com

AWS RDS Auroraがデフォルトですでに異なるゾーン間でレプリケーションを行うときに、「マルチAZデプロイ」のオプションがあるのはなぜですか?

Auroraインスタンスを起動するとき、「マルチAZ配置」のオプションがあります。これは、「DBインスタンスに別のアベイラビリティーゾーンにスタンバイを配置するかどうかを指定する」と記載されています。

ただし、Auroraのドキュメントでは、Auroraはすでにデータベースをさまざまなアベイラビリティーゾーンに自動的に分散していると述べていますか?

さらに、Aurora Multi-AZスタンバイと通常のAuroraレプリカの違いは何ですか。それは、通常のレプリカはパフォーマンスの向上から読み取ることができますが、スタンバイは読み取ることができないということですか?

27
Hard worker

Auroraはdataをストレージレイヤーの3つのアベイラビリティーゾーンにレプリケートします...しかし、データベースサーバーインスタンス自体は、単一のアベイラビリティーゾーンにある単一の物理マシン。

Auroraストレージレイヤーはそのインスタンスの外部にあり、2つまでのAZが失われた場合でも、データを失うことなくアクセスを中断せずに続行できますが、dbインスタンスを含むゾーンが失われると、クラスター内にAuroraインスタンスが1つしかない場合(マスター1つ、レプリカ0つ)。アベイラビリティーゾーン全体の損失は、ありそうもないが不可能ではないことの1つです。 dbインスタンスが1つしかない場合でも、単一障害点のままです。

マルチAZは、別のAZで完全に冗長なデータベースインスタンスを許可します。これは、プライマリインスタンスをホストしているAZが失われた場合、または壊滅的な場合に、設計どおりに機能している場合、1分以内にプライマリを自動的に引き継ぎます。プライマリインスタンスの障害。これは、2番目のアベイラビリティーゾーンにある2番目の物理マシン上の2番目の仮想マシンです。常に実行されていますが、アクセスできません。これはバックグラウンドにあり、RDSインフラストラクチャによって管理および監視されていますが、プライマリインスタンスに障害が発生した場合にのみアクセスできます。セカンダリマシンを使用して、プライマリでソフトウェアのアップグレードまたはメンテナンスイベントが発生した場合のダウンタイムを減らすこともできます。フェイルオーバーが発生したときに、DNSを使用して(必要に応じて)データベースに接続している場合は、DNSエントリが自動的にセカンダリをポイントしていることがわかります。

これは、いつでもアクセスできる読み取りレプリカとは対照的です。これにより、読み取りのオフロードが可能になり、パフォーマンスが大幅に向上します。レプリカへのフェイルオーバーには、それをスタンドアロンマスターに昇格させ(これにより、元のマスターから永続的に切り離される)、代替エンドポイントを使用するようにアプリケーションを再構成する必要があります。もちろん、これは、特定の時点のスナップショットを使用して代替マスターインスタンスを作成することにより、マスターの障害から回復するよりも高速です。

https://aws.Amazon.com/rds/details/multi-az/

35

Auroraのストレージは、3つのアベイラビリティーゾーンに複製されます。データベースヘッドノードは単一のインスタンスです。したがって、データが複数のターゲットに分散している場合でも、ヘッドノードはそうではありません。

マルチAZ配置を有効にすると、フェイルオーバーターゲットとして使用可能なAuroraリードレプリカが作成されます。作成したAuroraリードレプリカ(現時点では最大15)もフェイルオーバーターゲットとして使用できます。

マルチAZと他のAuroraレプリカの間に意味のある違いはありません。これは主に、他のRDSエンジンにマルチAZを使用することに慣れているユーザーのユーザーインターフェイスの簡素化です。

22
Anurag Gupta