Deploy an ElasticSearch cluster to AWS OpsWorks
Ruby Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
.ruby-gemset
.ruby-version
Gemfile
Gemfile.lock
README.md
Rakefile
go
init_rbenv
opsworks-service.template
rbenv-vars.example

README.md

ElasticSearch OpsWorks

Built with 💛 and ☕️ in San Francisco

Deploy an ElasticSearch cluster to AWS OpsWorks from https://github.com/ThoughtWorksStudios/opsworks-elasticsearch-cookbook

Take a look at https://github.com/ThoughtWorksStudios/opsworks-elasticsearch-cookbook/blob/0.0.1/Berksfile for all cookbook versions installed. This has not been tested with other versions. YMMV.

Before deployment

Please setup the following dependencies in your AWS region:

Setup environment

  • Clone this repository
  • Run init_rbenv to setup the rbenv environment, gems, etc. if you don't have it yet
    • This is designed to be used in a clean environment, e.g. build agents
    • The script "go" is a script to run rake tasks in a build
  • cp rbenv-vars.example .rbenv-vars
  • Fill out values in .rbenv-vars to suit your deployment

Usage

Provision the environment:

rake provision

Open https://<your search domain name>/_plugin/head

Destroy the environment:

rake destroy

Infrastructure details

Route53 --> ELB --> EC2 attached to EBS volumes
  • Index will be stored on EBS volumes, mounted at /mnt/elasticsearch-data
  • One master node by default, 2-node cluster by default
  • Load balanced by an ELB
  • Listens on HTTPS only, configured with basic auth challenge
  • EC2 instance type defaults to c3.large