【AWS】Multi-AZって何?

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

初めまして、アルバイトのneyaです。

私は最近、AWSを使ったシステム構成図を作る講義で【Multi-AZ配置】というものを知りました。
【Multi-AZ配置】とは、とてもざっくりと言うと、「EC2やRDS等を別々の場所に配置し、同期をとることで耐障害性、可用性を高める」ものです。
というわけで、今回はAWSのRDS Multi-AZ配置について自分なりに調べたことをまとめてみようと思います。

まずAZって何?

AZとはAvailability Zoneの略で同一リージョン内の独立したロケーションを指します。
片方で何かあっても、もう片方が生きていればサービスの維持が可能。可用性の話ですね。
また、必ずしも全てのユーザーのリージョンが同じになるとはかぎらないようです。

Single-AZとMulti-AZ

一つのAZでアプリケーションを構築することを Single-AZ と言います。
それに対して複数のAZで構築することを Multi-AZ と言います。

メリット

では、実際にMulti-AZ配置を使うとどんなメリットがあるのか。私が考えたメリットはこちらです。

  • 耐久性の向上
  • 可用性の向上
  • 手動でやらなくていい

耐久性の向上

Multi-AZ配置ではプライマリ側で障害が発生した場合、待機系へのフェイルオーバーを自動的に開始します。
Single-AZの場合だと管理者が手動で復元ポイントを設定して復元させるといった操作が必要になり、復旧までの時間が長くなってしまいます。
また、一般的に直近5分以内のデータは利用できないので急な障害だと対応しづらいと思います。

つまり…
インスタンス障害やAZの利用不可といった場合でもデータ安全が保証される。といった感じです。

可用性の向上

Multi-AZ
→障害発生時は自動でフェイルオーバーが行われ、1,2分で完了します。つまり、サービスが止まる時間はこのフェイルオーバーが行われている間だけなのでとても短い時間で済みます。

Single-AZ
→手動で復元する必要があるので、ある程度復旧まで時間がかかります。サービスが停止する時間は5分程です。

このように、復旧までの時間差があり、重要なシステムがダウンしたときなど、早急に対応する必要がある場合などには重宝されますね。

手動でやらなくていい

その言葉通り手動で復元作業をする必要がありません。手間も時間もかからないのです!

デメリット

ではデメリットはというと。

  • 料金が高い

これだけです。一般的に倍の値段がかかると言われています。でも、料金高めでも耐久性、可用性が上がるのであればこれくらいどうってことないですよね?

 

他に上げるとするとSingle-AZよりも更新クエリのレイテンシ増加それなりあるということです。Single-AZでは平均7.79msかかるものが、Multi-AZでは平均25.57msにもなります。ユーザー体感にこれくらいの影響がありそうだ、という認識を持っておくと良いですね。

フェイルオーバーって?

さて、いくつかお話している中でIT用語が何個か出てきましたね。私、これのお勉強をしていて「フェイルオーバーって何?」って首をかしげました。なので復習として書かせていただきます。

『フェイルオーバー(英: Failover)は、現用系コンピュータサーバ/システム/ネットワークで異常事態が発生したとき、自動的に冗長な待機系コンピュータサーバ/システム/ネットワークに切り換える機能を意味する。 これに対して、何らかの異常を察知して、人間が手動で切り替えを行うことをスイッチオーバーという。』(wikipedia「フェイルオーバー」)

障害発生時に自動的に切り替えを行ってくれる便利な機能ってことです。

まとめ

なぜこんな重要なことを今まで知らなかったのかと思い知らされましたね。金銭的に余裕があるならMulti-AZを組まないという選択肢がないぐらいに優れた機能です。
AWSにはまだまだたくさんの機能があるとのことなので奥が深いですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.