サーバの冗長化について①
- 2014年09月22日
- CATEGORY- 1. 技術力{技術情報}
はじめまして!今回からブログを書かせていただきます。中薗と申します_(:3」∠)_
(ケイズの社員インタビューで、
「ラーメン雑誌に載っているラーメン屋の店主のポーズ」をしてるのが私です)
https://keis-software.com/subaru-nakazono/
普段私は、常駐先の現場でサーバサイドのお仕事などをやっていたりするんですが、
意外と技術ブログなんかで、「サーバエンジニアとしての基礎的な知識」
を書いている方が少ないな、という気がしているので、
自分自身の復習、再確認がてら、私はそのへんをテーマにして書いていきたいな、と思っています。
まずは「サーバの冗長化」というテーマについて書いていきたいと思います。
例を示します。
これは、最もシンプルなサーバシステムの構成を図にしたものです。
一見すると、これでシステムが動くのであればなんの問題も無さそうですが、
お客さんが実際に使用するサービスが稼働している環境(これを「本番環境」と言います)では、絶対にこのようなサーバ構成は取りません。
なぜなら、以下のような致命的な問題が発生する可能性があるからです。
① Webサーバが稼働を停止した場合に、サービスが停止してしまう。
② ルータが稼働を停止した場合に、サービスが停止してしまう。
①の「サーバが稼働を停止」というのには、
物理的にサーバが壊れてしまう場合だけではなく、
あまりに高い負荷がかかったためサーバのリソースを使いはたしてしまう場合、
運用者やプログラムが間違って重要なファイルを消してしまって
サービスが立ちいかなくなる場合など様々なケースがあります。
このようなサーバ構成のままにしていると、何かのトラブルが発生した場合に
すぐサービスが停止してしまいますし、その後の復旧作業を
全て人の力で行わなければならないため、システムのダウンタイムが長くなり
オペレーションミスによる二次災害を誘発しやすくなります。
これを回避するために行われるのが「冗長化」です。
その意味は、
「万が一に備え、代替用の設備を用意しておき、
故障や障害が発生した場合でもサービスを継続的に提供できるようにすること」
です。
さきほど示した例ですと、Webサーバ、ルータのいずれかが停止してしまうと
サービスそのものが停止してしまうため、「予備のWebサーバ」、「予備のルータ」を
用意しておくことを考えます。
次回以降は、サーバ冗長化のための具体的な方法を書いていきたいと思います。
- 2014年09月22日
- CATEGORY- 1. 技術力{技術情報}