- Now let's review an introduction to
Amazon Elasticsearch Service.
With Amazon Elasticsearch Service we gain access to
fully managed Elasticsearch clusters.
Now, very similar to RDS, where AWS is managing
the operating system and the database engine.
The same kind of thing applies here to Elasticsearch.
AWS is managing the operating system and
the Elasticsearch engine for us.
So again, it's another opportunity for us to
offload operational burdens.
If we have a need for Elasticsearch we can
leverage the Elasicsearch service,
rather than managing Elasticsearch ourselves on EC2.
When we build an Elsaticsearch cluster,
even if there's only one note in that cluster,
we gain built in intergrations with a number of
very useful services such as one, Kibana.
Kibana is a very powerful, very useful UI
for interacting with Elasticsearch.
In the least you can search through records
within Elasticsearch or create dashboards
and even create analytical dashboards to help you
derive meaning from whatever data you have in Elasticsearch.
Elasticsearch clusters also provide built-in integration
with Logstash, with AWS Lambda so that as
data is coming in through perhaps Kinesis, for example.
And Lambda can automatically pull that data out of Kinesis,
do some type of processing,
and then store something in Elasticsearch.
Or vice versa, perhaps Lambda can pull data
out of Elasticsearch, and create some kind of output
somewhere else.
Be it a record in another data store, or a notification
going out through the notification service,
or pinpoint.
And then, all kinds of other integrations
with other Amazon services.
Elasticsearch service clusters can scale
to well over a petabyte, right?
So we're not necessarily limited in our data.
And of course
when we create an Elasticsearch service cluster,
we do get direct access to the Elasticsearch API.
Which means that once we create that cluster,
very similar to RDS, we can connect to
an RDS instance directly, without having to go through
the Amazon API.
Same applies to Elasticsearch clusters.
Once that search cluster is created,
it has it's own DNS endpoint that we can connect to,
and gain direct access to the Elasticsearch API,
to which we can program against.
And then because there are instances,
because Elasticsearch does include
some type of an instance that is running,
we can provide network isolation for that instance
by putting that in our own VPC,
and controlling the networking environment
around that instance.
Elasticsearch clusters also support encryption at rest
with the AWS Key Management Service.
We'll talk in great detail about KMS later on,
but if you need this data to be encrypted at rest,
then we can gain that by integrating with KMS,
where KMS is managing the keys,
and Elasticsearch is preforming the encryption.
We can also rest well at night knowing that
the data that is stored in that cluster is replicated.
Very much like other services,
the data that we store in Elasticsearch clusters
is replicated across multiple AZs.
So again, its inherently fault tolerant and durable.
So if any one data center is offline,
our data is still available.
And of course, Elasticsearch is also very tightly integrated
with other services.
It makes it very easy to pull data in from one place,
and then get that data in to Elasticsearch.
One example may be CloudWatch logs.
We're gonna see an example of this later on,
where perhaps we are, our application logs
are going to CloudWatch logs.
And we can very easily with one command line
on the CLI tools, or two clicks in the management console,
we could very easily pipe data coming into CloudWatch logs,
and have that go to an Elasticsearch cluster.
So that we could use something like Kibana
in order to preform viewing, searching
or analytical processes on that data in Elasticsearch.
So, if you currently have a need for Elasticsearch,
and you don't want to manage the operating system
and the Elasticsearch engine yourself on EC2,
take a look at the Amazon Elasticsearch service.