@bboure/aws-elasticsearch

0.1.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @bboure/aws-elasticsearch

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

125 kB

Total Files

11

Last publish

Collaborators

  • bboure