こんにちは。SKMです。

今回はAWSをやっていてよく耳にするけど詳しく分からなかった、

Multi-AZ配置とSingle-AZ配置について説明してみます。

そもそもどのタイミングで活用されるのか?

RDS(Relational Database Service)で、DBインスタンスの高可用性とフェイルオーバーを実現するために使われます。

マスター(M)が存在するアベイラビリティゾーンとは異なるアベイラビリティゾーンに同期スタンバイのスレーブ(S)を配置します。 →高可用性

異常や障害が発生したとき、冗長な待機系コンピュータサーバ/システム/ネットワークに切り替える機能。 →フェイルオーバー

どのタイミングでフェイルオーバーするのか?

下記の状態が発生した場合、プライマリBDインスタンスがスタンバイレプリカに自動的に切り替えられる。(フェイルオーバーする)

・アベイラビリティゾーンの機能停止

・プライマリDBインスタンスのエラー

・DBインスタンスのサーバータイプ変更

・DBインスタンスのオペレーティングシステムでソフトウェアのパッチ適用中

・DBインスタンスの手動フェイルオーバーが [Reboot with failover] を使用して開始された

 

 

Multi-AZとSingle-AZの違い

Multi-AZ配置

複数のアベイラビリティゾーンに配置される、自動でフェイルオーバーが行われる。AZ

 

Single-AZ配置

1つのアベイラビリティゾーンに配置される、手動で復元する必要がある。

singleAZ

 

1つのリージョンに複数のAZがあり、その中にマスターやスレーブがある。

マスターは管理・制御する元のデータであり、

それに対してスレーブがマスターを複製したものになる。

スレーブはマスターに問題が生じたときに、常に最新の状態に更新されているため、マスターに昇格する。しかし、マスターが動いている間は読み書きしないため、マスターの負荷を減らすことはない。

それと合わせて、Multi-AZ配置する際に覚えておきたいのが、リードレプリカです。

データの読み書きはマスターのみ可能で、スレーブは読み取りも出来ない完全なスタンバイになるので、データベースの読み取り性能を上げたい場合はリードレプリカを作成するかElastiCacheを配置します。リードレプリカは読み込みが可能なため、マスターの読み取り負荷を軽減させることが出来ます。

先程スレーブは自動的に同期されると記載しましたが、リードレプリカは非同期です。

 

Multi-AZとSingle-AZに関する説明は以上になります。

今までマスターとスレーブの存在をそもそも知らなかったため、なぜデータベースで可用性を高めるのがMulti-AZ配置なのか分かりませんでした。

マスターとスレーブの役割を知ったのでMulti-AZ配置について理解出来ました。

以上になります。

 

TOP