Amazon OpenSearch Service ドメインにおける低ストレージ容量をトラブルシューティングするにはどうすればよいですか?
最終更新日: 2021 年 7 月 30 日
Amazon OpenSearch Service ドメインのストレージ領域が不足し、エラーが発生しました。解決方法を教えてください。
簡単な説明
OpenSearch Service ドメインには、ワークロードの処理に一定のストレージ容量要件があります。ClusterBlockException エラーは、OpenSearch Service ドメインのストレージ容量が不足したことを理由として発生する可能性があります。例えば、クラスターノードにストレージを割り当てると、その容量の最大 20% (20 GB) が予約容量になります。また、Linux などのオペレーティングシステムは、ファイルシステムの 5% を予約して、root ユーザーが実行する重要なプロセスをサポートします。Amazon OpenSearch Service ストレージ容量の要件の詳細については、ストレージ要件の計算を参照してください。
低ストレージ容量の問題を解決するには、以下の方法を試してください。
- ドメインの Amazon Elastic Block Store (Amazon EBS) ボリュームのサイズを増やします。OpenSearch Service ドメインにさらにクラスターノードを追加することもできます。
- クラスターシャーディング戦略を更新して、シャードがすべてのノードに均等に分散されるようにしてください。
- ドメインに保存済みのデータの量を減らします。不要なファイルを削除したり、古いインデックスを最適化したり、ドメインのレプリカ数を減らしたりできます。最初に手動スナップショットを取得してください。
注: ドメインのレプリカ数を減らすと、フォールトトレランスが低下する可能性があります。インデックスごとに少なくとも 1 つのレプリカを設定するのがベストプラクティスです。 - Amazon CloudWatch の FreeStorageSpace メトリクスを使用して、クラスターで使用可能なストレージの量をモニタリングします。ストレージ容量が少なくなったときに毎回通知を受け取るには、CloudWatch アラームを設定します。
データストレージソースによっては、追加のトラブルシューティングテクニックを採用する必要がある場合があります。
解決方法
ストレージ設定の更新
重要: 設定を更新する前に、ブルー/グリーンデプロイをトリガーする可能性のある設定変更を確認してください。また、専用のマスターノードタイプが推奨されるノードタイプであることを確認してください。
cat allocation コマンドを使用して、クラスター内の各ノードで使用できるストレージ容量を確認します。
curl ES_Endpoint/_cat/allocation?v
OpenSearch Service ドメインの設定を更新するには、次の手順を実行します。
1.AWS マネジメントコンソールにサインインします。
2.OpenSearch Service コンソールを開きます。
3.ストレージを追加する OpenSearch Service ドメインを選択します。
4.[Edit Domain] (ドメインの編集) を選択します。
5.ドメイン設定を更新します。
注: ストレージに Amazon EBS ボリュームを使用している場合は、[Storage configuration] (ストレージ設定) を更新してください。あるいは、データノードの数を更新することもできます。
6.[Submit] (送信) を選択します。
ドメインがデータストレージに Amazon EBS ボリュームを使用する場合
ドメインがストレージに Amazon EBS ボリュームを使用する場合は、次のアプローチを検討してください。
- EBS ボリュームのサイズを大きくします。最大ボリュームサイズは、ノードの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスタイプまたは Elasticsearch のバージョンタイプによって異なります。例えば、Elasticsearch バージョン 1.5 の最大ボリュームサイズは 512 GiB です。
- EBS ボリュームのサイズを増やすことができない場合は、ノードを追加するか、またはドメインをスケールアップして、新しい EBS 制限を選択します。EBS ボリュームの詳細については、EBS ボリュームサイズの制限を参照してください。
- Amazon Simple Storage Service (Amazon S3) バケットへの不要なインデックスのバックアップを作成します。その後、OpenSearch Service クラスターからインデックスを削除して、ディスク領域を解放します。または、Curator を使用して OpenSearch Service でデータをローテーションすることもできます。Index State Management を使用して、OpenSearch Service でインデックスをローテーションすることもできます。
注: バックアップを作成するには、手動スナップショットリポジトリを設定する必要があります。
ドメインがデータストレージに Amazon Elastic Compute Cloud (Amazon EC2) I3 インスタンスを使用している場合
データストレージに Amazon EC2 I3 インスタンスを使用している場合は、次のアプローチを検討してください。
- OpenSearch Service クラスターにさらにノードを追加します。
- インスタンスタイプをスケールアップして、より多くのストレージ容量を取得します。
- OpenSearch Service クラスターから不要なインデックスを削除します。
Amazon OpenSearch Service は、Amazon Elasticsearch Service の後継サービスです。