🕶️

elastic社について

2021/07/16に公開

概要

elastic社の製品についてまとめる。
基本個々の製品はOSSとして提供されているが、
それらをまとめた「elastic cloud」というマネージドサービスも展開している。
https://www.elastic.co/jp/

製品

Elastic Stack

主要な以下の4つのOSSをまとめたプロダクト群の呼称

elasticsearch

OSSの全文検索エンジン。
javaで作成されている。
大量のドキュメントから目的の単語を含むドキュメントを高速に抽出することができる。

kibana

OSSのビジュアル化ツール。
GUIにてElasticsearchのデータを可視化することが可能。
また、Elasticsearchに対してGUIからのクエリ発行も可能
※クエリはあくまでelasticsearchのJSONっぽいクエリで、SQLではない

logstash

OSSのデータ処理パイプライン。
複数の異なるフォーマットのデータを変換し一元化して収集することが可能。
データ形式にあわせて 200を超えるプラグインが用意されている。
収集したデータは、以下のようにデータをelasticsearchに取り込むことが可能。

Beats

Beatsはデータ取り込みを行うOSSプラットフォーム。
同じようなデータ取り込みツールのLogstashは、
非常に豊富な機能を持っていて、
更にプラグインを追加することで更なる機能拡張が可能となるツールとなっているが、
それに比べて、Beatsは
それぞれがあるインプットに特化したシンプル・軽量なデータ取り込みツール。
Elasticsearch/Logstashに情報を送信するshipperという位置づけがなされている。
logstashよりシンプルで軽量に動作するため、
用途によってlogstashと使い分ける感じの使い方になる。

elastic cloud

パブリッククラウド上でelastic stackを提供するマネージドサービス
AWS、GCP、Azureで利用可能

利用形態

以下の2パターン

  • elastic社のアカウントから利用するフルマネージタイプ(パブリッククラウドとの契約は不要)
  • 既存のパブリッククラウドのマーケットプレイスから導入するハイブリッドタイプ

フルマネージタイプ

elastic stackをすべて利用可能。
ただし、パブリッククラウド環境内の同プロジェクト配下に
別のシステムを構築するなど柔軟な構成はとれない。
ユーザがパブリッククラウドのコンソールに直接操作する機会はく、
パブリッククラウドへの操作は
elastic社提供のGUIにて許可されているオペレーションのみを婉曲的に実施することとなる。
(elasticsearchが稼働するコンピュートのスペック変更など)

ハイブリッドタイプ

elasticsearchとkibanaが利用可能。
elastic cloudの中でelasticsearchとkibanaの利用に絞って展開しているため、
「elasticsearch service」とも呼称される。
logstashとbeatsを使いたい場合はOSS版を導入してセルフマネージする必要があるが、
パブリッククラウド環境内の同プロジェクト配下に別のシステムを構築するなど柔軟な構成が可能。
システムの一部としてマネージドのelasticsearchの機能を利用する場合は
ハイブリッドタイプが現実的な解となる。

パブリッククラウドによるサービス差異

基本的にはない。

AWSとの関係

前提

AWSが提供している「Amazon Elasticsearch Service」は
上記に記載したelastic社の公式マネージドサービスではなくAWS独自のマネージドサービス。
公式のマネージドサービスもAWSでは利用できるので
AWSではelasticsearchのマネージドサービスが2種類存在していることになる。

サービスの変遷

以下の記事にあるようにelastic社のライセンス変更が発生している。
その結果Amazon Elasticsearch Serviceは
elastic社のライセンスに準ずることに難色を示し、
公式OSSの資材を今後直接的に利用できない道を歩むことになった。
→現在はelasticsearchの公式プロジェクトをフォークした別のプロジェクトにより構築されている。
今後サービス名は「Amazon OpenSearch Service」に改称予定。
https://www.publickey1.jp/blog/21/awselasticelasticsearchkibanaaws.html

Discussion