Amazon ElasticsearchとKibanaの概要、両者を組み合わせた場合の活用例について
最終更新日:2026年8月10日
この記事でわかること
はじめに
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |

今回はAmazon Elasticsearch Service(以後、AmazonES)とKibanaについてご紹介していきたいと思います。そもそもElasticsearchとはAWS独自のサービスではなく、Elastic社が提供する「Lucene」ベースとなる、ログ分析、リアルタイムのアプリケーションモニタリング、クリックストリーム分析などのユースケース向けのオープンソース全文検索エンジンです。そのElasticsearchをAWSのリソースに対して使いやすくUIを提供しているのがAmazonESとなります。KibanaはAmazonESの結果を出力するためのログデータ解析/可視化ツールです。Webブラウザ上で使用でき、リアルタイムのログ分析が可能となります。本記事ではまず両者は何なのかを押さえたうえで、その使用例を紹介します。
【要注意】名称変更について
本記事で扱う「Amazon Elasticsearch Service(AmazonES)」は、2021年9月に「Amazon OpenSearch Service」へと名称が変更されています。これはElastic社によるElasticsearchのライセンス変更を受け、AWSがオープンソース版「OpenSearch」をベースに独自展開する形へ移行したためです。あわせてKibanaに相当する可視化ツールも「OpenSearch Dashboards」という名称になっています。基本的な仕組みや操作感は本記事で解説する内容から大きくは変わっていませんが、これから導入を検討する場合は名称も含め最新の情報をAWS公式サイトでご確認ください。
全文検索とは
Elasticsearchが全文検索エンジンであることは前述したとおりですが、全文検索とは何なのでしょうか。「全文検索」の「全文」とは、「全ての文字」という意味で、複数の文書ファイルの中に含まれている全ての文字を対象として、その中から何かを探すということになります。サクラエディタなどを使用し大量のソースコードをgrepして、各ソースファイルの該当の関数が書かれている行の一覧を取得する、これは全文検索といえると思います。ただ全文検索とはgrepのように逐次的に検索するものだけではありません。全文検索技術には、大別して「逐次検索」(例:grepなど)、もう一つ「索引」を用いての全文検索があります。逐次検索はひとつずつチェックする分、検索の精度は高いものの、検索する対象が増えると当然ながらそれだけ時間が多くかかってしまいます。一方索引を用いた検索では、この速度の問題を解決できます。索引とは、ある文書の中の文字列や事項(国・地域・人名…etc)などを、簡単に探し出せるように抽出して並べた表のことを言います。コンピュータ用語としては「インデックス」と呼ばれます。検索の対象となる複数の文書ファイルをあらかじめ中身をチェックしておき、その内容を記した索引データを準備することで余計なパフォーマンスをかけずに効率的に検索することができます。Webサイトの検索エンジンはクローリングし、インデックスしていますが、これを行っているといえるでしょう。ただ当然ではありますが索引データを作成する処理は、検索の前に事前におこなっておく必要があり、その際には負荷の高い処理になるということに注意しておく必要があります。
N-Gramと形態素解析
索引を作成する手法として、N-Gramと形態素解析があります。両者の大きな違いは、「転置インデックスの見出し語をどのように作るか」というプロセスが異なる点です。書籍(専門書など)の巻末にある索引は,本における転置インデックスといえます。巻末には通常,キーワード(単語)とそのキーワードが出てくるページが記載されています。キーワードはアイウエオ順やアルファベット順に並べられているので、探したいキーワードを簡単に見つけることができ,そのキーワードがどのページで言及されているかが一発でわかります。この本の索引がまさに転置インデックスであり、見つけたいキーワードを索引から探す処理が検索処理そのものとなります。形態素解析は構文解析を行って分かち書きを行うのに対して,N-gramでは機械的にN文字の文字列片に分けるという処理となります。
AmazonESの特徴
Elasticsearchの特徴としては、Elastic社が開発しているLuceneベースの全文検索エンジンであり、RESTful APIでCRUD操作可能(様々なシステムと連携しやすい)、分析機能が豊富(後述するKibanaとの連携)、クラスタ、スケーリングが簡単、N-Gramと形態素解析(kuromoji)の両方が使用可能、となります。Amazon ESは、AWS クラウドの Elasticsearch クラスターを、簡単にデプロイ、運用、スケールするマネージド型サービスです。AmazonESは本家ElasticCloudのElasticsearchサービスとは同じ機能は持っておらず、機能が限定されています。ただAWSの機能の一つとなっているため、他のAWSサービスとの連携は優れています。
Kibanaとは
Kibanaは AmazonES(データベース)に対するフロントエンドでデータのビジュアライズを行います。基本的には時系列データを扱うことを主目的にしています。幾つかの形式のグラフ描画をサポートしていてGUIで設定するだけでグラフを作成できることを特徴としています。
活用の具体例
活用例の一つとして、SNS(旧Twitter、現X)との連携が考えられます。LambdaでSNSのAPIを介して取得した投稿データを、Amazon Comprehend(AWS の提供する自然言語処理(NLP)サービス、文章を入力として与えることで、エンティティやキーフレーズ、主要言語の検出ができたり、感情分析や構文分析、トピックモデリングができる)を利用し、投稿の感情分析(ポジネガ分析)を行いつつ、AmazonESとKibanaでタグクラウドなどを用い、投稿の傾向などを可視化するというものです。またもう一つの例としては、AmazonESと Kibana を使用したカスタマーサポートのコールの分析に役に立つかもしれません。コールセンターというのは日々の膨大な問い合わせ記録を継続的に保存し、かつリアルタイムのコール状況などを可視化して運営しているものですが、これにAmazon Transcribe(音声をテキストに自動変換する)、Amazon Comprehend、AmazonES、Kibanaを組み合わせ分析することで、従業員が通話記録を聴き、各問い合わせの件名をメモし、顧客とのやり取りが肯定的であったかどうかを判断する作業を自動化し、また結果を可視化できる可能性があります。
押さえておきたいポイント
- Amazon Elasticsearch Service(AmazonES)は2021年9月にAmazon OpenSearch Serviceへ名称変更されており、Kibanaに相当する可視化ツールもOpenSearch Dashboardsという名称になっている。
- 全文検索には「逐次検索」と「索引(インデックス)を用いた検索」があり、大規模なデータを高速に検索するには索引方式が有効。索引作成の手法としてN-Gramと形態素解析があり、それぞれ検索精度や未知語への対応力に違いがある。
- Amazon Comprehend・Amazon Transcribeなど他のAWS AIサービスと組み合わせることで、SNS投稿の感情分析やコールセンターの通話記録分析など、幅広い可視化・分析ソリューションを構築できる。
よくある質問
Amazon Elasticsearch Service(AmazonES)と現在のAmazon OpenSearch Serviceは何が違うのですか?
名称やベースとなるOSSの提供元は変わりましたが、マネージド型の全文検索・分析基盤としての基本的な役割は共通しています。2021年のElastic社によるライセンス変更を機に、AWSがOSSの「OpenSearch」をベースに独自展開する形になったため、これから利用する場合は最新のサービス名・対応バージョン・機能差分をAWS公式サイトで確認することをおすすめします。
KibanaとOpenSearch Dashboardsはどう違いますか?
OpenSearch DashboardsはKibanaのOSS版をベースにAWSが開発を引き継いだ可視化ツールで、グラフ作成やダッシュボード機能など基本的な操作感はKibanaを踏襲しています。現在のOpenSearch環境ではOpenSearch Dashboardsが標準の可視化ツールとして提供されています。
N-Gramと形態素解析はどちらを選べばよいですか?
日本語のように単語の区切りが明確でない言語では、形態素解析(kuromojiなど)の方が検索精度の高い結果を得やすい一方、辞書に依存しない分、N-Gramは未知語や表記ゆれにも対応しやすいという特徴があります。用途や扱う言語の特性に応じて使い分けたり、両方を組み合わせて使うケースもあります。
おわりに
今回はAmazonESとKibanaの概要と、そして使用例を簡単に説明しました。AmazonESとKibanaの組み合わせは、他のAWSのサービスとも連携して、様々なソリューションを生み出すことができる大変便利な機能となっています。ぜひこの機会に導入を検討してみてはいかがでしょうか?
▼ アクロビジョンについて


