CData Software Blog

クラウド連携のCData Software の技術ブログです。

Elastic Cloud のトライアル環境構成とElasticsearch REST API へのアクセス方法

こんにちは。CData Software Japan リードエンジニアの杉本です。

今日は エンタープライズ検索のアプリケーションとして有名な Elasticsearch を Elastic Cloud を使って環境をホスティングする方法、および構成後に Elasticsearch REST APIにアクセスする方法(Postman・CData Drivers)を紹介したいと思います。

Elasticsearch とは?

Elasticsearch は Apache Lucene を基盤として構築されたオープンソースの RESTful 分散検索/分析エンジンです。

https://www.elastic.co/jp/

f:id:sugimomoto:20200403120138p:plain

オープンソースとしても提供されていますが、 Elastic社が提供する Elastic Cloud を用いることでAWS・Azure・GCPクラウド上でPaaSライクに環境をホスティングすることが可能になっています。

AWSなどでもマネージドなPaaSサービスとして Amazon Elasticsearch Service なども提供されています。

f:id:sugimomoto:20200403120145p:plain

今回は Elastic Cloud での環境構築方法を解説します。

手順

Elastic Cloudのトライアル開始

Elastic Cloud は14日間のトライアルを利用可能です。トライアルは以下のURLにアクセスして開始します。

https://www.elastic.co/jp/downloads

f:id:sugimomoto:20200403120202p:plain

まずはアカウント登録を行います。以下のボックスにメールアドレスを入力し「トライアルを始める」をクリックの上、いくつかの設問に回答すればOKです。

f:id:sugimomoto:20200403120207p:plain

確認メールが届くので、メールアドレスの確認を完了し、パスワードを設定するとElastic Cloud のアカウントが作成されます。

f:id:sugimomoto:20200403120213p:plain

パスワード設定後、環境構築を開始します。「Start your free trial」をクリックし

f:id:sugimomoto:20200403120219p:plain

任意の設定で環境を構築します。

今回はAWS上でJapanリージョンの環境を構築しました。バージョンや構成は任意のものを選択してください。選択後、「Create Deployment」ボタンをクリックすれば、環境が構成されます。簡単でとてもいいです。

f:id:sugimomoto:20200403120226p:plain

環境構築開始後、REST API へのアクセスやKibanaへのログイン情報としてUsernameとPasswordが表示されるので忘れずに控えておきましょう。

f:id:sugimomoto:20200403120235p:plain

Kibanaでサンプルデータを作成

環境構築後、APIを試すためにサンプルデータを登録したいと思います。

TOP画面から構成した環境を選択し、Kibanaを立ち上げます。

f:id:sugimomoto:20200403120241p:plain

Kibanaにログインすると、以下のような画面が表示されるので「Try our sample data」を選択します。

f:id:sugimomoto:20200403120246p:plain

Kibanaでは3種類のサンプルデータを利用できます。今回はWeb site Logのサンプルデータを登録しました。

f:id:sugimomoto:20200403120252p:plain

登録したサンプルデータを確認してみます。ここはGIFアニメで撮影しました。

Index名は「kibana_sample_data_logs」で生成されています。DevToolsでREST APIを叩いてみると、正常にサンプルデータが登録されていることが確認できました。

https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/CDataBlog/elastic.gif

外部から REST API へのアクセス

それでは、外部からこのElasticsearchのREST APIにアクセスしてみたいと思います。

今回は「Postman」から試してみました。

外部からアクセスする場合は、Elastic Cloud のTOPページからEndpoint URLをコピーします。

f:id:sugimomoto:20200403120308p:plain

Postmanを立ち上げて、「GET」メソッドで取得したエンドポイントを使ってURL「https://225b199641544596a4feacbf40ae0ccf.ap-northeast-1.aws.found.io:9243/_search」を組み立てます。

認証はBasic認証で接続できます。「Authorization」タブから「Basic Auth」を選択し、Kibanaへログインする時に利用したUsernameとPasswordを指定します。

f:id:sugimomoto:20200403120315p:plain

あとは「Send」でリクエストを実行すれば、以下のようにRESTAPIにアクセスできます。

f:id:sugimomoto:20200403120321p:plain

URLを「https://225b199641544596a4feacbf40ae0ccf.ap-northeast-1.aws.found.io:9243/kibana_sample_data_logs/_search」に指定することでKibanaで作成したサンプルデータにもアクセスできました。

f:id:sugimomoto:20200403120326p:plain

CData Drivers で Elasticsearch にアクセス

続いて、CData Drivers から Elasticsearch にアクセスしてみます。

https://www.cdata.com/jp/drivers/elasticsearch/

CData Drivers で Elastic Cloud の Elasticsearch にアクセスする場合は以下の4種類の項目を設定します。Port番号がデフォルトとは異なる点に注意してください。

ODBCでは以下のように設定します。

f:id:sugimomoto:20200403120333p:plain

JDBCなどの接続文字列の場合は以下のようになります。

例)jdbc:cdata:elasticsearch:Server=https://225b199641544596a4feacbf40ae0ccf.ap-northeast-1.aws.found.io;Port=9243;User=elastic;Password=XXXX;

Power BI から Elasticsearch にアクセス

せっかくなのでODBC を使って Power BI から Elasticsearch にアクセスしてみました。

PowerBIを立ち上げて、データソースの一覧から「ODBC」を選択します。

f:id:sugimomoto:20200403120649p:plain

データソース名一覧から「CData Elasticsearch Source」を選択し

f:id:sugimomoto:20200403120724p:plain

Windows認証で接続を進めます。これで接続は完了です。

f:id:sugimomoto:20200403120736p:plain

あとは取り込みたいテーブルを選択するだけです。予めKibanaで作成したサンプルデータを選択してみました。これでPower BIにElasticsearch のデータをロードできます。

f:id:sugimomoto:20200403120810p:plain

取り込めた後は Power BI の機能で可視化することができます。

f:id:sugimomoto:20200403120945p:plain