Amazon ES – setting up the cluster! #1

Amazon Web Services (AWS) is a cloud services platform, providing compute power, database storage, content delivery, security options and other functionality to allow businesses to build sophisticated applications with increased flexibility, scalability and reliability. Amazon Elasticsearch is one of the services provided by AWS.

Amazon Elasticsearch Service, also called Amazon ES, is a managed service that makes it easy to create a domain, deploy, operate, and scale Elasticsearch clusters in the AWS Cloud. Elasticsearch is an open-source, highly scalable full-text search and analytics engine. In the previous blog, we have discussed how to access its API specific methods using High-level Rest Client.

With Amazon ES, you get direct access to the Elasticsearch APIs so that existing code and applications work seamlessly with the service.

Amazon ES offers a number of benefits :

  • Cluster scaling options
  • Supports Open-Source APIs and Tools
  • Self-healing clusters
  • Replication for high availability
  • Data durability
  • Enhanced security
  • Node monitoring
  • Tightly Integrated with Other AWS Services

Getting Started with Amazon Elasticsearch Service

Here are the steps to get started with Amazon ES and creating your own Elasticsearch cluster.

Step 1: Sign up for an AWS account.
If you are not an AWS user, your first step is to create an AWS account. If you already have one, you are automatically signed up for Amazon ES.
Your AWS account enables you to access Amazon ES and other AWS services. As with other AWS services, you pay only for the resources that you use.
Look for the Elasticsearch service in the search box.

Screenshot from 2018-03-31 18-17-04

Step 2: Accessing Amazon Elasticsearch Service.
You can access Amazon ES through the Amazon ES console, the AWS SDKs, or the AWS CLI. The Amazon ES console lets you create, configure, and monitor your domains. It is the easiest way to get started with Amazon ES.

Step 3: Create an Amazon ES domain.
To get started using the service, you need to create an Amazon ES domain.

Screenshot from 2018-03-31 18-21-08

An Amazon ES domain is an Elasticsearch cluster in the AWS Cloud that has the compute and storage resources that you specify. For example, you can specify the number of instances, instance types, and storage options.

Step 4: Define domain.
A domain is a collection of all the resources needed to run your Elasticsearch cluster.

Screenshot from 2018-03-31 18-28-35

Step 5: Configure cluster.
You need to configure the instance and storage settings for your cluster based on the traffic, data, and availability requirements of your application. A cluster is a collection of one or more data nodes, optionally dedicated master nodes, and storage required to run Elasticsearch and operate your domain.

Screenshot from 2018-03-31 18-33-08

Screenshot from 2018-03-31 18-34-31

Step 6: Set up access.
Next step is to configure your network and attach policies that let you control access to your domain.

Screenshot from 2018-03-31 18-35-57

Step 7: Done.
Just Review and You are ready to go.

Screenshot from 2018-03-31 18-39-39

Screenshot from 2018-03-31 18-40-28

It takes up to ten minutes to initialize new domains. After your domain is initialized, you can upload data and make changes to the domain.

Because Elasticsearch uses a REST API to perform operations like index, update, search, get, delete, and many more. You can use standard clients like curl or any programming language that can send HTTP requests to your ES cluster.

A simple example to create an Index using Curl command on your Elasticsearch cluster :

curl -XPOST elasticsearch_domain_endpoint/user-index/user -d '{"id" : "1", "name": "user1", "age" : 20}' -H 'Content-Type: application/json'

where, elasticsearch_domain_endpoint is the endpoint of your cluster.

To check whether the document exists or not, you can perform the following curl operation :

curl -XGET elasticsearch_domain_endpoint/user-index/_search?pretty

Also, you can click on the Indices tab, to view all the indices created on your cluster, documents count and its mapping details.

Screenshot from 2018-04-15 16-22-10

Apart from that, you can use the Kibana endpoint. Kibana enables visual exploration and real-time analysis of your data in Elasticsearch. You can learn about it here.

In the next blog, we will look how we can authenticate access to Amazon ES cluster and how we can interact with it programmatically.

For more details on Amazon Elasticsearch Service, check its documentation here.

Happy Blogging.!! 🙂



This entry was posted in Amazon, AWS, AWS Services, cluster, database, Elasticsearch, fulltextsearch, knoldus, NoSql, Tutorial and tagged , , , , , . Bookmark the permalink.

3 Responses to Amazon ES – setting up the cluster! #1

  1. Pingback: Amazon ES – Secure your cluster from anonymous users! #2 | Knoldus

  2. Great insights! Thanks for sharing this.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s