2-5で見たサーバー群は、実際にはデータ量や可用性の要件に応じて 組み合わせて配置します。この節では、規模に応じた典型的な導入構成を、 小さいものから大きいものへと順に説明します。
1. シングルインスタンス構成
最もシンプルなのがシングルインスタンス構成です。 1台のSplunkサーバーが、Search Head(検索)とIndexer(保管・検索実行)の 役割を兼ねて動作します。データはForwarderから、あるいは そのサーバー自身に直接取り込みます。
構築や管理が簡単なため、検証環境や小規模な利用、あるいは学習用途に向いています。 一方で、1台にすべての処理が集中するため、データ量が増えると性能面で頭打ちになりやすく、 そのサーバーが停止すると全体が止まってしまう点には注意が必要です。
2. 分散構成(SH+複数IDX)
データ量が増えてくると、役割を分けた分散構成へと発展させます。 典型的には、検索を担うSearch Headを分離し、 データの保管と検索実行を担うIndexerを複数台並べます。
2-1で学んだとおり、検索は複数のIndexerに分散して実行されます。 Indexerを増やせば、その分だけ保管容量と検索性能を伸ばせるため、 扱うデータ量の増加に合わせて横方向に拡張(スケールアウト)できるのが この構成の利点です。
3. クラスタ構成
さらに大規模になり、可用性(止まりにくさ)やデータ保全がより重要になると、 クラスタ構成を採用します。クラスタには大きく2種類があります。
| クラスタ | 目的 | 関連する管理サーバー |
|---|---|---|
| インデクサークラスタ | Indexerを束ね、データを複製して保管する。1台が故障してもデータと検索を維持できる | Cluster Manager(CM) |
| サーチヘッドクラスタ | 複数のSearch Headを束ね、検索の負荷分散と設定の共有を行う | Deployer |
インデクサークラスタでは、同じデータを複数のIndexerに複製して持たせるため、 一部のIndexerが停止してもデータを失わず検索を続けられます。 サーチヘッドクラスタでは、複数のSearch Headで検索を分担しつつ、 ダッシュボードや設定を共有できます。
クラスタ構成では、2-5で紹介したCMやDeployerといった管理系サーバーが 必要になります。役割ごとのサーバーが増える理由は、 こうした可用性・拡張性の要件にあります。
4. 構成の選び方
どの構成を選ぶかは、扱うデータ量と求められる可用性で おおよそ決まります。小さく始めて、必要に応じて段階的に拡張していくのが基本的な考え方です。
- 検証・小規模・学習用途 → シングルインスタンス構成
- データ量が増えて性能を伸ばしたい → 分散構成(SH+複数IDX)
- 大規模で可用性・データ保全が重要 → クラスタ構成
なお、前節で見たSplunk Cloudを使えば、こうした構成の設計や運用を Splunk社に任せられるため、規模の大きな環境でも運用負担を抑えられます。
5. まとめ
- シングルインスタンス構成は1台で全役割を兼ねる。手軽だが拡張性・可用性に限界がある
- 分散構成はSHを分け、Indexerを複数並べて横方向に拡張できる
- クラスタ構成にはインデクサークラスタ(データ複製)とサーチヘッドクラスタ(負荷分散)がある
- データ量と可用性要件に応じて、小さく始めて段階的に拡張するのが基本