Skip to content
A Serverless component to deploy an AWS Elasticsearch domain
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
.editorconfig
.eslintrc.yml
.gitignore
README.md
package.json
serverless.js
utils.js
yarn.lock

README.md

awsElasticSearch

Deploy an AWS ElasticSearch domain using Serverless Component

 

  1. Install
  2. Create
  3. Configure
  4. Deploy

 

1. Install

$ npm install -g @serverless/components

2. Create

$ touch serverless.yml .env .env.prod

The directory should look something like this:

|- serverless.yml
|- .env         # your development AWS api keys
|- .env.prod    # your production AWS api keys

the .env files are not required if you have the aws keys set globally and you want to use a single stage, but they should look like this.

AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX

3. Configure

# serverless.yml

name: my-component
stage: dev

elasticSearch:
  component: "bboure/aws-elasticsearch"
  inputs:
    name: my-es-domain
    elasticsearchVersion: '6.7'
    elasticsearchClusterConfig:
      InstanceCount: 1
      InstanceType: t2.small.elasticsearch
    ebsOptions:
      EBSEnabled: true
      VolumeSize: 20
      VolumeType: 'gp2'
    accessPolicies:
      Version: "2012-10-17"
      Statement:
        - Effect: Allow
          Principal:
            AWS: "*"
          Action: es:*
          Resource: "*"

4. Deploy

  $ components

  awsElasticsearch › outputs:
  arn:  'arn:aws:es:eu-west-1:123456789123:domain/sls-es-demo2'
  name:  'sls-es-demo'
  endpoint:  'search-sls-es-demo-225yp5riq4z3uhc7d4p2mn2ntu.eu-west-1.es.amazonaws.com'

  569s › dev › sls-es-demo › done

Note: Deployment can take several minutes as it waits for the domain to be completely created.

 

New to Components?

Checkout the Serverless Components repo for more information.

You can’t perform that action at this time.