How do I add storage space to an Amazon Elasticsearch Service (Amazon ES) domain?

Last updated: 2020-04-06

My Amazon Elasticsearch Service (Amazon ES) domain is out of storage space. How do I increase the amount of available storage space?

Short Description

When you allocate storage to an Amazon ES cluster node, up to 20% of that space (20 GB) is reserved space. If the domain runs out of storage space, you might get a ClusterBlockException error. To resolve storage space issues, try the following:

  • Increase the size of the domain's Amazon Elastic Block Store (Amazon EBS) volumes. You can also add more cluster nodes to the Amazon ES domain.
  • Reduce the amount of data stored in your domain. You can delete unnecessary files, optimize old indices, or reduce the domain's replica count.

Resolution

Add more storage to your domain

If the domain uses Amazon EBS volumes for storage, increase the size of the EBS volumes. The maximum volume size depends on the node's Amazon Elastic Compute Cloud (Amazon EC2) instance type. If you can't increase the size of the EBS volumes, add additional nodes or scale up your domain. For more information about EBS volumes, see EBS Volume Size Limits.

If you're not using Amazon EBS volumes for storage, add additional nodes to your cluster configuration.

The Amazon CloudWatch FreeStorageSpace metric measures the amount of storage that's available on the Elasticsearch cluster. To receive notifications whenever storage space is low, configure CloudWatch alarms.

To see how much storage space is available for each node in the cluster, run the cat allocation command:

curl ES_Endpoint/_cat/allocation?v

Reduce the amount of data stored in your domain

The easiest and most effective way to reduce the amount of data in the domain is to delete unnecessary documents. Be sure to take a manual snapshot first. Also, consider the following options: