Running Elasticsearch on AWS Elastic Beanstalk

1 min read docker, elastic beanstalk, aws, elastic search

Written in 2015. Tools, APIs and prices may have changed since.

TL;DR code on github @ pfeilbr/Elastic-Beanstalk-Dockerrun.aws.json-Example

This article will show you the steps to run elasticsearch on AWS Elastic Beanstalk. This example uses the elasticsearch docker image as an example. Once running you can visit http://<beanstalk domain>/?pretty an you will see the root elastic search JSON response.

Initial Deployment

  1. Modify Dockerrun.aws.json for your needs.

    Dockerrun.aws.json reference

  2. Commit changes to repo

    $ git commit -a -m "changes"
    

    assumes Dockerrun.aws.json has already been added to repo. if not, git add .

  3. Create eb app

    $ eb init # populate details
    

    NOTE: select Docker. Populate all details

  4. Create environment for app

    $ eb create dev-env
    

    IMPORTANT Must immediately update the ec2 instance with tags so it doesn’t get terminated. Enable termination protection on the ec2 instance.

Deploying Updates

  1. Modify Dockerrun.aws.json for your needs.

  2. Commit changes

    $ git commit -a -m "my updates"
    
  3. Deploy to eb

    $ eb deploy
    

NOTE: Takes between 3-5 min to deploy changes

Notes

Port mapping details specific to aws beanstalk

Keep learning

Get new guides and courses by email

An occasional email when I publish a new guide, course or post. No spam, and you can unsubscribe any time.

Sent with Buttondown. I never share your address. Prefer a feed? Use the RSS feed.