Amazon Elasticsearch Service ドメインをスケールアップまたはスケールアウトするにはどうすればよいですか?

最終更新日: 2021 年 5 月 10 日

Amazon Elasticsearch Service (Amazon ES) ドメインをスケールアップまたはスケールアウトしようとしています。これを行うにはどうすればよいですか?

簡単な説明

ワークロードに基づいて、Elasticsearch クラスターをスケールアップ (垂直方向にスケーリング) またはスケールアウト (水平方向にスケーリング) できます。Amazon ES ドメインをスケールアウトするには、クラスターにノード (データノード、マスターノード、UltraWarm ノードなど) を追加します。ドメインをスケールアップするには、Amazon Elastic Block Store (Amazon EBS) ボリュームサイズを増やすか、より大きなノードタイプでメモリと vCPU を追加します。

注: スケールアップまたはスケールアウトする場合は、運用ワークロードに少なくとも 3 つの専用マスターノードを使用することがベストプラクティスです。

解決方法

ドメインのスケールアウト

ドメインをスケールアウトすると、現在のクラスターノードと同じ設定タイプのノードが追加されます。その結果、クラスターにリソース (RAM、VCPU、EBS ボリュームなど) もさらに追加されます。最大 EBS ボリュームサイズは、ノードの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスタイプによって異なることに留意してください。

EBS ボリュームサイズの上限に到達し、インスタンスタイプを変更できない場合は、ノードをさらに追加します。ノードをさらにクラスターに追加すると、クラスターの EBS ボリュームサイズが大きくなります。データノードをさらにクラスターに追加する場合は、必ずデータノードまたは UltraWarm ノードを使用してください。UltraWarm ノードは、アクセス頻度の低いデータを移行し、アクセスされるインデックスを標準データノード上に保持するために利用できることに留意してください。

ヒント: Hot ノードから Warm ノードへのデータの移行を自動化するには、Index State Management (ISM) ポリシーを使用します。

ドメインのスケールアップ

Amazon ES ドメインをスケールアップする場合、ノードがクラスターにさらに追加されることはありません。代わりに、スケールアップする場合、各ノードで使用可能なリソースを増やす必要があります。

Amazon ES ドメインを垂直方向にスケールまたはスケールアップする場合は、より大きなインスタンスタイプに切り替えて、メモリまたは CPU リソースを追加します。Amazon ES ドメインをスケールアップすると、EBS ボリュームサイズは、ユーザーが明示的に要求しない限り、自動的にスケールアップされません。

ドメイン構成の設定の更新

Amazon ES ドメインをスケールする場合は、ドメイン構成の設定を更新する必要があります。

ドメイン構成の設定を編集するには、次の手順を実行します。

1.    AWS マネジメントコンソールにサインインします。

2.    Amazon ES コンソールを開きます。

3.    スケールする Amazon ES ドメインを選択します。

4.    [Edit Domain] (ドメインの編集) を選択します。

5.    ユースケースに基づいて、ドメイン構成の設定を更新します。

データノード: アベイラビリティーゾーン、インスタンスタイプ、ノード数を設定します。
ストレージ設定: ノードごとに、データノードストレージタイプ、EBS ボリュームタイプ、および EBS ストレージサイズを更新します。
専用マスターノード: 専用マスターノードの有効化または無効化、インスタンスタイプの更新、またはマスターノード数の変更を行います。
UltraWarm データノード: UltraWarm データノードの有効化または無効化、インスタンスタイプの更新、または UltraWarm データノード数の変更を行います。

6.    [Submit] (送信) を選択します。

注: Amazon ES は、ドメインを更新するたびに、青/緑のデプロイプロセスをトリガーします。青/緑のデプロイプロセスがトリガーされると、変更が適用されている間、クラスター内のノード数が一時的に増加することがあります。詳細については、Amazon Elasticsearch Service ドメインの作成と管理を参照してください。

7.    リソースの使用状況を監視するように Amazon CloudWatch アラームを設定します。たとえば、CPUUtilization が 80% を超えたときに通知するよう、アラームを設定できます。