Deploy Elasticsearch on the cloud easily
This repository contains a set of tools and scripts to deploy an Elasticsearch cluster on the cloud, using best-practices and state of the art tooling.
Note: This branch supports Elasticsearch 6.x only. For Elasticsearch 5.x see the elasticsearch-5.x branch.
You need to use the latest version of Terraform and Packer for all features to work correctly.
- Deployment of data and master nodes as separate nodes
- Client node with Kibana, Cerebro, Grafana and authenticated Elasticsearch access
- DNS and load-balancing access to client nodes
- Sealed from external access, only accessible via password-protected external facing client nodes
- AWS deployment support (under
- Azure deployment (under
- Google Cloud Platform deployment (coming soon)
Clone this repo to work locally. You might want to fork it in case you need to apply some additional configurations or commit changes to the variables file.
Create images with Packer (see
packer folder in this repo), and then go into the terraform folder and run
terraform plan. See README files in each respective folder.
Once you run
terraform apply on any of the terraform folders in this repo, a file
terraform.tfstate will be created. This file contains the mapping between your cloud elements to the terraform configuration. Make sure to keep this file safe.
See this guide for a discussion on tfstate management and locking between team members.