RDSを作成する際、マルチAZ配置に関する設定があります。
「え!? マルチAZって、何?」
よく見ると”レプリカを作成”というフレーズがあり、
余計なものは作りたくないから[いいえ]を選択して、とりあえず進める・・・。
個人でAWSを利用するのであれば、それでも問題無いかもしれませんが、
企業用のシステムを作る場合、そうはいきません。
今回はマルチAZとは何なのか?詳しく解説していきます。
そもそもAZって何?
まずはAZについてご説明します。
AZとは”アベイラビリティゾーン”の略で、≒データセンタと言えます。
=ではなく、≒と使ったのは、AZには複数のデータセンタが含まれている場合があるからです。
RDSのマルチAZってどういうこと?
マルチAZとは、複数のAZにまたがるシステム構成を言います。
例えば東京リージョンの場合、以下のAZがあります。(2019.1.5時点)
- ap-northeast-1a
- ap-northeast-1c
- ap-northeast-1d
ap-northeast-1aにRDSインスタンスを1つ、
ap-northeast-1cにサブのRDSインスタンス(レプリカ)を1つ立ち上げるようなシステム構成です。
ですので、RDSを作成する際、”マルチAZ配置”を選択すると、
もともと作成するインスタンス(マスターインスタンス)とは別に、異なるAZにもう一つのサブインスタンス(スレーブインスタンス、またはレプリカとも呼びます)を配置することになります。
マルチAZのメリット
RDSをマルチAZにするメリットは、大きく以下の3つといえます。
- 耐久性の向上
- 可用性の向上
- 運用性の向上
それぞれどういうことか、次にご説明します。
耐久性の向上
ここで言う耐久性とは、”ユーザーデータの壊れにくさ“を指します。
マルチAZにするには、1つだけではなく、複数のインスタンスを立ち上げ、
異なるAZに配置すると上記で説明しました。
そのため、仮に1台ダウンしても別のインスタンスが残っているからユーザーデータが無くなることはありません。
これはインスタンス単位のお話だけではありません。
データセンターが災害等により倒壊した場合でも、他のAZにあるインスタンスが生き残っているから、この場合であってもユーザーデータが無くなることはありません。
よって、耐久性の向上につながるというわけです。
可用性の向上
可用性とは、システムの稼働率の高さを指します。
つまり、いかに止まらずにシステムが動き続けられるかということです。
RDSにはフェイルオーバーという機能が存在し、可用性に対して非常に重要な機能となります。
フェイルオーバーとは、以下のことが発生すると、
メインとして動くインスタンスをマスターインスタンスから、スレーブインスタンス(レプリカ)へ自動的に切り替える機能です。
- AZの機能停止
- マスターインスタンスのエラー
- インスタンスタイプ変更
- パッチ適用
- システムのバージョンアップ
フェイルオーバーは、Auroraだと1分、その他のデータベースエンジンでも1〜2分でレプリカへ切り替わります。
フェイルオーバーが使えない場合、レプリカへ切り替わりませんから、マスターインスタンスが止まった分だけデータベースシステムが止まります。
データベースシステムはシステム全体を見てもキーとなるシステムですので、データベースが止まる=システムが止まることになります。
フェイルオーバーを使うことで、システム全体が止まる時間も最小限に食い止められるというわけです。
マルチAZとし、RDSインスタンスを複数個にすることでフェイルオーバーが使えるようになりますので、可用性が向上するということになります。
運用性の向上
マルチAZにおけるRDSの場合、バックアップやバージョンアップ、パッチ適用は
まずはじめにスレーブインスタンス(レプリカ)に対して行われます。
バージョンアップやパッチ適用については、フェイルオーバーを使いインスタンスを切り替えてからマスターだったインスタンスへ行います。
このようにすることで、サービスを止めることなく
運用作業が行えることになります。
これがマルチAZにすることで、運用性が向上する理由になります。
マルチAZにすることで料金ってどう変わるの?
もう既にお分かりかと思いますが、マルチAZにすると、インスタンスを複数個立ち上げることになりますので、その分インスタンス料金が増えます。
スレーブインスタンス(レプリカ)だから、何か割引があるのではないかと思う人もいるかもしれませんがそんなことはありません。
マスターだろうがスレーブだろうが、2台目だろうが3台目だろうが同じ価格です。
ただし、Auroraについてはマスターとレプリカでストレージレイヤーが共有されますので
ストレージ価格も2倍や3倍になるということはありません。
RDSの料金について詳しくはAWS公式サイトのこちらをご確認ください。
いかがでしたでしょうか?
マルチAZって何だろう?という疑問が少し解消されたら幸いです。
個人の趣味の範囲ではあまり必要のないことですが、
エンタープライズシステムの場合は非常に重要なキーワードになりますので、ぜひ押さえておいてください。
以上、hidesanでした!