【IT用語】クラスタリングとは?意味と仕組みをわかりやすく解説!

サーバーの構成について調べていると、「クラスタリング」という言葉を目にすることがあります。

この記事では、クラスタリングについて、次の内容を身近な例でわかりやすく説明します。

  • クラスタリングの意味
  • クラスタリングの代表的な使い方

クラスタリングとは?

クラスタリングとは?

クラスタリングとは、複数のコンピューターやサーバーをネットワークでつなぎ、連携して1つのシステムとして働かせる技術や仕組みです。

複数のサーバーがチームを組んで1つのサービスや処理を支え、クライアント(サービスを利用する側)からは、あたかも1台のマシンのように利用できるようにします。例えば、共通の接続先を用意することで、クライアントは裏側のどのサーバーが処理を担当しているかを意識せずに利用できます。

ネットショップを例に考えてみましょう。1台のサーバーで動かしている場合、そのサーバーが故障すると、お店のWebサイトが利用できなくなる可能性があります。

そこで、複数のサーバーを連携させ、故障時には別のサーバーが処理を引き継ぐ構成にします。利用者は、裏側でサーバーが切り替わっても、同じ接続先からネットショップを利用できます。これがクラスタリングの使い方の1つです。

このように連携するコンピューターのまとまりを「クラスター」、構成する各コンピューターを「ノード」と呼びます。

データ分析でも「クラスタリング」という言葉を使います。そちらは「似た特徴を持つデータをグループに分けること」で、この記事で説明したサーバーのクラスタリングとは意味が異なります。

クラスタリングの代表的な使い方

クラスタリングは、目的に応じてサーバーの協力の仕方が変わります。代表的な使い方として、故障時の引き継ぎ、アクセスの分散、大きな計算の分担があります。

1. 故障したサーバーの処理を別のサーバーが引き継ぐ

これは、サーバーに障害が起きても、サービスを続けやすくするための使い方です。

例えば、通常はサーバーAで会社の業務システムを動かし、サーバーBを待機させておきます。Aに障害が起きたら、Bへ処理を切り替えます。

このように、障害時に別のサーバーへ処理を切り替えることを「フェイルオーバー」といいます。

こうした仕組みを使い、サービスを利用できる状態を保ちやすくする構成が「HAクラスター」です。HAは「High Availability」の略で、日本語では「高可用性」といいます。

切り替え中に一時的に利用できなくなる場合もあります。「クラスタリングすれば、必ず一瞬も止まらない」という意味ではありません。

2. 複数のサーバーでアクセスを分担する

これは、アクセスを複数のサーバーへ振り分け、1台に負担が集中するのを防ぐ使い方です。

例えば、ネットショップに多くの人がアクセスしたとき、サーバーAとサーバーBで利用者からのリクエストを分担します。このように処理の負担を分けることを「負荷分散」といいます。

Webサイトでは、アクセスの振り分け役として「ロードバランサー」という装置やソフトウェアを使う構成があります。

「負荷分散」と「クラスタリング」は同じ意味ではありません。

負荷分散は処理を振り分ける仕組みであり、クラスタリングは複数のサーバーを連携させる仕組みです。目的に合わせて組み合わせて使われます。

3. 大きな計算を複数のコンピューターで分担する

これは、時間のかかる計算を分割し、複数のコンピューターで協力して処理する使い方です。

例えば、気象シミュレーションなどの大規模な計算では、計算の一部をそれぞれのコンピューターに担当させ、結果を組み合わせます。

コンピューターを2台にすれば、どんな処理でも必ず2倍の速さになるわけではありません。

処理を分担できるように作られたプログラムや、コンピューター同士の通信などを考慮した仕組みが必要です。

本記事のまとめ

この記事では、クラスタリングの「意味」と「代表的な使い方」を説明しました。

  • クラスタリングは、複数のコンピューターを連携させ、1つのシステムとして働かせる技術・仕組みである。
  • 「1台のように動く」とは、裏側の複数台を細かく意識せず、1つのシステムとして利用できるという意味である。
  • 障害時の引き継ぎや処理の分担など、目的によって協力の仕方が異なる。
  • ネットワークにつなぐだけでは実現せず、連携するためのソフトウェアや設定が必要になる。

お読みいただきありがとうございました。

スポンサーリンク