流れ9の4語目 / 10

冗長化

クラウド
設計レビューの続きです。構成図にWebサーバーが2つ描かれています
「Webサーバーは2台、別々のAZに置きます。1台落ちても止まらないように」
「冗長化」って、何のことだろう…?

冗長化は、同じ役割のものを複数用意して、1つが壊れても全体が止まらないようにすることです。

わざと「余分」を持っておきます。

このページで分かること読む 約3分・問題 2問
  • 冗長化は、同じ役割のものを複数用意して、1つが壊れても全体が止まらないようにすること
  • 「ここが1つ壊れたら全部止まる」という場所を単一障害点という
  • 複数用意しても、同じ場所に置くと一緒に止まる
  • データベースも、別のAZに控えを置いて自動で切り替える方法がある(AWSならRDSのマルチAZ)

身近な例えで理解する

エレベーターが2基あるマンションでは、1基が故障や点検で止まっても、もう1基で上の階へ行き来できます。1基しかなければ、止まっている間は階段を使うしかありません。ただし、建物全体が停電すると、2基とも止まります。

  • エレベーターサーバー
  • 2基ある2台用意する(冗長化)
  • 1基が止まっても、もう1基で行き来できる1台が止まっても、もう1台でサービスを続けられる
  • 停電すると2基とも止まる同じAZに置くと、AZのトラブルで2台とも止まる

数を増やすだけでなく、「一緒に止まらない」ように別々のAZに分けて置くのが大事です。

ちょっと確認

Q1先輩のひとこと
先輩「Webサーバーは別々のAZに2台置いたけど、DBは1台だけなんだよね」

何が心配?

例えを外して、実際のしくみ

ここからは実際のしくみ
単一障害点

「ここが1つ壊れたら、全部止まる」という場所のことです。サーバーが1台だけ、DBが1つだけ、などがそうです。冗長化は、単一障害点をなくすための工夫です

AZを分ける

同じAZの中に2台置くと、そのAZで電源やネットワークのトラブルが起きたとき、2台とも止まります。だから別々のAZ(→21 リージョン・AZ)に分けます。AWSではサブネットが1つのAZの中にあるので、AZごとにサブネットを用意して置きます(→82)

振り分け役と組み合わせる

2台あっても、使う人がどちらにつなぐか決まらないと意味がありません。ロードバランサー(→29)が、動いているほうに通信を振り分けます

DBの冗長化と料金

DBは中のデータをそろえておく必要があります。AWSのRDS(マネージドなデータベースのサービス →30 マネージドサービス)なら、「マルチAZ」を選ぶと、別のAZに同じデータを持つ控えを置き、本体が止まると自動で切り替えます。切り替えのときは短い中断があります。冗長化すると台数が増えるので、そのぶん料金もかかります(→89 料金・コスト管理)

このページのまとめ

冗長化
同じ役割のものを複数用意して、1つ壊れても止まらないようにすること
単一障害点
そこが1つ壊れると全体が止まる場所
AZを分ける
一緒に止まらないよう、別々のデータセンターのまとまりに置くこと
マルチAZ(RDS)
別のAZに控えのDBを置き、自動で切り替える構成

先輩のひとことの意味

先輩「Webサーバーは2台、別々のAZに置きます。1台落ちても止まらないように」

「Webサーバーを冗長化する。しかも同じAZではなく別々のAZに置いて、片方のAZでトラブルがあっても、もう片方で動き続けるようにする」という意味です。どちらに届けるかはロードバランサーが決めます。

練習問題で確かめる

Q24択

次の構成で、単一障害点になっているものは? 「ロードバランサー(複数のAZにまたがって動く) → Webサーバー1台 → DB(マルチAZで、別のAZに控えあり)」

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core