ILMの概要
インデックスライフサイクル管理(ILM)ポリシーを作成し、適用することで、パフォーマンス、耐障害性、保持要件に応じてインデックスを自動的に管理できます。
インデックスライフサイクルポリシーは、次のようなアクションをトリガーできます:
- ロールオーバー:現在のインデックスが特定のサイズ、ドキュメント数、または年齢に達したときに新しい書き込みインデックスを作成します。
- シュリンク:インデックス内のプライマリシャードの数を減少させます。
- 強制マージ:インデックスのシャード内のセグメント数を減少させるために強制マージをトリガーします。
- 削除:インデックスを永久に削除し、そのすべてのデータとメタデータを含みます。
ILMは、ログやメトリクスなどの時系列データを扱う際に一般的なホット-ウォーム-コールドアーキテクチャでインデックスを管理しやすくします。
次のことを指定できます:
- 新しいインデックスにロールオーバーする際の最大シャードサイズ、ドキュメント数、または年齢。
- インデックスがもはや更新されていない時点と、プライマリシャードの数を減少させることができる時点。
- 削除のためにマークされたドキュメントを永久に削除するためにマージを強制するタイミング。
- インデックスをパフォーマンスの低いハードウェアに移動できる時点。
- 可用性がそれほど重要でなくなり、レプリカの数を減少させることができる時点。
- インデックスを安全に削除できる時点。
たとえば、ATMのフリートからメトリクスデータをElasticsearchにインデックスしている場合、次のようなポリシーを定義することがあります:
- 1. インデックスのプライマリシャードの合計サイズが50GBに達したとき、新しいインデックスにロールオーバーします。
- 2. 古いインデックスをウォームフェーズに移動し、読み取り専用としてマークし、単一のシャードにシュリンクします。
- 3. 7日後、インデックスをコールドフェーズに移動し、より安価なハードウェアに移動します。
- 4. 必要な30日保持期間が経過したらインデックスを削除します。
ILMを使用するには、クラスター内のすべてのノードが同じバージョンを実行している必要があります。混合バージョンクラスターでポリシーを作成し適用することは可能かもしれませんが、意図した通りに機能する保証はありません。クラスター内のすべてのノードでサポートされていないアクションを含むポリシーを使用しようとすると、エラーが発生します。