クラスタリングの解説(基本情報技術者シラバス用語)

クラスタリングの解説(基本情報技術者シラバス用語)
目次

クラスタリングとは



クラスタリング(Clustering)とは、複数台のコンピュータをネットワークで接続し、まるで「1台の巨大なコンピュータ」であるかのように連携して動作させる仕組みのことです。この集まったコンピュータ群のことを「クラスター」と呼びます。クラスタリングを行う主な目的は、システムの処理能力を向上させること(負荷分散)や、一部のコンピュータが故障してもシステム全体が停止しないようにすること(高可用性)です。利用者は、背後で何台のサーバーが動いているかを意識することなく、1つのシステムとして利用することができます。

具体例

スーパーのレジ打ち作業に例えることができます。レジ打ちの店員(サーバー)が1人だけだと、行列(アクセス)ができたときに処理が追いつきませんが、複数のレジ店員(クラスター構成)が並行して作業をすることで、多くのお客さんを効率よく捌くことができます。また、誰か1人が体調不良で抜けても、他の店員がカバーすることで店全体のレジ業務は止まりません。ネットワーク構成のイメージは以下のようになります。

                +---> [サーバー1 (稼働中)]
[ユーザー] -----+---> [サーバー2 (稼働中)]  <= 1台に見える
                +---> [サーバー3 (故障中・自動切り離し)]
\n

もう少し詳しく

クラスタリングは、複数台のサーバーを論理的に1台のシステムとして扱う技術であり、用途によって大きく「HAクラスタ(High Availability Cluster)」と「負荷分散クラスタ(Load Balancing Cluster)」、そして「HPCクラスタ(High Performance Computing Cluster)」の3つに分類されます。

  • HAクラスタ(高可用性クラスタ):システムを停止させない(可用性を高める)ことを目的とした構成です。アクティブ・スタンバイ構成をとり、稼働中のサーバー(ノード)に障害が発生した際、瞬時に待機中のサーバーに処理を引き継ぎます。データベースのクラスタリングなどに多く用いられます。
  • 負荷分散クラスタ:アクセスや処理の要求を複数のサーバーに分散させ、システム全体のパフォーマンスを向上させることを目的とします。Webサーバーなどに多く用いられ、アクセス集中時にも安定した応答速度を保つことができます。
  • HPCクラスタ:膨大な科学技術計算などを高速に行うため、多数のコンピュータの計算能力を結合してスーパーコンピュータのように利用する構成です。

また、データへのアクセス方式の観点から見ると、クラスタ内の全サーバーが1つの共有ストレージ(ディスク)にアクセスする「共有ディスク型」と、各サーバーがそれぞれ独自のディスクを持ち、ネットワーク経由でデータを同期する「シェアードナッシング型(非共有型)」があります。共有ディスク型はデータの整合性を保ちやすい一方、ストレージがボトルネックになる可能性があります。シェアードナッシング型は拡張性が高いですが、データの同期処理が複雑になります。

試験でのポイント

基本情報技術者試験では、クラスタリングの「目的」について問われることが多いです。システム全体の処理能力の向上(負荷分散)と、障害発生時のシステム継続(高可用性)の2つの側面をしっかり理解しておきましょう。

また、類似した用語として「グリッドコンピューティング」があります。クラスタリングは通常、同一ネットワーク内(LAN内)にある専用のサーバー群を密に結合して1つのシステムとして動かします。一方、グリッドコンピューティングは、インターネットなどの広域ネットワークを介して、世界中の様々な場所にあるパソコンやサーバーの余剰な計算能力を寄せ集めて1つの巨大な計算システムを作り上げる技術です。この違いは頻出ポイントです。

関連する用語

ネットワーク越しに計算資源を統合する グリッドコンピューティング や、負荷分散を行うための装置である ロードバランサ、障害時に自動で処理を切り替える フェイルオーバー と合わせて理解することが推奨されます。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ