フェイルオーバーとは?障害時でも止まらない仕組みと運用の罠を解説
フェイルオーバーとは?障害時でも止まらない仕組みと運用の罠を解説について詳しく解説いたします。詳細な分析をご覧ください。
フェイルオーバーを成立させる基盤となるのが「冗長化クラスタ(複数のサーバーを束ねて1つの統合システムに見せる技術)」です。そのクラスタ構成には大きく分けて2つの代表的な設計思想が存在します。
1つ目が、フェイルオーバーの基本形となる「アクティブ・スタンバイ構成(Active-Passive構成)」です。通常時は1台のサーバー(アクティブ機)のみがすべての処理を引き受け、もう1台(スタンバイ機)は待機状態を維持します。スタンバイ側の状態には、OSやアプリを起動した状態で同期を取り続ける「ホットスタンバイ」、OSのみ起動して待機する「ウォームスタンバイ」、電源を切っておき障害時に立ち上げる「コールドスタンバイ」があり、許容できるダウンタイムとコストの兼ね合いで選定されます。
2つ目が「アクティブ・アクティブ構成(Active-Active構成)」です。複数台のサーバーがすべて稼働して負荷を分散させます。ここでよく初心者が突き当たるのが「ロードバランサーとの違い」です。ロードバランサーは主にWebサーバーなどの前段に置かれ、トラフィックを均等に割り振る「負荷分散」を主目的にしています。1台が壊れた際はそのサーバーをトラフィックの配信先から除外(ヘルスチェックによる切り離し)しますが、これは狭義のフェイルオーバーというより「縮退運転を伴うバランシング」です。
一方、データベース冗長化のように「1つの巨大なデータを複数台で常に同一に保ち、書き込み権限を厳密に管理しなければならないシステム」では、容易にアクティブ・アクティブ化ができません。そのため、明確な主従関係を持つアクティブ・スタンバイ構成を敷き、主系が倒れた瞬間に従系へ主権を委譲するフェイルオーバーの仕組みが絶対不可欠となります。